汉堡361 2022-11-13 23:17 采纳率: 100%
浏览 14
已结题

数据库大设计,需要2008R2版本

包括数据库建立,视图,索引的创建命令,表中的数据增,删,改,查询的命令,存储过程的创建和使用命令

img

  • 写回答

1条回答 默认 最新

  • bingbingyihao 2022-11-13 23:40
    关注

    回答:主要你这也没有说明是哪个管理系统,那我就用我之前的那个人事管理系统吧,每个管理系统大体都差不多,到时候你按照你们自己的系统改一改字段进行;关于应用程序的设计方面,这个一般采用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#版本的运行截图

    img

    项目下载,就给一个网盘链接啦,采用的是Win form+SQL Server设计,界面方面结合了一个别人写好的框架,里面有那个dll,我也挺就没看了,在数据库设计方面应该可以对你有一些帮助
    链接:https://pan.baidu.com/s/1DrR7S9SuzgJsjXzOW8zd7Q
    提取码:0925

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月21日
  • 已采纳回答 11月21日
  • 修改了问题 11月13日
  • 创建了问题 11月13日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程