您好,欢迎来到99网。
搜索
您的当前位置:首页数据库论文(图书馆管理系统)

数据库论文(图书馆管理系统)

来源:99网
《数据库原理与应用课程设计C》课程设计教学大纲

Course Design of Database Principles and Applications

课程代码: 课程性质:必修 适用专业: 总学分数: 总学时数:16

学生姓名: 学生学号: 学 院: 专业班级: 课程简介(中文):图书馆数据库

课程简介(英文):Course design of the library

编写年月:

修订年月: 执 笔:

一、课程设计目的

《数据库原理及应用课程设计》是实践性教学环节之一,是《数据库原理及应用》课程的辅助教学课程。通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,强化学生的实践意识、提高其实际动手能力和创新能力。

二、课程设计内容及学时分配

要求学生按照《数据库原理及应用B课程设计》教学大纲完成一个数据库设计,并撰写相应的课程设计报告,主要内容包括:

(1)数据库概念模式设计 (2)数据库逻辑模式设计 (3)数据库保护设计 课程设计的学时安排如下:

星期 一 二 三 四 五 学时 4 4 4 4 教学内容 布置课程设计的具体要求,讲解课程设计的要点与难点 分散进行,根据要求进行初步的概念模式设计 概念模式的修改,进行逻辑模式设计 进行保护设计并在SQLServer上实现,撰写课程设计报告 验收并上交课程设计报告 三、课程设计教学基本要求

根据教师给定的选题,运用课堂中学到的数据库的基本理论与设计的知识,完成数据库概念设计、逻辑设计及部分物理设计的内容。重点是ER图的设计、关系模式的转换与规范化以及如何利用DBMS完成数据表及数据库的创建和操作。具体要求包括:

1 数据库概念模式设计

写出由基本项构思ERD的四条原则及根据这些原则相应得出的实体、联系及其属性,并确定主实体的主标识,画出ERD;用原则4检查改正错误;对其中复杂的多元联系进行分析,必要则改进。

2 数据库逻辑模式设计

2.1 一般逻辑模型设计:写出由ERD导出一般关系模型的四条原则,列出数据库初步构思的关系框架,并检查改进之。

2.2 具体逻辑模型设计:按所用的DBMS要求,设计表(文件)的具体结构,在关系框架下补充字段类型、长度、小数位数等行。 3 数据库保护设计

3.1 设计表间关系:列出父表与子表的关联索引,指出要建立的表间关系的类型。 3.2 完整性设计:列出主要字段完整性的字段名、完整性约束条件;列出记录完整性约束及其约束条件;列出参照完整性表。

四、课程设计选题

一个图书借阅管理数据库要求提供以下服务:

(1)可随时查询书库中现有书籍的种类、数量与存放位置。所有各类书籍均可由书号唯一标识。

(2)可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。

(3)当需要时,可通过数据库中保存的出版社电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。

根据以上的情景假设,进行如下的分析与设计: (1)根据上述语义画出ER图。

(2)将ER模型转换成关系模型,并指出每个关系模式的主关键字。

(3)分析每个关系模式已经达到第几范式。对于不符合第三范式要求的关系模式进行规范化。

(4)根据概念模型设计逻辑模型和保护设计。 (5)在SQLServer中实现。

五、本课程设计与其它课程的联系与分工

先修课程: 后续课程:

六、成绩评定

总分100分。由以下五部分组成: (1)学生对待课程设计的态度,占30%;

2

(2)数据库概念模式设计,占25%; (3)数据库逻辑模式设计,占20%; (4)数据库保护设计,占15%; (5)报告的编排及格式,占10%。

七、建议教材及教学参考书

[1]崔巍 编,《数据库应用与设计》, 出版社,清华大学出版社 年出版北京:2009

注:1、“课程代码”由教务处教研科统一填写;

2、“课程性质”按培养方案的“课程性质”及“必/选修”两栏填写; 3、“适用专业”按招生简章填写;

4、“开课学期”指1~8(10)中的数字,例如“大学英语”课程的开课学期为1、2、3、4;

3

目录

1 课程设计要求 ............................................................................................................................... 5 2 数据库概念模式设计 ................................................................................................................... 5

2.1 整理的数据项 ................................................................................................................... 5 2. 2 绘制ERD .......................................................................................................................... 6 3 数据库逻辑模式设计 ................................................................................................................... 7

3.1 一般逻辑模型设计 ........................................................................................................... 7

3.1.1 按四原则转化 ....................................................................................................... 7 3.1.2 转化的逻辑模型 ................................................................................................... 8 3.1.3 逻辑模型的优化 ................................................................................................. 10 3.2 具体逻辑模型设计 ......................................................................................................... 10 4 数据库保护设计 ......................................................................................................................... 12

4.1设计表间关系 .................................................................................................................. 12 4.2完整性设计 ...................................................................................................................... 13

4.2.1书籍表 .................................................................................................................. 13 4.2.2读者表 .................................................................................................................. 13 4.2.3出版社表 .............................................................................................................. 13 4.2.4管理员表 .............................................................................................................. 13 4.2.5出版表 .................................................................................................................. 14 4.2.6借阅表 .................................................................................................................. 14 4.2.7增购登记表 .......................................................................................................... 14 4.2.8增购表 .................................................................................................................. 15

5 数据库实现 ................................................................................................................................. 15

5.1 建立数据库 ..................................................................................................................... 15 5.2 建立数据表 ..................................................................................................................... 16

5.2.1书籍表 .................................................................................................................. 17 5.2.2读者表 .................................................................................................................. 18 5.2.3出版社表 .............................................................................................................. 19 5.2.4管理员表 .............................................................................................................. 20 5.2.5出版表 .................................................................................................................. 21 5.2.6借阅表 .................................................................................................................. 22 5.2.7增购登记表 .......................................................................................................... 23 5.2.8增购表 .................................................................................................................. 24 5.3 数据库的表间关联 ......................................................................................................... 25 6 感想与体会 ................................................................................................................................. 25

4

《数据库原理及应用》课程设计报告要求

1 课程设计要求

一个图书借阅管理数据库要求提供以下服务:

(1)可随时查询书库中现有书籍的种类、数量与存放位置。所有各类书籍均可由书号唯一标识。

(2)可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。

(3)当需要时,可通过数据库中保存的出版社电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。

根据以上的情景假设,进行如下的分析与设计: (1)根据上述语义画出ER图。

(2)将ER模型转换成关系模型,并指出每个关系模式的主关键字。 (3)分析每个关系模式已经达到第几范式。对于不符合第三范式要求的关系模式进行规范化。

(4)根据概念模型设计逻辑模型和保护设计。 (5)在SQLServer中实现。

2 数据库概念模式设计

2.1 整理的数据项

出版社名 电话 地址 邮编 书序号

书号 书名种类 数量 存放位置 借书日期 还书日期 借书证号 姓名 单位 所缺书名 登记号

管理员号 管理员姓名

增购书名 数量 增购日期

5

2. 2 绘制ERD

出版社名 书序号 借书日期 还书日期

电话 地址 邮编 增购日期 出版社 1 q 增购 数量 增购书名 出版 书号 r 种类 管理员号 n 数量 图书管理员 书籍 t 管理员名 m 存放位置 书名 借阅 增购登记 所缺书名 p 读者 s 登记号 借书证号姓名 单位 6

3 数据库逻辑模式设计

3.1 一般逻辑模型设计 3.1.1 按四原则转化

(1)原则一::ER图中的每一个实体变换为一个关系,其属性变为关系的属性,其

主标识变为关系的主码。 书籍关系

书号 主码

读者关系

借书证号 主码

出版社关系 出版社名 主码 邮编 地址 电话 姓名 单位 书名 数量 书籍种类 存放位置

管理员关系

管理员号 主码 管理员名

(2)原则二:ER图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加上

主实体关系的主码构成这个关系的属性。如果“的”联系是1:1的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。

(无涉及原则二的转化)

7

(3)原则三:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及

联系本身的属性来表达。其中“1”实体主码为外来码。 书籍与出版社关系 书号 主码 书名 数量 书籍种类 存放位置 书序号 出版社名 外码

(4)原则四:M联系转换成一个的关系,被联系实体关系的主码(作为外来码)和

联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。 借阅关系

借书证号 外码 复合主码

图书增购登记关系

借书证号 管理员号 所缺书名 登记号 书号 外码 借书日期 还书日期 外码 复合主码 增购关系

管理员号 外码 复合主码

外码 出版社名 外码 增购书名 数量 日期 3.1.2 转化的逻辑模型

表一:书籍表 书号

书名 数量 书籍种类 存放位置 8

主码

表二:读者表 借书证号 主码 表三:出版社表 出版社名 主码

表四:管理员表

管理员号 主码 姓名 单位 邮编 地址 电话 管理员名

表五:出版表 书号 主码 书名 数量 书籍种类 存放位置 书序号 出版社名 外码

表六:借阅表

借书证号 外码 复合主码

表七:增购登记表

借书证号 管理员号 所缺书名 登记号 书号 外码 借书日期 还书日期 外码 复合主码

表八:增购表

管理员号 外码 外码 出版社名 外码 增购书名 数量 日期 9

复合主码

3.1.3 逻辑模型的优化 把

表五:出版表 书号 主码 书名 数量 书籍种类 存放位置 书序号 出版社名 外码 优化为

书序号 主码 书号 外码 出版社名 外码

3.2 具体逻辑模型设计

表一:书籍表 字段名 书号 书名 数量 书籍种类 存放位置 字段类型 Char Char tinyint Char Char 字段长度 20 30 16 10 小数点位数 是否主关键字 是 否 否 否 否

表二:读者表 字段名 借书证号 姓名 单位

10

字段类型 Char Char Char 字段长度 11 10 50 小数点位数 是否主关键字 是 否 否

表三:出版社表 字段名 出版社名 电话 地址 邮编

表四:管理员表 字段名 管理员号 管理员名 字段类型 Char Char Char Char 字段长度 30 15 60 6 小数点位数 是否主关键字 是 否 否 否 字段类型 Char Char 字段长度 10 10 小数点位数 是否主关键字 是 否

表五:出版表 字段名 书序号 出版社名 书号 字段类型 Char Char Char 字段长度 10 30 20 小数点位数 是否主关键字 是 否 否

表六:借阅表 字段名 借书证号 书号 借书日期 还书日期 字段类型 Char Char Datetime Datetime 字段长度 11 20 小数点位数 是否主关键字 是 是 否 否

11

表七:增购登记表 字段名 借书证号 管理员号 所缺书名 登记号 字段类型 Char Char Char Char 字段长度 11 10 30 5 小数点位数 是否主关键字 是 是 否 否

表八:增购表 字段名 管理员号 出版社名 增购书名 数量 日期 字段类型 Char Char Char tinyint Datetime 字段长度 10 30 30 小数点位数 是否主关键字 是 是 否 否 否

4 数据库保护设计

4.1设计表间关系

1)“书籍表”和“出版社表”之间有出版联系,通过“出版社名称”字段相关联 2)“读者表”和“书籍表”之间有借阅联系,通过“借书证号”、“书号”字段相关联

3)“读者表”和“管理员表”之间有增购登记联系,通过“借书证号”、“管理员号”字段相关联

4)“出版社表”和“管理员表”之间有增购联系,通过“出版社名称”、“管理员

12

号”字段相关联

4.2完整性设计 4.2.1书籍表

(1)实体完整性设计:主关键字“书号”非空值、唯一; (2)参照完整性设计:无参照完整性设计; (3)用户定义完整性设计:“书名” 非空值;

“数量”取值范围0到500;

“书籍种类”非空值;

“存放位置”非空值、取值为图书馆1楼、图书馆2

楼、图书馆3楼、图书馆4楼、图书馆5楼;

4.2.2读者表

(1)实体完整性设计:主关键字“借书证号” 非空值、唯一; (2)参照完整性设计:无参照完整性设计; (3)用户定义完整性设计:“姓名” 非空; 4.2.3出版社表

(1)实体完整性设计:主关键字“出版社名” 非空值、唯一; (2)参照完整性设计:无参照完整性设计; (3)用户定义完整性设计:“电话” 非空值、; “地址” 非空值、; “邮编” 非空值;

4.2.4管理员表

(1)实体完整性设计:主关键字“管理员号” 非空值、唯一; (2)参照完整性设计:无参照完整性设计 (3)用户定义完整性设计:“管理员名”非空值;

13

4.2.5出版表

(1)实体完整性设计:主关键字“书序号”非空值、唯一; (2)参照完整性设计:“出版表”的“书号” 参照“书籍表”的“书号”当修

改被参照记录的主关键字时,级联修改参照纪录的外部关键字值;

“出版表”的“出版社名” 参照“出版社表”的“出版

社号”当修改被参照记录的主关键字时,级联修改参照纪录的外部关键字值;

(3)用户定义完整性设计: 无用户定义完整性设计;

4.2.6借阅表

(1)实体完整性设计:主关键字“借书证号”“书号”;

(2)参照完整性设计:“借阅表”的“借书证号”参照“读者表”的“借书证号”

当修改被参照记录的主关键字时,级联修改参照纪录的外部关键字值;

“借阅表”的“书号” 参照“书籍表”的“书号”当修改被参照记录的主关键

字时,级联修改参照纪录的外部关键字值; (3)用户定义完整性设计:“借书日期” 非空值、日期时间类型; “还书日期” 非空值、日期时间类型;

4.2.7增购登记表

(1)实体完整性设计:主关键字“借书证号”、“管理员号”; (2)参照完整性设计:“增购登记表”的“借书证号”、“管理员号”分别参照“读

者表”的“借书证号”和“管理员表”的“管理员号”当修改被参照记录的主关键字时,级联修改参照纪录的外部关键字值; (3)用户定义完整性设计:“所缺书名”非空值、字符类型、字段长度30;

“登记号”非空值、字符类型、字段长度5;

14

4.2.8增购表

(1)实体完整性设计:主关键字“管理员号”和“出版社名”; (2)参照完整性设计:“增购表”的“管理员号”和“出版社名”分别参照“管

理员表”的“管理员号”和出版社表的“出版社名”;当修改被参照记录的主关键字时,级联修改参照纪录的外部关键字值; (3)用户定义完整性设计:“增购书名”非空值、字符类型、字段长度30;

“数量”整数型,取值范围0到500; “日期”非空值、日期时间类型;

5 数据库实现

5.1 建立数据库

create database 图书馆管理数据库

on

(name=图书馆管理数据库, filename='D:\\数据库.mdf',

size=10, maxsize=50, filegrowth=5) log on

(name=图书馆管理数据库_log, filename='D:\\数据库.ldf', size=5mb, maxsize=25mb, filegrowth=5mb)

15

5.2 建立数据表

create schema 图书馆管理数据库

16

5.2.1书籍表

Create table图书馆管理数据库.书籍表 (书号char(20) not null primary key , 书名char(30) not null,

数量tinyint check (数量between 0 and 500) default null, 书籍类型char(16) not null,

存放位置char(10) not null check (存放位置in('图书馆楼','图书馆楼' ,'图书馆楼' ,'图书馆楼' ,'图书馆楼')))、

17

5.2.2读者表

Create table图书馆管理数据库.读者表

(借书证号 char(11) not null primary key , 姓名 char(10) not null, 单位 char(50))

18

5.2.3出版社表

Create table 图书馆管理数据库.出版社表 (出版社名char(30) not null primary key , 电话char(15) not null, 地址char(60) not null, 邮编char(6) not null)

19

5.2.4管理员表

Create table 图书馆管理数据库.管理员表 (管理员号char(10) not null primary key , 管理员名char(10) not null)

20

5.2.5出版表

create table 图书馆管理数据库. 出版表 (书序号 char(10) not null primary key ,

书号char(20) foreign key references 图书馆管理数据库.书籍表 on deiete set null on up date cascade,

出版社名 char(30) foreign key references 图书馆管理数据库.出版社表 on deiete set null on up date cascade,

21

5.2.6借阅表

create table 图书馆管理数据库. 借阅表

(借书证号 char(11) foreign key references 图书馆管理数据库. 读者表 on update cascade,

书号 char(20) foreign key references 图书馆管理数据库. 书籍表 on update cascade,

借书日期 datetime not null, 还书日期 datetime not null, primary key (借书证号,书号))

22

5.2.7增购登记表

create table 图书馆管理数据库. 增购登记表

(借书证号 char(11) foreign key references 图书馆管理数据库. 读者表 on update cascade,

管理员号 char(10) foreign key references 图书馆管理数据库. 管理员表 on update cascade,

所缺书名 char(30) not null, 登记号 char(5) not null,

primary key (借书证号, 管理员号))

23

5.2.8增购表

create table 图书馆管理数据库. 增购表

(管理员号 char(10) foreign key references 图书馆管理数据库. 管理员表 on update cascade,

出版社名 char(30) foreign key references 图书馆管理数据库.出版社表 on update cascade,

增购书名 char(20) not null, 日期 datetime not null, primary key (管理员号,出版社名))

24

5.3 数据库的表间关联

6 感想与体会

数据库是信息管理系统的基础。随着信息时代的到来,数据库与我们息息相关,就像我们现在去图书馆借书,已经不再像过去一样需要大量地人力物力去管理图书馆,现在只需要有一个功能完善的数据库系统,就能让图书管理事半功倍,大大方便的我们的日常生活。同时,数据库设计的好坏是信息系统成功的关键。所以,数据库的设计对数据库的实施应用起这极为重要的作用。这一次的课程设计既是对本学期关于学习数据库的知识的归纳总结,更是一种具有实践性的锻炼机会。让我们对数据库有更深层面的认识。在数据库的设计过程中,我也有了很多体会。首先,数据库的设计是很灵活的。不同的人对课题的语境都有自己的见解、看法,对数据库的设计也也就有不同的地方。其次是,通过这次设计,我深深体会到了概念模型设计阶段的重要性,只要这一阶段考虑周全了,能给下面的阶段起指引的作用,接下来的阶段就会轻松很多。最后,就是整个设计过程都需要我们很细心的区完成,比如在SQL的实施过程中一个小小的失误,可能就会影响后面语句的输入,大大减低了效率。

25

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务