数据库实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、需求分析

需包含内容为:

(1) 问题描述:工资管理系统是企业里,事业单位常见的计算机信息管理系统。它

的主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总,快速打印出报表。在建立与实现工资管理系统时,应进行功能划分,能够由数据库管理系统完成的功能应尽可能由数据库管理系统守成,这样才能够充分发挥数据库管理系统高效、完全、可靠、便捷的性能,减少编程人员的工作量。

工资管理系统是数据库管理系统的一个比较典型的应用,它具有大多数数据库应用系统的特征,包含了教材中所涉及的大多数SQL Server数据库对象。在进行课程设计时,应尽可能地使用SQL Server的功能完成功能设计。

作为计算机应用的一部分,使用计算机对员工档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生档案管理的效率,也是企业向科学化、正规化管理发展的必要条件。

(2)系统功能描述:此部分分为三个模块分别是:员工信息管理、员工工资管理、部

门信息管理分别对应其增删查改功能。

二、概念设计

2.1 员工基本信息表(Employee)

员工编号eno char(6) 姓名ename char(10) 性别sex char(2)电话etel char(11)出生年月birth smalldatetime 参加工作时间work_date int

所属部门department char(8) 职务position 政治面貌political 婚姻状况marry

2.2 员工工资信息(Ewage)

员工编号eno char(6) 员工姓名ename 基本工资wpay char(6) 岗位工资wpost char (6)住房补贴whouse char(6)

津贴wallowance char(8) 工会会费wdues char(6) 养老保险wylbx char(10) 奖惩wjiangcheng 住房公积金wfund char(6) 水电费wcost char(8)

2.3部门信息表(Department)

姓名ename char(10) 部门编号dno char(6) 部门名称dname char(8) 部门负责人dhead char(10) 部门人数dnumber varchar(4)

E-R 图员工基本信息E_R 图

员工工资信息E_R图

部门信息

三、逻辑结构设计

(1)模式设计:按系统整体E-R模型,写出关系模式;并利用数据字典加以描述。

(如每个关系模式有何属性、属性的类型、属性值的长度、是否可取空值、是否为主码、

(2)子模式设计:即针对自己的设计模块的应用需定义什么样的视图表结构;并利用数据字典加以描述。

(如每个关系子模式有何属性、属性的类型、属性值的长度、是否可取空值、是否为主码、有何约束条件等信息)

A.员工基本信息表Employee其字段说明如表3.21所示

表3.21员工基本信息表

B.员工工资信息表Ewage其字段说明如表3.23所示

表3.23 课程信息表

C.部门信息表Department其字段说明如表3.24所示:

表3.24 部门信息表

D.员工考勤表Kaoqinbiao其字段说明如表3.25所示:

表3.25.员工考勤表

E.用户注册表User其字段说明如表3.26所示:

表3.26 用户注册表

四、数据库的物理设计

为了提高在表中搜索元组的速度,在实际实现的时候应该基于某些属性建立索引。

给出所建立的索引。(包括按哪些表中哪些属性按升序还是降序来创建索引及相应的SQL 的创建语句)。

五、数据库设计实现及运行

(1)数据库的创建

SQL语句:

if exists (select 1

from sysobjects

where id = object_id('"CLR Trigger_student"')

and type = 'TR')

drop trigger "CLR Trigger_student"

go

if exists (select 1

from sysobjects

where id = object_id('td_student')

and type = 'TR')

drop trigger td_student

go

if exists (select 1

from sysobjects

where id = object_id('ti_student')

and type = 'TR')

drop trigger ti_student

go

if exists (select 1

from sysobjects

where id = object_id('tu_student')

and type = 'TR')

drop trigger tu_student

go

if exists (select 1

from sysobjects

where id = object_id('"CLR Trigger_stte"') and type = 'TR')

drop trigger "CLR Trigger_stte"

go

if exists (select 1

from sysobjects

where id = object_id('td_stte')

and type = 'TR')

drop trigger td_stte

go

if exists (select 1

from sysobjects

where id = object_id('ti_stte')

and type = 'TR')

drop trigger ti_stte

go

if exists (select 1

from sysobjects

where id = object_id('tu_stte')

and type = 'TR')

drop trigger tu_stte

go

if exists (select 1

from sysobjects

where id = object_id('exam')

and type = 'U')

drop table exam

go

相关文档
最新文档