当前位置:文档之家› 数据库原理实训报告

数据库原理实训报告

数据库原理实训报告数据库原理实训报告目录1.实训题目 --------------------------------------------- 12.实训目的 --------------------------------------------- 1(1)知识目标-------------------------------------- 1(2)能力与技能目标----------------------------- 1(3)素质目标-------------------------------------- 23.数据库概念设计 ------------------------------------ 24.数据库逻辑设计 ------------------------------------ 45.数据库的建立 --------------------------------------- 56.数据表的设计和关系图 --------------------------- 8(1)数据表的设计-------------------------------- 8(2)数据完整性约束----------------------------- 9(3)数据表的建立------------------------------- 10(4)数据表数据的录入------------------------- 13(5)关系图的建立------------------------------- 157.简单查询和复杂查询 ----------------------------- 18(1).简单查询 ------------------------------------ 18(2).复杂查询 ------------------------------------ 208.视图的创建 ----------------------------------------- 229.数据库的维护 -------------------------------------- 23(1).数据的插入 --------------------------------- 23(2).数据的删除 --------------------------------- 2410.数据库的备份 ------------------------------------ 2511.个人总结------------------------------------------- 271.实训题目实训题目:图书馆图书管理系统。

图书馆图书管理系统对于学校图书馆的管理十分重要,所以,图书馆图书管理系统不但要为图书管理者提供充足的信息和快捷的查询手段,也要为学生查询提供必要和快捷的查询手段,但一直以来人们仍使用传统人工的方式管理图书系统,这种管理方式存在着许多缺点,如:效率低、工作量大等,而且,随着图书数量的增长,对于图书信息的查找、更新和维护都带来了不少的困难。

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

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

2.实训目的(1)知识目标·掌握数据库基本原理,理解关系数据库的设计方法、设计思路。

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

(2)能力与技能目标通过本实训,学生应能掌握:·SQL Server 7.0/2000的操作与使用。

·数据库的概念设计与逻辑设计·数据库的建立与管理、数据表的建立与操作等。

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

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

·学会编写实训报告(3)素质目标·质量意识:重视质量,意识到质量的企业生存的前提和保障。

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

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

·较强的自我知识技术更新能力:快速跟踪数据库系统软件的新技术及市场应用动态。

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

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

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

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

据此可以得出图书馆图书管理系统数据库的E-R图,如下:实体属性列表如下:图书书号书名类别出版社作者定价出版时间读者编号姓名性别电话借阅串号书号4.数据库逻辑设计将数据库的概念模型转换为关系模型实体转换成的关系模式有:图书(书号,书名,类别,出版社,定价,出版时间),读者(编号,姓名,性别,电话),借阅(串号,书号,编号,借阅时间),带下划线的属性为各关系模式的主码,字体为粗体的属性为各关系模式的外码。

在以上关系中,实体中的每个属性都是简单属性,都是不可再分的,实体遵循第一范式;对于图书模式,有属性集={书号,书名,类别,出版社,定价,出版时间}。

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

主码={书号}。

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

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

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

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

5.数据库的建立(1)从“开始”菜单中的SQL Server程序组中启动SQL Server企业管理器,打开“SQL Server Enterprise Manager”窗口。

(2)新建数据库,如下将数据库名称命名为“图书馆图书管理系统”。

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

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

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

在SQL 数据库中需要建立3个数据表:图书信息表、读者信息表和借阅关系表。

(1)数据表的设计(1)图书信息表的定义图书信息表存储图书的详细信息,供读者参考使用及管理使用。

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

图书信息表的结构定义如下所示:(2)读者信息表的定义读者信息表存储读者的详细信息,为每一个读者设置一个唯一的编号以便在数据库中使用。

读者信息表的结构定义如下所示:(3)借阅关系表的定义借阅关系表存储读者所借阅的图书信息。

借阅关系表的结构定义如下所示:(2)数据完整性约束(1)主键约束、非空值约束三个表中都有主键,在图书表和读者表中,书号和编号是主键,因为一个图书馆中可能一种书不只只有一本,也许有多本,读者也可能会重名的,所以以书名和姓名为主键显然不太合适,所以另高一个编码来表示,能保证数据的唯一。

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

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

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

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

(3)外键约束在借阅表中,书号是图书表的外键,编号是读者表中的外键。

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

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

(1)图书表的建立输入命令:CREATE TABLE 图书(书号INT PRIMARY KEY CLUSTERED, 书名CHAR(20) NOT NULL,类别CHAR(8),出版社CHAR(20),作者CHAR(10),定价CHAR(10),出版时间CHAR(10))执行命令。

(2)读者表的建立输入命令:CREATE TABLE 读者(编号INT PRIMARY KEY CLUSTERED,姓名CHAR(8),性别CHAR(2)DEFAULT'男'CHECK(性别IN('男','女')),电话INT)执行命令。

(3)借阅表的建立输入命令:CREATE TABLE 借阅(串号INT PRIMARY KEY CLUSTERED,书号INT REFERENCES 图书(书号),编号INT REFERENCES 读者(编号),借阅时间INT)执行命令。

(4)数据表数据的录入为图书表录入数据为读者表录入数据为借阅表录入数据(5)关系图的建立关系图是表之间的链接,用一个表中的外健引用另一个表中的主健。

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

使用SQL Server 2000的企业管理器创建关系图,步骤如下:(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).复杂查询复杂查询包括连接查询、嵌套查询、分组查询、组合查询等。

相关主题