默认
默认
《SQLServer数据库程序设计》
实训报告
班级: 计算机网络技术A班 学号: 1606070142 姓名: 陈鉴源
指导老师: 彭康华 实训日期:
【实训目的】:
熟悉数据库设计的步骤和方法;
学会绘制E-R图;
学会将E-R图转换成关系模型,并根据规范化理论进行优化;
学会根据关系模型确定数据表和表中的字段,并建立完整性约束。
【实训内容】:
一、个人实训部分
设某图书管理数据库中有三个实体集。一是“图书”实体集,属性有图书编号、书名、作者、价格、种类、ISBN、索书号、出版社、出版日期、馆藏地点等;二是“读者”实体集,属性有借书证号、姓名、性别、单位、类别、电话、电子邮件等;三是“管理员”实体集,属性有员工号、姓名、密码等。
图书和读者间存在“借阅”联系,每个读者可借阅多本图书,每种图书也可被多个读者借阅,每位读者每次借阅一本图书,有借书日期和还书日期;管理员与图书间存在着“管理图书”联系,每个管理员可以管理多种图书,每种图书可被多名管理员管理,管理员每次管理图书有变更日期和变更情况等;管理员和读者间存在着“管理读者”联系,管理员可管理多名读者,一名读者可被多位管理员管理,管理员每次管理读者,有办证日期、使用期限、注销日期等。
1.试画出E-R图,并在图上注明属性、联系的类型。
步骤:
(1)确定实体集,请完善下列图2-10~图2-12各实体集的E-R图。
图2-10“图书”实体集E-R图
图2-11“读者”实体集E-R图
图2-12“管理员”实体集E-R图
(2)确定实体之间的联系及其类型(1:1、1:n、m:n),请完善下图2-13。
图2-13图书管理数据库实体集联系图
(3)生成初步E-R图,请完善下图2-14。
图2-14 图书管理数据库E-R图
2.将E-R图转换成关系模型,并根据规范化理论进行优化。下列为未完成的关系模型,请补充以下空格内容完善关系模型。
图书(图书编号,索书号,书名,作者,价格,种类,ISBN,出版社,出版日期,馆藏地点),主键:图书编号;
读者(借书证号, 姓名 ,性别,单位,类别,电话,电子邮件),主键: 借书证号 ;
管理员( 员工号 , 姓名 , 密码 ),主键: 员工号 ;
借阅表(编号,索书号,借书证号, 姓名 , 借书时间 ),主键:编号;
图书管理(图书编号,员工号,变更日期,变更情况);
读者管理( 借书证号 , 姓名, 借出日期 ,归还日期 , )
3.在关系模型的基础上,确定其数据表和表中的字段,并建立约束,以保证数据的完整性和一致性。请参考已完成的数据表2-16和表2-20,补充以下空格内容,完成其他数据表。
表2-16图书表:用来存储图书的基本信息
字段名称 |
数据类型 |
长度 |
说明 |
图书编号 |
char |
15 |
主键 |
索书号 |
varchar |
50 |
不可为空 |
书名 |
varchar |
100 |
不可为空 |
作者 |
varchar |
100 |
不可为空 |
价格 |
Money |
|
不可为空 |
种类 |
char |
20 |
不可为空 |
ISBN |
char |
13 |
不可为空 |
出版社 |
varchar |
50 |
不可为空 |
出版日期 |
datatime |
|
不可为空 |
馆藏地点 |
Varchar |
50 |
|
表2-17读者表:用来存储读者的基本信息
字段名称 |
数据类型 |
长度 |
说明 |
借书证号 |
char |
30 |
不可为空 |
姓名 |
Varchar |
50 |
不可为空 |
性别 |
char |
2 |
|
单位 |
varchar |
100 |
不可为空 |
类别 |
char |
6 |
不可为空 |
电话 |
char |
15 |
|
电子邮件 |
varchar |
50 |
|
表2-18管理员表:用来存储管理员的基本信息
字段名称 |
数据类型 |
长度 |
说明 |
员工号 |
char |
15 |
不可为空 |
姓名 |
char |
8 |
不可为空 |
密码 |
char |
|
不可为空 |
表2-19借阅表:用来存储借还书信息
字段名称 |
数据类型 |
长度 |
说明 |
编号 |
int |
|
主键 ,标识列 |
索书号 |
Varchar |
50 |
外键,参照书籍表 |
借书证号 |
char |
30 |
外键,参照读者表 |
书名 |
char |
|
不可为空 |
借书时间 |
datatime |
|
|
表2-20图书管理表:用来存储管理员对图书进行管理的信息
字段名称 |
数据类型 |
长度 |
说明 |
图书编号 |
char |
15 |
外键,参照书籍表 |
员工号 |
char |
15 |
外键,参照管理员表 |
变更日期 |
datetime |
|
主键 |
变更情况 |
text |
|
|
表2-21读者管理表:用来存储管理员对读者进行管理的信息
字段名称 |
数据类型 |
长度 |
说明 |
借书证号 |
char |
30 |
不可为空 |
姓名 |
char |
8 |
不可为空 |
借出时间 |
datetime |
|
不可为空 |
|
int |
|
不可为空 |
归还时间 |
datetime |
|
|
二、小组实训部分
(一)确立小组本学期课堂实践的数据库主题。可以把设计数据库主题的构思以文字的形式进行简要描述。
(二)根据以上描述,完成以下任务:
1.试画出E-R图,并在图上注明属性、联系的类型。
2.将E-R图转换成关系模型,并根据规范化理论进行优化。
3.在关系模型的基础上,确定其数据表和表中的字段。
小组分工:
(一)陈鉴源
(二)
1.陈源扬
2.陈鉴源
3.何绵奇
(一)
经过相关人员调查、历史数据查询、观摩实际的运作流程并进行需求分析,得出人事数据库管理系统的具体需求如下:人事数据库管理系统主要完成查询员工是否出勤与薪金的功能,主要包括员工基本信息管理模块;员工薪金组成管理模块;考勤管理模块。员工基本信息管理模块实现添加员工基本信息、修改和删除员工信息;员工薪金组成管理模块实现记录员工在周期内底薪加提成、因出勤问题所导致的工资扣除的总和;考勤管理系统实现记录员工出勤情况。
(二)
2.
员工(员工号、部门名称、姓名、性别、出生日期、家庭地址、联系电话、电子邮件),主键:员工号
考勤(编号、全勤、请假、旷工、迟到)主键:编号
工资(编号、底薪、提成、扣除)主键:编号
员工管理(员工号、部门名称、姓名)主键:员工号
工资管理(编号、总金额)
3.
员工表(用来存储员工的基本信息)
字段名称 |
数据类型 |
长度 |
说明 |
员工号 |
char |
9 |
主键 |
姓名 |
char |
8 |
不可为空 |
性别 |
bit |
|
“0”代表男员工,“1”代表女员工 |
部门 |
varchar |
50 |
不可为空 |
出生日期 |
datetime |
|
|
家庭住址 |
varchar |
100 |
|
联系电话 |
char |
12 |
不可为空 |
电子邮件 |
varchar |
50 |
不可为空 |
考勤表(用来存储员工的基本信息)
字段名称 |
数据类型 |
长度 |
说明 |
全勤 |
Char |
50 |
不可为空 |
请假 |
Char |
50 |
不可为空 |
旷工 |
Char |
50 |
不可为空 |
迟到 |
char |
50 |
不可为空 |
编号 |
Char |
9 |
不可为空 |
工资表(用来存储员工薪资的基本信息)
字段名称 |
数据类型 |
长度 |
说明 |
底薪 |
Char |
50 |
|
提成 |
Char |
50 |
|
扣除 |
char |
50 |
|
编号 |
Char |
9 |
不可为空 |
员工管理表(用来存储员工的基本信息)
字段名称 |
数据类型 |
长度 |
说明 |
员工号 |
Char |
9 |
不可为空 |
部门名称 |
Char |
50 |
不可为空 |
姓名 |
char |
8 |
不可为空 |
工资管理表(用来存储员工薪资的基本信息)
字段名称 |
数据类型 |
长度 |
说明 |
编号 |
Char |
9 |
不可为空 |
总金额 |
Char |
50 |
|