参考资料--综合实验报告格式
-
华北科技学院计算机系综合性实验
实 验 报 告
课程名称 数据库系统 实验学期 2010 至 2011 学年 第 2 学期 学生所在系部 计算机系
专业班级 网络工程B092 年级 09
学生姓名 朱时盟 学号 200907024213 任课教师 郭红
实验成绩
计算机系制
华北科技学院计算机系综合性实验报告
实验报告须知
1、 学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。 2、 学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、
内容、结果及分析等。
3、 教师应该填写的内容包括:实验成绩、教师
评价
LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载
等。
4、 教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合
性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验
中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一
刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。 5、 未尽事宜,请参考该课程的实验大纲和教学大纲。
8
华北科技学院计算机系综合性实验报告
《 数据库系统 》课程综合性实验报告
开课实验室: 基础六 2011 年 6 月 13 日
《图书馆借阅系统》数据库
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
实验题目
8
华北科技学院计算机系综合性实验报告
一、实验目的
利用一种DBMS作为设计平台~理解并应用课程中关于数据库设计的相关理论~能按照数据库设计步骤完成完整的数据库设计~包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。
二、设备与环境
(1) 硬件设备:PC机一台
(2) 软件环境:安装Windows操作系统~安装数据库管理系统SQL Server2000等。
三、实验内容
完整实践应用数据库设计的工程过程:需求分析\概念设计\逻辑设计\物理设计和实施:
(1)需求分析:选定一个应用,如图书管理系统,~对所设计的数据库系统进行调研分析,其结果应该准
确表达出选定应用的功能需求,
(2)概念分析:使用E-R图作为描述工具.必要时描述出局部和全局的E-R图,
(3)逻辑设计:将上述绘制的E-R图转化为相应的关系模式,并根据范式理论进行优化分析。要求的关
系模式不少于3个~并根据实际应用的需要设计必要的视图,
(4)物理设计:根据设计的结构~说明系统已经有的索引~并根据需要设计必要的索引,
(5)实施:以SQL SERVER为平台创建出完整的数据库.在数据库中要表现出的知识点包括
?登录控制 (
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
登录和混合登录)
?数据完整性:参照完整性、实体完整性、自定义完整性(包括触发器)
?安全性设计:设置用户,并相应设计用户的权限或角色(用户设计至少3个~有不同的权限)
?使用触发器、游标或存储过程完成相关操作~至少使用1种技术。
(6)以上内容,请详细描述,并有必要抓图.
四、实验结果及分析
需求分析
1(能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
1) 图书信息的录入、删除及修改。
2) 图书的出借、返还及超期罚款或丢失赔偿。
,(能够对一定数量的读者、管理员进行相应的信息存储与管理,这其中包括:
1) 读者信息的登记、删除及修改。
2) 管理员信息的增加、删除及修改。
3) 读者资料的统计与查询。
3(能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。 4(对查询、统计的结果能够列表显示。
处理对象:
读者信息:读者编号,姓名,性别,学院,专业班级
管理员信息:管理员编号,姓名,性别,权限,登录口令,电话
馆藏图书信息:图书编号,图书名称,作者,副本数,状态
借阅信息:图书编号,读者编号,图书名,作者,借阅日期,归还日期,应还日期,罚金
罚款信息:读者编号,图书编号,图书名,作者,借阅日期,应还日期,归还日期,罚款金额,处理
8
华北科技学院计算机系综合性实验报告
状态,管理员编号
关系:
一名读者可借阅多本图书,一本图书可被多个读者借阅,但不是同一个读者;
一名读者归还多本图书,,一本图书被多个读者归还,但不是同一个读者;
一名读者可被不同管理员罚款,一名管理员可对多名读者进行罚款;
一名管理员可维护多个图书,一本图书可被不同管理员维护;
一名管理员可对另外几名管理员进行管理。
概念结构设计:
属性:
读者
读者编号 姓名 性别 专业班级
管理员信息
管管管管管管
理理理理理理
员员员员员员
编姓性权登电
号 名 别 限 话 录
口
令
8
华北科技学院计算机系综合性实验报告
图书信息
图书编号 图书书名 图书作者 图书副本数 图书状态
借阅及其信息
图读图图借归应罚
金 书者书书阅还还
编编书作日日日
号 号 名 者 期 期 期
罚款信息
图读图图借应归罚处管
书者书书阅还还款理理
编编书作日日日金状员
号 号 名 者 期 期 期 额 态 编
号
阶段结果:
(1)根据不同的对象,分别画出各分E,R图:
8
华北科技学院计算机系综合性实验报告 (a)的分E,R图:
n m 读者 借阅 图书
k h 读者 归还 图书
(b)的分E,R图:
m n 维护 管理员 图书
(c)的分E,R图:
m n 管理员 管理 读者
(d)的分E,R图:
n
管理员 管理
1
(2)合并各分,,,图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不
必要冗余,得到的基本E-R图如下所示:
8
华北科技学院计算机系综合性实验报告
n m 读者 罚款 管理员
n n n
借阅 维护 管理
n m n
图书 归还 读者 n m
(3)各E,R图各实体的属性如下所示:
图书:Book(BookID, BookName, BookWriter, BookFu,BookState)
读者:Reader(ReadID, ReadName, ReadSex, ReadSch, ReadGrade)
管理员:Maneger(MID, MName, MSex, Mpwd, MAuth, MTeleph)
各E,R图中联系的属性如下所示:
借阅信息:Borrow (BookID,ReadID,BookName,BookWriter,jietdate,huandate,sdhuandate,fine)
罚款信息:Fine(BookID,ReadID,BookName,BookWriter, jietdate,huandate,sdhuandate,fine, CLState, MID)
逻辑设计阶段:
将E-R图转换为关系模型
实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:
一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合
具有相同码的关系模式可合并。
由于读者类别与读者、图书的联系方式是1:n(一对多),可以将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:n(一对多),同样也将其之间的联系与n端实体合并,而读者与图书之间的借阅和归还联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是m:n(多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:
图书:Book(BookID,BookName,BookWriter,BookFu,BookState)
读者:Reader(ReadID,ReadName,ReadSex,ReadSch, ReadGrade)
管理员:Manger(MID,MNAme,MSex,Mpwd,MAuth,MTeleph)
8
华北科技学院计算机系综合性实验报告
借阅信息:Borrow(BookID,ReaderID,BookName,BookWriter,jiedate,huandate,sdhuandate,fine)
罚款信息:Fine (BookID,ReaderID,BookName,jiedate,huandate,sdhuandate,fine, CLState,MID) 模型优化
关系模式Book,Reader,Room,ReaderType ,Maneger不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是借阅关系模式、借阅历史关系模式、罚款关系模式(Borrow,History,Fine)中存在着一些数据冗余,现将三个关系模型进行合并,消除冗余,优化为: 借阅信息:Borrow(BookID,ReaderID,BookName,BookWriter,jiedate,huandate,sdhuandate,fine,CLState,MID)
物理设计阶段:
数据存储方面:
为数据库中各基本表建立的索引如下:
1. 由于基本表Reader,Book的主码ReaID,BookID经常在查询条件和连接操作的连接条件中出
现,且它们的值唯一,在两个属性上建立唯一性索引;
2. 借阅信息基本表Borrow的一属性ReadID,BookID,经常在查询条件中出现,考虑在其之上建立
聚簇索引;
3. 罚款信息基本表Fine的一属性ReadID,BookID,经常在查询条件中出现,考虑在其之上建立聚
簇索引;
8
华北科技学院计算机系综合性实验报告
/
数据库实施阶段:
安全性和完整性要求:
(1) 安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
(2)数据完整性
?实体完整性
8
华北科技学院计算机系综合性实验报告
表Reader定义ReadID 为主码,语句为ReadID char(9) primary key,
表Maneger定义MID为主码,语句为MID char(10) primary key
表Book定义BookID为主码,语句为BookID char(9) primary key
表Borrow定义(BookID,ReadID)为主码,语句为primary key(BookID,ReadID),
?参照完整性
表Borrow定义BookID和ReadID为外码,语句为
foreign key(MID) references Maneger(MID)
?自定义完整性
表Reader中的ReadName, ReadSex, ReadGrade要求不为空,要求ReadSex为男或女。
对应语句为:
ReadName char(10) not null,
ReadSex char(2) not null,
ReadGrade char(5),
check(ReadSex ='男' or ReadSex ='女')
表Maneger中的MName, MSex, Mpwd,MAuth,MTeleph要求不为空,要求MSex为男或女。
对应语句为:
MName char(10) not null,
MSex char(2),
Mpwd char(8) not null,
MAuth char(40) not null,
MTeleph char(15),
check(MSex ='男' or MSex ='女')
表Book中要求BookName,BookWriter,BookFu,BookState不为空.
对应语句为:
BookName char(50) not null,
BookWriter char(30) not null,
BookFu char(5),
BookState char(10) not null,
表Borrow要求jiedate, sdhuandate,MID不为空。
对应语句为:
jiedate Datetime not null,
sdhuandate Datetime not null,
MID char(10) not null,
(3)安全性设置
8
华北科技学院计算机系综合性实验报告
?设计用户
设计三类用户,
EXEC sp_addlogin u1,'111'
USE tushuguanguanli
EXEC sp_grantdbaccess u1,putong
EXEC sp_addlogin u2,'222'
USE tushuguanguanli
EXEC sp_grantdbaccess u2,chaoji
EXEC sp_addlogin u3,'333'
USE tushuguanguanli
EXEC sp_grantdbaccess u3,duzhe
代码操作完成后的效果:
?权限设计
U1权限为能查询Book,Reader,Borrow三个表中的信息,并能进行借书、还书操作;
U2权限为能进行查询、借书、还书操作增删学生及图书信息,还能进行授权;
U3权限为只能查询三各表的信息。
GRANT select ON Book TO duzhe,putong
GRANT select ON Reader TO duzhe,putong
GRANT select ON Borrow TO duzhe
GRANT select,update,delete,insert
ON Borrow
TO putong
GRANT select,update,delete,insert
ON Borrow
8
华北科技学院计算机系综合性实验报告
TO chaoji
WITH GRANT OPTION
GRANT select,update,delete,insert
ON Book
TO chaoji
WITH GRANT OPTION
GRANT select,update,delete,insert
ON Reader
TO chaoji
WITH GRANT OPTION
建立数据库、数据表、视图、索引: 建立数据库:
create database Book; 建立数据表:
(1)用于管理员基本信息查询的视图定义如下:
create table Maneger(
MID char(10) primary key,
MName char(10) not null,
MSex char(2),
Mpwd char(8) not null,
MAuth char(40) not null,
MTeleph char(15),
check(MSex ='男' or MSex ='女')
)
(2)馆藏图书基本信息表的建立:
create table Book(
BookID char(9) primary key,
BookName char(50) not null,
BookWriter char(30) not null,
BookFu char(5),
BookState char(10) not null,
)
(3)读者基本信息表的建立:
create table Reader(
ReadID char(9) primary key,
ReadName char(10) not null,
ReadSex char(2) not null,
ReadGrade char(5),
check(ReadSex ='男' or ReadSex ='女')
)
(4)借阅基本信息表的建立:
create table Borrow(
BookID char(9),
ReadID char(9),
8
华北科技学院计算机系综合性实验报告
jiedate Datetime not null,
sdhuandate Datetime not null,
huandate Datetime,
fine char(5),
CLState char(8),
MID char(10) not null,
primary key(BookID,ReadID),
foreign key(MID) references Maneger(MID)
)
建立视图:
(1)用于查询图书基本信息的视图定义如下:
create view Bookview (图书编号, 书名, 作者, 图书状态)
as
select BookID,BookName,BookWriter, BookState
from Book
(2)用于读者基本信息查询的视图定义如下:
create view Readerview (读者姓名,读者编号,学院,专业班级)
as
select ReadName,ReadID,Readsch,ReadGrate
from Reader
(3)用于显示当前借阅基本信息的视图定义如下:
create view Borrowview (读者编号,图书书名,作者,借阅日期,应还日期)
as
select ReadID,BookName,BookWriter,jiedate,sdhuandate
from Borrow,Book
where Borrow.BookID=Book.BookID and Borrow.Indate is null
(4)用于查询罚款信息的视图定义如下:
create view Fineview (读者编号,图书书名,借阅日期,归还日期,罚款,处理状态)
as
select ReadID,BookName,jiedate,huandate,fine,CLState
from Borrow,Book
where Borrow.BookID=Book.BookID and fine is not null 建立触发器:
1(当删除Reader表中某一读者基本信息时,触发Borrow表,删除相应的
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
create trigger Reader_delete
on Reader
for delete
as
delete Borrow
from deleted
where Borrow.ReadID=deleted.ReadID
2(当在中增加一条借阅记录时,使该图书的状态由“可借”变为“不可借”
create trigger Borrow_insert1
on Borrow
for insert
as
declare @BookID char(9)
select @BookID=BookID
from inserted
update Book
set BookState='不可借'
where BookID=@BookID
8
华北科技学院计算机系综合性实验报告
体会:
1.这次课程设计使我熟悉了系统设计的整体步骤。图书管理系统设计答题可分为需求分析、概念设计、逻辑设计、物理设计、数据库的实施及调试测试六大步骤。其中,让我感触最深的是需求分析阶段,在这个阶段,必须对所要求设计的系统有总体的构思和了解,知道自己要做什么,要实现什么,并且要实际的进行相关的调查,不能凭想象或自己的了解,这样会在后续的工作中遇到很多的问题。 2.这次课程设计加深了我对数据库系统概论相关知识和SQL SERVER相关功能的理解。比如在对建立基本表。视图。索引、存储过程、触发器等,都比以前更加的熟练。并在解决遇到的各种问题的过程中,学到了很多新的知识。比如在导入/导出数据时,由于外键约束的存在,经常会出现错误,这就要注意各个表导入的顺序问题。一般是先导入主键表,后导入外键表,这样可以避免很多的错误。 3.我进一步掌握了相关的SQL语句方面的知识。不但纠正了以前的错误认识和理解,而且学会了建立存储过程和触发器。通过查阅资料,我还明白了存储过程是变异后放在服务器端得程序,它可以被别的模块调用,而且不需要重新编译,这样就大大减轻了客户端得负担,且有效的提高了系统执行的效率。 4.当然,在设计的过程中也存在一些问题。由于分析阶段的工作完成的不是很充分,在后面的设计过程中,前后时常会出现矛盾,不一致现象,因此要反复的修改前面的结果,导致整个工作进行的不是很顺利。
8
华北科技学院计算机系综合性实验报告
评定项目 A B C D 评定项目 A B C D
需求分析清楚 完整性设计完善
概念结构符合 游标和存储过程的使
需求 用
逻辑结构设计 操作熟练
合理
索引设计合理 文字流畅 教
有完全性的设 报告
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
师
评 置
价 其他:
评价教师签名:
年 月 日
8