包括数据库建立,视图,索引的创建命令,表中的数据增,删,改,查询的命令,存储过程的创建和使用命令
回答:主要你这也没有说明是哪个管理系统,那我就用我之前的那个人事管理系统吧,每个管理系统大体都差不多,到时候你按照你们自己的系统改一改字段进行;关于应用程序的设计方面,这个一般采用Java编写,前后端分离开发,当然,你们采用Win form进行设计也是可以的,就是需要考虑SQL注入问题,解决的话可以采用C#的Entityframework,一个类似mybatis的快速构建dao层的框架;上述要求中包括,基本数据库数据表的建立,索引,视图,完整性要求等,还有存储过程,下面这个脚本中都包括,就是需要改成你们自己的字段;最后这个只作为参考,在修改借鉴方面肯定也需要一定的功夫,加油学习。
create database EmployeeManage;
use EmployeeManage;
--Department表
create table Department(
department_name varchar(50),
employee_number varchar(50),
constraint PK_department_name primary key(department_name)
);
--Duty表
create table Duty(
duty_name varchar(50),
department_name varchar(50),
constraint PK_duty_name primary key(duty_name)
);
--Jobtitle表
create table Jobtitle(
jobtitle_name varchar(50),
constraint PK_jobtitle_name primary key(jobtitle_name)
);
--Employee表
create table Employee(
employee_id varchar(50),
employee_name varchar(50),
department_name varchar(50),
duties_name varchar(50),
jobtitle_name varchar(50),
constraint PK_employee_id primary key(employee_id)
);
--StudyExperience表
create table StudyExperience(
employee_id varchar(50),
employee_name varchar(50),
study_time varchar(50),
study_describtion varchar(50),
constraint PK_study_experience primary key(employee_id, study_time)
);
--WorkExperience表
create table WorkExperience(
employee_id varchar(50),
start_time varchar(50),
end_time varchar(50),
company_name varchar(50),
work_describtion varchar(500),
constraint PK_work_experience primary key(employee_id, start_time, end_time)
);
--FamilyRelationship表
create table FamilyRelationship(
employee_id varchar(50),
employee_name varchar(50),
relationship_name varchar(50),
family_name varchar(50),
constraint PK_family_relationship primary key(employee_id, relationship_name)
);
--AwardInfo表
create table AwardInfo(
employee_id varchar(50),
award_type varchar(50),
award_time varchar(50),
award_describtion varchar(500),
constraint PK_award_info primary key(employee_id, award_time)
);
视图:
create view EmployeeView
as
select employee_id, employee_name, department_name, duties_name from Employee;
存储过程:
create procedure Proc_DepartmentEmployeeNumber
@Proc_DepartmentName varchar(50)
as
select COUNT(*) from Department group by department_name;
执行(使用)
exec Proc_DepartmentEmployeeNumber
@Proc_DepartmentName = '123';
触发器:(触发器的语句只能一条一条执行,如果加上go语句进行分隔的话,应该可以多条执行)
create trigger T_DML_AddDepartmentEmployeeNumber
on Employee
after insert
as begin
update Department set employee_number = employee_number + 1
where Department.department_name in (select department_name from inserted)
end;
create trigger T_DML_DecreaseDepartmentEmployeeNumber
on Employee
after delete
as begin
update Department set employee_number = employee_number - 1
where Department.department_name in (select department_name from deleted)
end;
create trigger T_DML_ChangeDepartmentEmployeeNumber
on Employee
after update
as begin
update Department set employee_number = employee_number - 1
where Department.department_name in (select department_name from deleted)
update Department set employee_number = employee_number + 1
where Department.department_name in (select department_name from inserted)
end;
这是C#版本的运行截图
项目下载,就给一个网盘链接啦,采用的是Win form+SQL Server设计,界面方面结合了一个别人写好的框架,里面有那个dll,我也挺就没看了,在数据库设计方面应该可以对你有一些帮助
链接:https://pan.baidu.com/s/1DrR7S9SuzgJsjXzOW8zd7Q
提取码:0925