员工管理系统数据库实习报告

时间:2024.4.20

1、概述

   随着企业发展规模的扩大,员工数量的增加,传统的人事管理方式已不能满足现代企业的发展要求,比如,在员工信息管理方面,如果以账本的方式进行查找和更新,效率会非常低下,而且容易出错,于是,为了提高管理效率,便产生了人事管理系统。

   通过该系统,人事管理员可以对各部门、各个岗位的职工信息进行管理,包括新员工信息的输入、员工的奖惩记录、加薪记录、调动记录、考勤和工资,员工也可以利用该系统进行资料编辑和查找。

   本系统基于C/S网络结构,适合在局域网和公司内部使用,数据库采用SQLServer2008 R2版本,数据库编程语言采用T-SQL语言,客户端采用C#语言编程。C#语言是微软开发的一种运行稳定、高效,使用方便的面向对象语言,并且其ADO.Net框架为我们提供了良好的数据访问类库,大大节省了开发时间。

2、需求分析

2.1 产品介绍

   产品名称:企业人事管理系统。

   产品用途:对企业各部门、各职位的的员工进行管理。

2.2产品面向的用户群体

   中小型企业的人事管理人员和员工。

2.3 系统用例图

图1:管理员用例图

图2:员工用例图

2.4 产品功能

  根据用户群体和系统用例图的分析,人事管理系统主要有以下几项功能要求:

(1)       新员工资料的输入。

(2)       自动分配员工号,并且设置员工的初始用户密码。

(3)       公司、部门、职位信息的增加和编辑。

(4)       记录员工奖惩情况。

(5)       记录员工调薪情况。

(6)       人事变动的详细记录,包括岗位和部门的调整。

(7)       员工的考勤情况记录。

(8)       员工工资的计算和输出。

(9)       系统初始设置和用户管理。

2.5数据库需求分析

    人事管理系统的数据主要涉及到员工、部门、职位等数据的输入、更新、删除、查询。为了更好的对员工信息进行管理,就需要弄清楚各个实体之间的对应关系以及详细的数据字典描述,为最终的数据库建立打下基础。

  通过对系统的功能分析,针对用户需求,总结出以下几点数据库需求:

(1)       一个员工有唯一的员工编号,编号由系统自动生成;

(2)       一个员工只能在一个部门的一个岗位上工作;

(3)       一个部门可以有多个员工也可以有多个职位;

(4)       不同部门可以设立相同职位,但相同职位不能出现在同一个部门;

(5)       一个员工可以从一个部门的某个岗位调到另一个部门的某个岗位,也可以调到相同部门的其它岗位;

2.6 E-R图

图3:系统E-R图

3、数据库逻辑设计

表3.1 员工表

表3.2  部门表

表3.3 职位表

表3.4 奖惩表

表3.5 调薪表:(调薪后,员工表基本工资就会变)

表3.6 职位调动表:(调动后员工表基本工资也会变)

表3.7 工资表:(根据其他表自动生成,管理员可以修改)

表3.8 考勤表:

表3.9 系统配置表:

3、用T-SQL实现数据库设计部分(建表和数据控制、查询实现的SQL语句)的代码拷贝来,写清楚每段代码程序的意义。

4、             

5、软件功能设计

6、界面设计

7、应用程序

  将程序中的关键代码放在此处。

8、实验数据示例,使用至少10组数据

  将数据放在此处。

9、心得

   写出完成本课程设计的心得,领会数据库理论与软件开发实践的关系。有哪些收获。软件还需要哪些改进。


第二篇:数据库实习报告-教务管理系统


数据库系统课程设计

学生姓名:  

班 学 号:

指导教师:  

洛阳理工学院

20## 6 17

教务管理系统

1、需求分析

1.1 信息要求:

教务管理系统涉及的实体有:

l  教师——工作证号、姓名、职称、电话等;

l  学生——学号、姓名、性别、出生年月等;

l  班级——班号、最低总学分等;

l  系——系代号、系名和系办公室电话等;

l  课程——课序号、课名、学分、上课时间及名额等。

这些实体之间的联系如下:

l  每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。

l  每个班的班主任都由一名教师担任。

l  一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课序号是唯一的)。

l  一名同学可以选多门课,一门课可被若干同学选中。

l  一名同学选中的课若已学完,应该记录有相应成绩。

l  本单位学生、教师都有重名,工作证号、学号可以作为标识。

1.2 处理要求:

教学系统主要提供数据维护、选课和信息查询。其中常见的查询有:系统中各对象的基本信息查询。 查询指定班、系的学生信息(名单、人数等)。查询学生的成绩、学分情况。查询教师授课情况和学生选课情况……。

1.3 安全性与完整性要求:

l  安全性要求:

1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;

2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;

3.系统应对不同用户设置不同的权限,区分不同的用户,如学生,教师,系统管理员。

l  完整性要求:

1.各种信息记录的完整性,关键信息记录内容不能为空;

2.各种数据间相互的联系的正确性;

3.相同的数据在不同记录中的一致性。

1.4 系统功能的设计和划分

根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分:

第一部分:用户管理部分

第二部分:管理员管理部分

各部分完成的功能如下:

1、用户管理部分

 1、处理用户注册

 2、处理用户登录

 3、用户可以查询学生信息。

 4、用户可以查询快件信息。

 5、用户可以提交与查询报修信息。

 6、用户可以插入与删除用户自己的离返校信息。

 7、用户可以修改用户自己密码。

2、管理员管理部分

 1、处理管理员登录

 2、管理员可以查询学生信息。

 3、管理员可以发布与更新快件信息。

4、管理员可以插入、修改与查询报修信息。

 5、管理员可以插入与查询学生夜归信息。

6、管理员可以查询在校与离校学生信息。

7、管理员可以修改管理员密码。

2、概念设计

(1)概念模型(E-R图)

(2)数据字典

a.数据项

b、数据结构

c、数据流

d、数据存储

e、处理过程

(3)数据流图

3、逻辑结构设计

E-R图向关系模型的转换(关系的码用下横线表出)

教师(工作证号,姓名,职称,电话,系代号)
代码表示:Teacher ( Tno, Tname, Title, Tel, Dno )
此为“教师”实体对应的关系模式。其中1:n联系“工作”与此关系模式合并,Dno为外码。存在的函数依赖为Tno → (Tname,Title,Tel,Dno),且不存在多值依赖,所以满足4NF。

学生(学号,姓名,性别,出生年月,班号)
代码表示:Student ( Sno, Sname, Ssex, Sbirth, Class )
此为“学生”实体对应的关系模式。其中1:n联系“属于”与此关系模式合并,Class为外码。存在的函数依赖为Sno → (Sname,Ssex,Sbirth,Class),且不存在多值依赖,所以满足4NF。

系(系代号,系名,系办公室电话)
代码表示:Department ( Dno, Dname, Dphone )
此为“系”实体对应的关系模式。存在的函数依赖为Dno → (Dname,Dphone),且不存在多值依赖,所以满足4NF。

课程(课序号,课名,学分,上课时间,名额,工作证号)
代码表示:Course ( Cno, Cname, Credit, Ctime, Cnum, Tno )
此为“课程”实体对应的关系模式。其中1:n联系“授课”与此关系模式合并,Tno为外码。存在的函数依赖为Cno → (Cname,Credit,Ctime,Cnum,Tno),且不存在多值依赖,所以满足4NF。

选课(学号,课序号,成绩)
代码表示:SC ( Sno, Cno, Grade )
此为m:n联系“选修”所对应的关系模式。Sno和Cno均为外部码。存在的函数依赖为完全函数依赖(Sno,Cno) → Grade,且不存在多值依赖,所以满足4NF。

班级(班号,最低总学分,工作证号,系代号)
代码表示:Class ( Class, TotalCredit, Tno, Dno )
此为“班级”实体对应的关系模式。其中1:n联系“属于”和1:1联系“负责”与此关系模式合并,Tno和Dno为外码。该关系模式中存在传递函数依赖:Class → Tno, (Tno  Class),Tno → Dno,可得Class  → Dno,故Class 不属于3NF。解决方法是将其模式分解为:Class ( Class, TotalCredit, Tno )和T-D( Tno, Dno),分解后的关系模式满足4NF,并且T-D与Teacher的码相同,可合并为同一模式。但是考虑到系统要经常进行系的学生信息查询,此时就不得不对Student、Class和Teacher三个表进行连接查询,而连接是影响查询效率的主要原因,所以取消对Class的模式分解。此时Class关系模式满足2NF

设计用户子模式

为了方便程序查询,建立了如下用户视图:

1、某系的学生信息视图(学号,姓名,性别,出生年月,班号)

2、某系的教师信息视图(工作证号,教师姓名,职称,电话,负责班级)

3、某课程的学生成绩单(学号,姓名,班级,成绩)

4、教师授课信息表(工作证号,教师姓名,职称,教授课程,学分,上课时间)

5、学生已选课表(课序号,课名,学分,授课教师,上课时间,名额)

4、物理设计

4.1  选择存取方法

1、数据库管理系统自动在每个表的主码上建立索引,通常为B + 树索引。

2、在Student表Sname列上建立Stu_name索引,因为查询操作很多都使通过学生姓名进行的。

3、在Teacher表Tname列上建立Tea_name索引,因为查询操作很多都使通过教师姓名进行的。

4.2  确定数据库的存储结构

1、为了提高系统性能,根据具体情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。

2、DBMS产品一般都提供了一些系统配置变量、存储分配参数,根据应用环境确定这些参数值,并且在系统运行时还要根据系统实际运行情况进行调整,以使系统性能最佳。

4.3  评价物理结构

根据所选用的DBMS,如SQL Server 2000,从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择一个较优的合理的物理结构。

5、系统实施

编写关系模式,载入数据。分期分批地组织数据入库,先输入小批量数据做调试用,待试运行基本合格后,再大批量输入数据,逐步增加数据量,逐步完成运行评价。需要注意的是,要首先调试运行DBMS的恢复功能,做好数据库的转储和恢复工作。

基本SQL语言代码如下:

CREATE SCHEMA "TeachAffair" AUTHORIZATION Gao

CREATE TABLE Department

  (Dno CHAR(3) PRIMARY KEY,     /*列级完整性约束条件,Dno是主码*/

   Dept CHAR(20) UNIQUE NOT NULL,

   Dphone CHAR(11),

  );

CREATE TABLE Teacher

  (Tno CHAR(6) PRIMARY KEY,     /*列级完整性约束条件,Tno是主码*/

   Tname CHAR(20) NOT NULL,

   Title CHAR(8),

   Tel CHAR(11),

   Dno CHAR(3),

   FOREIGN KEY (Dno) REFERENCES Department(Dno)  /*表级完整性约束条件,Dno是外码*/

  );

CREATE TABLE Class

  (Class CHAR(6) PRIMARY KEY,     /*列级完整性约束条件,Class是主码*/

   TotalCredit NUMERIC(4,1),

   Tno CHAR(6),

   Dno CHAR(3),

   FOREIGN KEY (Tno) REFERENCES Teacher(Tno),     /*表级完整性约束条件,Tno是外码*/

   FOREIGN KEY (Dno) REFERENCES Department(Dno)  /*表级完整性约束条件,Dno是外码*/

  );

CREATE TABLE Student

  (Sno CHAR(11) PRIMARY KEY,     /*列级完整性约束条件,Sno是主码*/

   Sname CHAR(20) NOT NULL,

   Ssex CHAR(2),

   Sbirth DATETIME,

   Class CHAR(6),

   FOREIGN KEY (Class) REFERENCES Class(Class)   /*表级完整性约束条件,Class是外码*/

  );

CREATE TABLE Course

  (Cno CHAR(6) PRIMARY KEY,     /*列级完整性约束条件,Cno是主码*/

   Cname CHAR(20) NOT NULL,

   Credit NUMERIC(2,1),

   Ctime DATETIME,

   Cnum SMALLINT,

   Tno CHAR(6),

   FOREIGN KEY (Tno) REFERENCES Teacher(Tno)  /*表级完整性约束条件,Tno是外码*/

  );

CREATE TABLE SC

  (Sno CHAR(11) NOT NULL,

   Cno CHAR(6) NOT NULL,

   Grade SMALLINT CHECK(Grade>=0 AND Grade<=100),

   PRIMARY KEY (Sno, Cno),        /*主码由两个属性构成,必须作为表级完整性进行定义*/

   FOREIGN KEY (Sno) REFERENCES Student(Sno) /*表级完整性约束条件,Sno是外码*/

      ON DELETE CASCADE   /* 当删除Student表中的元组时,级连删除SC表中相应的元组*/

      ON UPDATE CASCADE,   /*当更新Student表中的Sno时,级连更新SC表中相应的元组*/

   FOREIGN KEY (Cno) REFERENCES Course(Cno) /*表级完整性约束条件,Sno是外码*/

      ON DELETE NO ACTION    /* 当删除Course表中的元组造成了与SC表不一致时,拒绝删除*/

      ON UPDATE CASCADE,   /*当更新Course表中的Cno时,级连更新SC表中相应的元组*/

  );

/*DROP TABLE SC;*/

/*建立索引*/

CREATE UNIQUE INDEX Stu_name ON Student(Sname);

CREATE UNIQUE INDEX Tea_name ON Teacher(Tname);

CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC);

/*查询某个系(以GIS为例)的学生信息*/

CREATE VIEW GIS_Student     /*建立某个系(以GIS为例)的学生信息视图*/

AS

SELECT *

FROM Student

WHERE Class IN

     (SELECT Class

      FROM Class

      WHERE Dname='GIS')

WITH CHECK OPTION;

SELECT *

FROM GIS_Student;

SELECT COUNT(*)

FROM GIS_Student;

/*查询班级的学生信息*/

SELECT Sno, Sname, Ssex, Birth

FROM Student

WHERE Class = '114072';

SELECT COUNT(*)

FROM Student

WHERE Class='114072';

/*查询学生的成绩、学分*/

SELECT SC.Cno, Cname, Credit, Grade

FROM Course, SC

WHERE Sno = '20071000500' AND SC.Cno=Course.Cno;

SELECT SUM(Credit)

FROM SC,Course

WHERE Sno='20071000500' AND SC.Cno=Couse.Cno;

/*查询教师授课信息*/

SELECT Course.*

FROM Course

WHERE Tno='100123';

SELECT Student.Sno,Sname,Class,Grade

FROM Course,SC,Student

WHERE Tno='100123' AND

      Course.Cno=SC.Cno AND

      SC.Sno=Student.Sno;

6、运行维护

1、针对不同的应用要求制定不同的转储计划,一旦发生故障尽快将数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏;

2、根据实际情况修改数据库原有的安全性、完整性控制;

3、在数据库运行过程中,监督系统运行,对监测数据进行分析,找出改进系统性能的方法;

4、数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低数据的存取效率,数据库性能下降。这时应按原设计要求重新安排存储位置、回收垃圾、减少指针链等,提高系统性能。当原有的数据库设计不能满足新的需求,需要重构造数据库,调整数据库的模式和内模式。

7、用户手册

(<五号宋体>,具体内容:使用、操作说明。)

8、附录

(<五号宋体>,源程序清单和结果:源程序必须有注释,以及必要的测试数据和运行结果数据,提倡用英文描述。)

更多相关推荐:
数据库实习实习报告

中原工学院经济管理学院数据库应用实习实习报告专业:信息管理与信息系统目录一、前言3二、实习目的与要求3三、实习内容与过程41、需求分析42、数据库的设计53、应用程序设计74、编程实现85、系统实现86、在实习…

数据库实习报告

数据库实习报告目录1前言2实习时间3实习内容及过程A主要写实习过程中遇到的问题及解决的过程B内容和过程应该是具体的是你具体做了些什么C不允许在报告中出现大量截图4实习感想或心得与实习内容要对应5最后附2张白纸老...

数据库实习报告

***********大学本科生实习报告书教学单位****学院专业***********班级***********学生姓名学号指导教师

数据库实习报告模板

数据库系统及应用实训报告设计题目学生姓名系别专业班级学号指导教师年日月目录一概述11项目背景312课程设计目的313题目名称314开发环境3二需求分析21基本要求422实现的方法4三数据库设计31概念模型设计4...

数据库实训报告

数据库实训报告专业计算机科学与技术班级计091姓名xxx任课教师20xx年11月5日1目录第一章概述311引言312摘要3第二章需求分析321功能分析322性能分析423可靠性和可用性需求424出错处理要求42...

数据库实习报告

苏州科技学院环境学院课程名称数据库实习实习报告专业班级学号姓名实习地点指导教师20xx年7月数据库实习报告书写内容要求一实习项目名称DOTA屌丝玩家管理系统二实习内容1系统技术路线这次实习中使用到了SQLSer...

数据库实习报告

目录前言2二实习时间3三实习软件平台简介331SQLServer20xx332VisualC604四设计内容及过程541系统设计5411系统功能分析5412系统功能模块设计542数据库设计6421数据库需求分析...

数据库实验报告(SQL)

SQLServer实验报告学号姓名专业信息管理与信息系统目录实训一数据库的基本操作实训二表实训三数据完整性实训四索引实训五数据查询实训六视图实训七TransactSQL程序设计实训八存储过程实训九触发器实训十S...

(实训报告)数据库技术课程设计仓库管理系统

数据库技术课程设计题目姓名学号班级时间目录1需求分析1111仓库管理系统的功能分析112仓库管理系统的功能图22概念结构设计33逻辑结构设计54数据库设计541数据库和各表的创建6411数据表结构设计6412创...

20xx文献检索实习报告外文数据库

文献检索课程检索报告课题名称文献检索检索人徐晓东检索日期20xx529检索完成日期文献检索课程检索报告卷图书馆中文电子资源必检数据库或信息资源系统1CNKI期刊全文数据库2CNKI中国优秀博士学位论文库中国优秀...

数据库检索实习报告(5份)

数据库检索实习报告一实习目的初步了解计算机中的数据库检索工具检索方法二实习方式计算机检索三实习地点电子阅览室四实习内容1检索课题单片机防盗报警系统设计2主题词单片机3检索系统万方数据库4检索范围全部5时间范围2...

大型数据库 图书管理系统实习报告

目录一摘要11项目背景212课程设计目的213题目名称214开发环境2二需求分析21基本要求322实现的方法3三数据库设计31数据库概念结构设计332数据库逻辑结构设计433数据库物理设计4四数据流图及程序结构...

数据库实习报告(29篇)