数据库原理实训报告doc.docx

上传人:b****4 文档编号:923260 上传时间:2022-10-14 格式:DOCX 页数:19 大小:489.17KB
下载 相关 举报
数据库原理实训报告doc.docx_第1页
第1页 / 共19页
数据库原理实训报告doc.docx_第2页
第2页 / 共19页
数据库原理实训报告doc.docx_第3页
第3页 / 共19页
数据库原理实训报告doc.docx_第4页
第4页 / 共19页
数据库原理实训报告doc.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数据库原理实训报告doc.docx

《数据库原理实训报告doc.docx》由会员分享,可在线阅读,更多相关《数据库原理实训报告doc.docx(19页珍藏版)》请在冰豆网上搜索。

数据库原理实训报告doc.docx

数据库原理实训报告doc

数据库原理实训报告

1.实训题目

实训题目:

图书馆图书管理系统。

图书馆图书管理系统对于学校图书馆的管理十分重要,所以,图书馆图书管理系统不但要为图书管理者提供充足的信息和快捷的查询手段,也要为学生查询提供必要和快捷的查询手段,但一直以来人们仍使用传统人工的方式管理图书系统,这种管理方式存在着许多缺点,如:

效率低、工作量大等,而且,随着图书数量的增长,对于图书信息的查找、更新和维护都带来了不少的困难。

此外,计算机技术的不断成熟与发展使得对信息管理的应用成为可能。

正是这样,图书馆图书管理系统在图书馆管理中发挥了重要的作用。

2.实训目的

(1)知识目标

·掌握数据库基本原理,理解关系数据库的设计方法、设计思路。

·初步掌握一种关系数据库语言,例如SQLServer。

(2)能力与技能目标

通过本实训,学生应能掌握:

·SQLServer7.0/2000的操作与使用。

·数据库的概念设计与逻辑设计

·数据库的建立与管理、数据表的建立与操作等。

·SQL查询语言的使用与编程。

·设计和开发一个数据库应用系统的数据库设计部分。

·学会编写实训报告

(3)素质目标

·质量意识:

重视质量,意识到质量的企业生存的前提和保障。

·工程规范意识:

工作中严格遵守工程规范,不以个人的好恶任意操作。

·团队精神:

具有合作精神、协调工作能力和组织管理能力。

·较强的自我知识技术更新能力:

快速跟踪数据库系统软件的新技术及市场应用动态。

3.数据库概念设计

数据库的概念设计就是画出E-R图。

分析前面的系统功能要求,需要一个表来存储和管理图书信息,一个表来存储和管理读者信息,这样使系统能够借阅时需要的各项数据,以实现数据录入,查询或统计等功能。

图书和读者是本系统的两个实体。

为了能使两个实体联系起来并实现读者对图书的借阅,需要再建立一个表来记录读者所借阅的图书。

据此可以得出图书馆图书管理系统数据库的E-R图,如下:

实体属性列表如下:

图书

书号

书名

类别

出版社

作者

定价

出版时间

读者

编号

姓名

性别

电话

借阅

串号

书号

编号

借阅时间

4.数据库逻辑设计

将数据库的概念模型转换为关系模型

实体转换成的关系模式有:

图书(书号,书名,类别,出版社,定价,出版时间),

读者(编号,姓名,性别,电话),

借阅(串号,书号,编号,借阅时间),

带下划线的属性为各关系模式的主码,字体为粗体的属性为各关系模式的外码。

在以上关系中,实体中的每个属性都是简单属性,都是不可再分的,实体遵循第一范式;

对于图书模式,有

属性集={书号,书名,类别,出版社,定价,出版时间}。

函数依赖集={书号→书名,书号→类别,书号→出版社,书号→定价,书号→出版时间}。

主码={书号}。

非主属性={书名,类别,出版社,定价,出版时间}。

非主属性对码的依赖={书号F→书名,书号F→书名,书号F→类别,书号F→出版社,书号F→定价,书号F→出版时间}。

显然图书关系遵循第二范式,同理,读者关系,借阅关系也遵循第二范式。

实体属性之间不存在码,属性组及非主属性间的传递函数依赖,所以以上关系同样遵循第三范式。

5.数据库的建立

(1)从“开始”菜单中的SQLServer程序组中启动SQLServer企业管理器,打开“SQLServerEnterpriseManager”窗口。

(2)新建数据库,如下

将数据库名称命名为“图书馆图书管理系统”。

这样,图书馆图书管理系统数据库就建好了。

接下来就是要建立数据表了。

6.数据表的设计和关系图

数据库设计是根据系统功能的要求和数据规模规划数据库服务器选型、数据表结构定义、分配数据库服务器端的功能实现以及创建数据库对象。

在SQL数据库中需要建立3个数据表:

图书信息表、读者信息表和借阅关系表。

(1)数据表的设计

(1)图书信息表的定义

图书信息表存储图书的详细信息,供读者参考使用及管理使用。

为每本图书设置一个唯一的书号,以便在数据库中使用。

图书信息表的结构定义如下所示:

列名

数据类型

大小

约束

属性

书号

INT

4

主键

主码

书名

CHAR

20

NOTNULL

非主属性

类别

CHAR

8

非主属性

出版社

CHAR

10

非主属性

作者

CHAR

10

非主属性

定价

CHAR

10

非主属性

出版时间

CHAR

10

非主属性

(2)读者信息表的定义

读者信息表存储读者的详细信息,为每一个读者设置一个唯一的编号以便在数据库中使用。

读者信息表的结构定义如下所示:

列名

数据类型

大小

约束

属性

编号

INT

4

主键

主码

姓名

CHAR

8

NOTNULL

非主属性

性别

CHAR

2

‘男’,‘女’

非主属性

电话

INT

4

非主属性

(3)借阅关系表的定义

借阅关系表存储读者所借阅的图书信息。

借阅关系表的结构定义如下所示:

列名

数据类型

大小

约束

属性

串号

INT

4

主键

主码

书号

INT

4

外码

外码

编号

INT

4

外码

外码

借阅时间

INT

4

非主属性

(2)数据完整性约束

(1)主键约束、非空值约束

三个表中都有主键,在图书表和读者表中,书号和编号是主键,因为一个图书馆中可能一种书不只只有一本,也许有多本,读者也可能会重名的,所以以书名和姓名为主键显然不太合适,所以另高一个编码来表示,能保证数据的唯一。

在借阅表中,串号是主键。

用书号和编号做为主码似乎也是可以的,但是,前面提到,一个图书馆中同样的书可能不只一本,而读者也可能会借几本同样的书,所有另高一个编码做为主码较为合适。

在图书表和读者表中,书名和姓名都是不能为空的,这样才能知道所借的是什么书。

(2)CHECK约束

在读者表中,读者的性别只能是“男”或“女”,所有需要有相CHECK约束,来检查所输入的值是否是“男”或“女”,来保证数据的准确性和正确性。

(3)外键约束

在借阅表中,书号是图书表的外键,编号是读者表中的外键。

通过设置外键以保证数据的惟一性和正确性。

(3)数据表的建立

启动SQL查询分析器,并输入命令,建立数据表。

(1)图书表的建立

输入命令:

CREATETABLE图书(

书号INTPRIMARYKEYCLUSTERED,

书名CHAR(20)NOTNULL,

类别CHAR(8),

出版社CHAR(20),

作者CHAR(10),

定价CHAR(10),

出版时间CHAR(10))

执行命令。

(2)读者表的建立

输入命令:

CREATETABLE读者(

编号INTPRIMARYKEYCLUSTERED,

姓名CHAR(8),

性别CHAR

(2)DEFAULT'男'CHECK(性别IN('男','女')),

电话INT)

执行命令。

(3)借阅表的建立

输入命令:

CREATETABLE借阅(

串号INTPRIMARYKEYCLUSTERED,

书号INTREFERENCES图书(书号),

编号INTREFERENCES读者(编号),

借阅时间INT)

执行命令。

 

(4)数据表数据的录入

为图书表录入数据

 

为读者表录入数据

 

为借阅表录入数据

 

(5)关系图的建立

关系图是表之间的链接,用一个表中的外健引用另一个表中的主健。

关系线的终结点显示一个主键符号一表示主键到外键的关系,或者显示一个无穷符号以表示一对多关系的外键端。

使用SQLServer2000的企业管理器创建关系图,步骤如下:

(1)在左边数据库中的关系图上鼠标右键,单击“新建数据库关系图”,如下图。

(2)单击“下一步”,如下图。

(3)在左边的可用的表中将图书,读者,借阅表添加到右边,单击“下一步”。

(4)单击“完成”。

(5)在上面步骤完成后就出现如下的关系图。

7.简单查询和复杂查询

(1).简单查询

简单查询就是SELECT-----FROM------WHERE查询。

(1)查询所有图书的信息

输入命令:

SELECT*

FROM图书

(2)查询所有读者的信息

输入命令:

SELECT*

FROM读者

(3)查询类别为军事的图书

输入命令:

SELECT*

FROM图书

WHERE类别='军事'

(4)查询机械工业出版社出版的图书

输入命令:

SELECT*

FROM图书

WHERE出版社='机械工业出版社'

(5)查询作者为猫小乐的图书

输入命令:

SELECT*

FROM图书

WHERE作者='猫小乐'

(6)查询出版时间在2005年以后的图书

输入命令:

SELECT*

FROM图书

WHERE出版时间>2005

(7)查询所有的女读者

输入命令:

SELECT*

FROM读者

WHERE性别='女'

(8)查询姓名为刘森森的读者

输入命令:

SELECT*

FROM读者

WHERE姓名='刘森森'

(2).复杂查询

复杂查询包括连接查询、嵌套查询、分组查询、组合查询等。

(1)查询读者姓名及其所借阅的图书的书名(连接查询)

输入命令:

SELECT读者.姓名,图书.书名

FROM读者,图书,借阅

WHERE读者.编号=借阅.编号AND图书.书号=借阅.书号

(2)查询读者刘志文所借阅的图书书名(嵌套查询)

输入命令:

SELECT图书.书名

FROM图书

WHERE图书.书号IN(SELECT借阅.书号

FROM借阅

WHERE借阅.编号IN(SELECT读者.编号

FROM读者

WHERE读者.姓名='刘志文'))

(3)查询图书类别及其图书数量(分组查询)

输入命令:

SELECT类别,COUNT(书号)

FROM图书

GROUPBY类别

(4)查询类别为计算机类或军事类的图书信息(组合查询)

输入命令:

SELECT*

FROM图书

WHERE类别='计算机'

UNION

SELECT*

FROM图书

WHERE类别='军事'

8.视图的创建

创建读者视图,内容包括读者信息及其所借阅图书的信息。

输入命令:

CREATEVIEW读者视图

ASSELECT读者.*,图书.*

FROM图书,借阅,读者

WHERE图书.书号=借阅.书号AND借阅.编号=读者.编号

查询视图,输入命令:

SELECT*

FROM读者视图

9.数据库的维护

数据库的维护和管理包括数据的插入和删除。

当新增图书或者读者时,通过数据的插入使新增的数据在数据库的增加。

相反,当去除图书或诸者时,通过数据的删除来使数据在数据库在删除。

当读者要借书时,就通过数据的插入在借阅表中新增一条记录,而当读者要还书时,就通过数据的删除将借阅表中的记录删除。

(1).数据的插入

(1)图书信息的插入

INSERT

INTO图书

VALUES(6001,'经济学原理','管理学','北京邮电大学出版社','李慧

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1