




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图书管理系统数据库分析与设计课程:大型数据库Oracle目 录一、需求分析11.1背景11.2功能分析图11.3数据流程图2二、概念结构设计32.1分E-R图32.2总E-R图4三、逻辑结构设计5四、物理结构设计64.1管理员信息表64.2读者信息表74.3图书信息表84.4图书借阅登记表84.5图书归还登记表9五、 数据库实施代码95.1创建数据库并创建数据表95.2数据的存储与修改115.2.1管理员操作115.2.2读者信息125.2.3 图书信息125.2.4借书与还书135.3查询举例145.3.1单表查询145.3.2.连接查询145.3.3.嵌套查询14六、数据优化146.1创建
2、视图146.2创建索引156.3创建触发器15收获与体会17一、需求分析1.1背景图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于管理效率的提高。1.2功能分析图1.3数据流程图二、概念结构设计2.1分E-R图(管理员E-R图)(学生E-R图)(图书E-R图)2.2总E-R图 (总E-R图)设计说明:上图是该图书管理系统总E-R图,该系统涉及的实体集有:学生实体集:具有属性用户名、密码、学号,姓名
3、,性别,院系、班级、 图书实体集:具有属性图书ISBN编号、图书书名、作者、出版社、定价、图书类别、库存管理员实体集:具有属性用户名、密码、姓名、加入时间一个学生可以借阅和归还多本图书,所以学生和图书之间的联系为1:n的联系。一个管理员可以对多本图书进行管理,图书管理员可以有多个,所以管理员和图书之间的联系为m:n的联系。一个管理员可以对多个读者进行管理,图书管理员可以有多个,所以管理员和学生之间的联系为m:n的联系。三、逻辑结构设计 将概念模型转换成关系模式(1) 图书实体集可以转换为关系:tBook(cBooksISBN,cBooksName,cBooksAuthor,cBooksType
4、,cBooksPrice,cBooksPublisher ,cBooksStore)cBooksISBN表示图书编号,cBooksName表示图书名称, cBooksAuthor表示图书作者,cBooksType表示图书类型,cBooksPrice表示图书价格,cBooksPublisher表示图书出版社,cBooksStore表示图书库存量(2) 读者实体集可以转换为关系:tUser(cUsersID,cUsersPwd,cUsersNo, cUsersName,cUsersSex,cUsersDepart,cUsersClass,cUsersTel)cUsersID表示读者用户名,cUse
5、rsPwd 表示用户密码,cUsersNo 表示读者学号,cUsersName表示读者姓名,cUsersSex表示读者性别,cUsersDepart表示读者院系,cUsersClass表示读者班级,cUsersTel表示读者 (3) 管理员实体集可以转换为关系:t Admin(cAdminID,c AdminPwd ,c AdminName, c Admin AddTime)cAdminID表示管理员用户名,c AdminPwd表示密码,c AdminName表示管理员姓名c Admin AddTime表示管理员加入时间。(4) 因为学生和图书之间的联系为1:n的联系,所以:tUser(cUs
6、ersID,cBooksISBN)cBooksISBN表示学生借阅的图书。(5) 因为管理员和图书之间的联系为m:n的联系,所以:t Admin(c Admin ID,cBooksISBN)cBooksISBN表示管理员管理的图书。(6) 因为管理员和学生之间的联系为m:n的联系,所以:t Admin(c Admin ID,cUsersID)cUsersID表示管理员管理的学生。四、物理结构设计依据关系模式,并结合以上E-R图,经过转化,即可进行数据库的物理设计。该系统的数据库采用Oracle,基于以上数据库的逻辑设计,本系统决定采用一个数据库,在其下创建5个数据表,其结构分别如下:4.1管理
7、员信息表 表4-1管理员信息表(tAdmin)的结构序号字段名称字段说明类型位数属性备注1cAdminID用户名文本6必须非空2c AdminPwd密码文本6必须非空3c AdminName姓名文本10必须非空4c AdminSex性别文本2可为空5cAdminAddTime加入时间文本10可为空4.2读者信息表 表4-2读者信息表(tUser)的结构序号字段名称字段说明类型位数属性备注1cUsersID用户名文本10必须非空2cUsersPwd密码文本6必须非空3cUsersNo读者学号文本11必须非空4cUsersName读者姓名文本10必须非空5cUsersSex读者性别文本2可为空6c
8、UsersDepart读者系别文本20可为空7cUsersClass读者班级文本6可为空8cUsersTel读者 文本11可为空4.3图书信息表表4-3图书信息表(tBook)的结构序号字段名称字段说明类型位数属性备注1cBooksISBN图书编号文本13必须非空2cBooksName图书名称文本20必须非空3cBooksAuthor图书作者文本10可为空4cBooksType图书类型文本10可为空5cBooksPrice图书价格货币6可为空6cBooksPublisher图书出版社文本20可为空7cBooksStore图书库存量整数3可为空4.4图书借阅登记表表4-4图书借阅登记表(tBor
9、row)的结构序号字段名称字段说明类型位数属性备注1cUsersNo读者学号文本6必须非空2cUserName读者姓名文本10必须非空3cBooksISBN图书编号文本13必须非空4cBooksName图书名字文本20必须非空5cUsersBorrow已借数目文本2必须非空4.5图书归还登记表表4-5图书归还登记表(tReturn)的结构序号字段名称字段说明类型位数属性备注1cUsersNo读者学号文本6必须非空2cUserName读者姓名文本10必须非空3cBooksISBN图书编号文本13必须非空4cBooksName图书名字文本20必须非空5cBorrwTime借书时间时间日期10必须非
10、空6cReturnTime还书时间时间日期10必须非空五、 数据库实施代码5.1创建数据库并创建数据表建管理员表create table tAdmin(cAdminID char(6) primary key,cAdminPwd char(6) not null,cAdminName char(10) not nullcAsminSex char(2),cAdminAddTime char(10);建读者表create table tUser (cUsersID char(10)primary key,cUsersPwd char(6)not null,cUsersNo char(11)not
11、 null,cUsersName char(10) not null,cUsersSex char(2),cUsersDepart char(20),cUsersClass char(6),cUsersTel char(11);建图书表create table book tBook(cBooksISBN char(13)primary key,cBooksName char(20)not null,cBooksAuthor char(10),cBooksType char(10)not null,cBooksPrice int,cBooksPublisher char(20), cBooksS
12、tore int); 建借书表create table tBorrow(cUsersNo char(6)not null,cUserName char(10) not null,cBooksISBN char(13) not null,cBookName char(20) not null ,cUsersBorrow int,)primary key( cUsersNo,cBooksISBN)建还书表create table tReturn(cUsersNo char(6)not null,cUserName char(10) not null,cBooksISBN char(13) not
13、null,cBookName char(20) not null,cBorrowTime char(10) not nullcReturnTime char(10) not null,)primary key( cUsersNo,cBooksISBN)5.2数据的存储与修改5.2.1管理员操作管理员注册insert into tAdmin values('070411','123456','李志敏', '男','2011-6-27');insert into tAdmin values('070448
14、9;,'123456','赵林宁', '女','2011-6-27');管理员注销delete from tAdmin where cAdminID ='070411'5.2.2读者信息增加读者insert into tUser(cUsersID,cUsersPwd,cUsersNo,cUsersName, cUsersSex, cUsersDepart,cUsersClass,cUsersTel)values('070421','123456','20084070421
15、39;,'郑春龙','男','计科系','080704','#39;);insert into tUser(cUsersID,cUsersPwd,cUsersNo,cUsersName, cUsersSex, cUsersDepart,cUsersClass,cUsersTel)values('070433','123456','20084070433','晋亚丽','女','计科系','0807
16、04','#39;);删除读者delete from tUser where cUsersID ='20084070421'修改读者信息update tUser set cUsersName='张三', cUsersSex='男' where cUsersID ='20084070433'5.2.3 图书信息增加图书insert into book(cBooksISBN, cBooksName, cBooksAuthor, cBooksType, cBooksPrice, cBooksPub
17、lisher, cBooksStore)values ('9787802062373','围城','三毛','小说','29.80','人民日报出版社',3);insert into book(cBooksISBN, cBooksName, cBooksAuthor, cBooksType, cBooksPrice, cBooksPublisher, cBooksStore)values ('3625654585625','Java程序设计','张墨华'
18、;,'计算机','56.50','清华大学出版社',7);删除图书delete from tBook where cBooksISBN=9787802062373;修改图书信息update tBook set cBooksName ='雾',bauthor='巴金' where cBooksISBN ='9787802062373' 5.2.4借书与还书读者借阅图书insert into tBorrow (cUsersNo,cUserName,cBooksISBN,cBooksName, cUser
19、sBorrow);values('070411','李志敏','5625658565452','围城','2011-6-27')读者归还图书insert into tReturn(cUsersNo,cUserName,cBooksISBN,cBooksName, cBorrwTime, cReturnTime);values('070411','李志敏','5625658565452','围城','2011-6-27''2011
20、-7-20');5.3查询举例5.3.1单表查询查询姓李的学生信息select * from tUser where tUsersName like李%;查询借书同学的信息select cUsersName from tBorrow ORDER BY cUsersID;5.3.2.连接查询查询所有借书同学的姓名、手机号及所在的院系select tBorrow.cUsersName,cUsersTel,cUsersDepart from tUser,tBorrow where tUser.cUsersName =tBorrow.cUsersName;5.3.3.嵌套查询查询借某本书的同学
21、的学号、姓名、及联系方式Select cUsersID,cUsersName,cUsersTel from tUser where cUsersID in(select cUsersID from tBorrow where cBooksISBN=5623562514865)六、数据优化数据库的优化主要是指创建视图,索引,以及触发器。以提高查询效率以及扩展该管理系统的功能,使管理员能够更加方便、人性化的对图书进行管理。6.1创建视图如创建视图view图书信息视图create view i_bookasselect*from tBookwhere cBooksType like '计算机
22、'读者信息视图view_count,包含每个读者的姓名、学号和借书数目的信息create view view_count(cUsersName, cUsersNo, cUsersBorrow,)asselect cUsersNo count(*) from. tBorrow group by cUsersName6.2创建索引如在tBook上创建唯一性索引Create unique index tBook_ cBooksType on tBook(cBooksType)在tUser表上的cUserSex列上创建一个位图索引Create bitmap index tUser_sex on
23、 tUser(cUserSex)6.3创建触发器如创建一个触发器,禁止在周日对图书表进行修改Create or replace trigger trg_emp_SundayBegin If to_char(sysdate, 'DY ', 'nls_date_language=american') In ('SUN')Then raise_application_error(-20200, 'Can''t operate on Sunday.');End If;End trigger_trg_emp_Sunday;收
24、获与体会本图书管理系统的数据库分析与设计是由我们小组分工合作利用一周的课余时间完成的,通过这,在这个过程中,我们掌握了系统开发的数据库设计的各个步骤以及文档的书写,例如ER图的绘制,物理结构设计等,并且结合实例提高了数据库代码的编写能力。最重要的是我们学会了如何分工合作。我们的数据库设计基本实现了图书管理系统的学生信息管理、图书信息管理、借书、还书等功能,但是对于大型的图书管可能还有些欠缺,我们会进一步增加其功能以及适用性。另外本组考虑能否添加一个短信提醒功能,即将该系统与读者手机号绑定,当读者所借图书快到还书日期的时会收到该系统的短信提醒,以免读者因种种原因忘记还书而带来不必要的经济损失,当然此功能可能需要更多投资,希望在未来的开发中能够实现。袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店加盟合作协议合同
- 房地产经纪服务合同书
- 13《花钟》教学设计-2024-2025学年语文三年级下册统编版
- 办公家具定制合同协议书
- 房屋租赁合同延期协议
- 新房购买合同范本详解
- 5《草船借箭》(教学设计)-2023-2024学年统编版语文五年级下册
- 4 升华和凝华 教学设计-2024-2025学年教科版物理八年级上册
- 企业高层管理人员劳动合同
- 1《场景歌》教学设计-2024-2025学年二年级上册语文统编版
- 微信视频号运营技巧攻略详解全套
- 2023CSCO非小细胞肺癌诊疗指南解读
- 利息理论期末考试模拟测试试题含参考答案
- 干部选拔任用程序
- 部编人教版五年级下册道德与法治简答题归纳总结
- 2023高二开学第一课《蜕变》-主题班会
- 口服降糖药物分类详解课件
- 二级生物安全实验室设计建造与运行管理指南
- 围手术期疼痛护理课件
- 外国新闻传播史-张昆课件
- 圆圈正义:作为自由前提的信念
评论
0/150
提交评论