数据库应用设计文档

上传人:nu****n 文档编号:100976080 上传时间:2022-06-04 格式:DOC 页数:26 大小:1.45MB
收藏 版权申诉 举报 下载
数据库应用设计文档_第1页
第1页 / 共26页
数据库应用设计文档_第2页
第2页 / 共26页
数据库应用设计文档_第3页
第3页 / 共26页
资源描述:

《数据库应用设计文档》由会员分享,可在线阅读,更多相关《数据库应用设计文档(26页珍藏版)》请在装配图网上搜索。

1、数据库课程设计1系统功能简介:系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。提供对书籍进行的预先预订的功能。提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对

2、数据库进行修改。能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。提供较为完善的差错控制与友好的用户界面,尽量避免误操作。2、系统功能需求分析要求: (1) 读者管理:读者信息的制定、输入、修改、查询,包括级别、性别、借书数量、借书期限、备注等。 (2) 书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。 (3) 借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处理和书籍丢失后的处理。(4)系统管理:包括用户权限管理,数据管理和自动借还书机的管理 满足以上需求的系统主要包含有一下几个子系统(1)基本业务功能子系统:该系统中主要包含了

3、借书还书和预订等功能。(2)基本数据录入功能子系统:该子系统主要包含有书籍信息和读者信息录入功能。(3)信息查询子系统:包含了多功能的查询书籍信息和读者信息。(4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。(5)帮助功能子系统:正在建设中。系统应具备的功能:1. 详细记录每天的图书借阅量,读者增加减少量。2. 图书馆对每本书的信息都有详细记录,每个读者的信息也应有详细的记录。3. 图书馆都每个员工的信息也有详细的记录,拥有不同权限的读者可以查到的员工信息完整度也是不同的,员工可以查询到每位读者的完整信息。4. 数据库的信息可以随时更新。 四个子系统的

4、功能:基本业务功能:每位普通读者一次只能借五本不同的书,一本书一次只能借给一位读者。高级读者每次可以预订一本书,每本书每次只能被一位读者预订。被预订的图书不能借给别人。高级读者一次可以借阅十本不同的书。基本数据录入功能:每本图书只能有一个图书索引号,每个图书索引号可以对应几本相同的图书。每本图书只能有一个图书编号,每个图书编号只能对应一本图书。每位读者只能有一个读者证,每个读者证只能对应一位读者。每位读者只能有一个读者证号,每个读者证号只能对就一位读者。信息查询功能。每位读者可以查询不同的书籍信息,每本书可以被不同的读者查询。每位读者可以查询自己的读者信息。员工可以查询不同的读者信息。数据库管

5、理功能:读者可以查询自己的借阅信息。读者可以查询每本书籍的借阅状态。读者可以查询每本图书的预订状态。员工可以查询不同读者的借阅信息。员工可以查询每本书籍的借阅状态。员工可以查询每本图书的预订状态。三:系统设计。系统图:图书管理系统整体功能图示1图书馆管理系统的数据流图:显示系统界面 有效用户及密码处理用户名与密码输入用户名及密码用户 输入有效命令反馈给用户处理修改密码修改用户名及密码处理命令 修改用户表书籍修改命令借.还书书籍入库及修改信息显示结果处理借还书命令 修改书籍信息表 修改借、还书表该图书馆管理系统的用例图如下:图书馆管理系统的用例图从用例图中我们可以看出管理员和读者之间对本系统所具

6、有的用例。2管理员所包含的用例有:登录系统:管理员可以通过登录该系统进行各项功能的操作书籍管理:包括对书籍的增删改等。书籍借阅管理:包括借书、还书、预订、书籍逾期处理和书籍丢失处理等等。读者管理:包含对读者的增删改等操作。自动借书机的管理。读者所包含的用例有:登录系统借书:进行借书业务。还书:读者具有的还书业务。查询:包含对个人信息和书籍信息的查询业务预订:读者对书籍的预订业务。逾期处理:就是书籍过期后的缴纳罚金等。书籍丢失处理:对书籍丢失后的不同措施进行处理。自动借书机的使用等。3、系统的顺序图顺序图是显示对象之间交互的图,这些对象是按时间顺序排列的。该图书馆管理系统主要含有以下几个重要的顺

7、序图,其他对象的顺序图和这些也类似。借书顺序图还书顺序图借书顺序图:图书馆管理系统借书顺序图【顺序图说明】login():登录系统。checkstu_card():对读者信息进行验证,检查是否符合本图书馆借书条件。showinformation():显示该读者的基本信息函数。borrow():读者借书函数。getreaders():取得读者信息函数。看该读者是否符合借书条件,若符合,则返回可借信息。gettitle():取得书目信息。getreservation():检验书籍是否被预订函数。getnoreservation():书籍没被预订或取消预订函数。create(borrower,ite

8、m):创建书籍外借函数。借书时,读者先将书拿予管理员,管理员对书籍和读者进行检验,若书籍和读者都符合借书条件,则借书成功。还书顺序图:图书馆管理系统还书顺序图【顺序图说明】login():登录系统。getitem():取得书籍条目信息。update():对图书馆书籍条目和借阅者信息进行更新条目。还书时,读者先将书交给管理员,由管理员扫描书籍,若书籍没有过期等违规现象,则对书目和读者借阅信息进行更新,同时还书成功。书籍在未变成图书馆在库书籍时,为新加书籍状态。书籍处于在库状态时既可以预订也可以外借,外借后变为借出状态。处于预订状态时不可以外借,超出预订时间期限则从预订状态直接转为可借状态。借阅者

9、在规定的预订时间内也可以考虑取消预订,取消预订后书籍的状态转为可借。外借书籍归还后变为可借状态。图书馆的书籍状态图【借书数据流程图说明】 管理员首先要扫描读者的借书证,检验证件是否符合图书馆借书条件,若该读者的借书数量还未达到最大规定数量,并且其所借书籍均未属于过期范围,则符合借书条件。则再扫描书籍条形码,检查书籍是否是不可借书籍或者已经被预订,若被预订,则取消预订,方可借书。在这些条件都符合时则更新书籍信息和读者的借阅信息,记录好借书的时间。图书馆管理系统的借书数据流程图4、还书数据流程图【还书数据流程图说明】图书管理员对书籍进行扫描,若书籍已经过期,则要求读者还请欠款才能还书,读者缴应交罚

10、款后,更新书目信息和读者信息。图9:图书馆管理系统的还书数据流程图5、预订图书数据流程图【预订书籍数据流程图说明】读者先进入系统查询自己所需要的书籍,显示书籍信息,检验书籍是否属于可预订书籍,若符合条件则检查书籍是否已经被预订或已经被外借,若都未成立,则读者登录系统,并对该书籍进行预订。图书馆管理系统预订书籍数据流程图6、图书馆管理系统的类图【类图说明】(1)reader类是借阅者的类,它的属性很多,包括借阅者的账户ID(reader_id)、姓名(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。其中主要操作有借书(addborrow

11、ed)和还书(deleteborrowed)和预订(reservation)等。(2)admin类是管理员类,他有编号和姓名属性,操作主要是书籍的增删改和读者的增删改等等。(3) Title 类是记录书目信息的类,包括书籍的名字(name)、作者(author)、book_id等属性。(4) Item 类是具体某本书的类,属性包括书籍号(id)。操作包括预订(reserve)、按书目查找(find_on_title)等。(5) borrow类是某本书的借阅信息类,包括所借阅书籍的ISBN、借阅的时间(date)等。(6) Reservation类是预订信息类,每个预订信息包括预订日期(date

12、)、所预订书籍的ISBN、预订书籍的用户ID(UserID)等属性。(7) persistent store类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。图11:图书馆管理系统的类图及关系四、图书馆管理系统数据库建模 考虑到系统的推广性,本系统采用SQL SERVER2000作为数据库。并且采用PowerDesigner进行数据建模,从而自动生成sql脚本。5.1、数据库概念设计1、数据库表设计 (1) 管理员表admin:管理员编号(admin_id),管理员姓名(admin_name),密码(admin_password),登录次数(logins),最

13、后一次登录时间(lastlogin)和权限(right)。 (2) 读者表reader:读者编号(reader_id),读者姓名(reader_name),性别(sex),年龄(age),班级(class),最大借书量(maxborrowed)借书总量(amount)和权限(right)。(3)书籍表books:书籍编号(book_id),书名(title),作者(author),出版社(book concert),价格(price),出版时间(time),在库总量(amount),剩余量(remain)。(4)借阅信息表(borrow_information):书籍编号(book_id),读

14、者编号(reader_id),借书时间(borrow_time),到期时间(end_time),归还时间(return_time).(5)预订信息表:读者编号(reader_id),书籍编号(book_id),预订时间(reservation_time),取消预订时间(reservationcanceltime).(6) 书籍类型表booktype:书籍类型编号(type_id),书籍类型名称(type_name).(7) 用户权限表right:权限(right)。2、图书管理系统个实体之间的E-R图各部分E-R图如下:(1)读者信息类别实体E-R图读者编号借书期限借书数量种类名称读者类别实体

15、4-1 读者类别实体E-R图(2)书籍信息类别实体E-R图图书编号书籍类别出版社书籍名称书籍类别实体4-2 书籍类别实体E-R图(3)图书借阅实体E-R图:图书借阅实体借阅编号书籍信息借书日期读者信息4-3 图书借阅实体E-R图投诉读者类别信息图书类别信息读者信息管理书籍信息管理读者登记书籍登记借阅信息管理4-5实体之间关系的E-R图借阅关系(读者、管理员、书籍三元关系)图4-6 CDM图五.逻辑模型设计和优化从理论E-R模型到理论关系模型的整理转换,通过E-R模型到关系模型的转化,可以得到如下关系模式: 借阅关系 属性:工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注。 主键:

16、工作号,读者学号,ISBN 管理员_书籍关系 属性:工作号,ISBN,添加时间,是否在馆 主键:工作号,ISBN 管理员_学生关系 属性:工作号,读者学号,确认借还 主键:工作号,读者学号通过由概念模型设计得到CDM图powerdesigner转换成对应的PDM图:PDM图5.1图书信息表列名数据类型可否为空ISBNvarchar否书名varchar否作者varchar否出版社varchar是出版日期datetime是简介varchar是5.2 读者信息表列名数据类型可否为空读者学号varchar否读者姓名varchar否读者性别varchar否联系电话varchar是所在院系varchar否

17、5.3 管理员信息表列名数据类型可否为空工作号varchar否姓名varchar否性别varchar否电话varchar是家庭住址varchar是5.4 借阅表 列名数据类型可否为空工作号char否ISBNchar否读者学号char否借阅日期datetime否还书日期datetime否是否续借char否5.5 管理员_书籍 列名数据类型可否为空工作号char否ISBNchar 否添加时间datatime是是否在馆char是5.6 管理员_学生 列名数据类型可否为空工作号char否读者学号char否借还确认char否六.物理设计和实施 从理论关系模型到实现实施数据库建立,物理文件的安排和建立索引

18、 1 建立索引 为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项: (1)读者信息(读者学号) (2)书籍信息(ISBN) (3)管理员信息(工作号) (4)借阅(工作号,读者学号,ISBN) (5)管理员_书籍(工作号,ISBN) (6)管理员_学生(工作号,读者学号) 6.2 SQL语句如下所示:/*=*/* Table: 书籍信息 */*=*/create table 书籍信息 ( ISBN char(20) not null, 书名 char(20), 作者 char(10), 出版社 char(15), 出版日期 char(30), 简介 ch

19、ar(160), constraint PK_书籍信息 primary key (ISBN);/*=*/* Index: 书籍信息_PK */*=*/create unique index 书籍信息_PK on 书籍信息 (ISBN ASC);/*=*/* Table: 投诉 */*=*/create table 投诉 ( 工作号 char(10) not null, 学号 char(10) not null, 投书意见 char(100), 投诉日期 char(30), 受诉日期 char(30), constraint PK_投诉 primary key (工作号, 学号);/*=*/*

20、Index: 投诉_PK */*=*/create unique index 投诉_PK on 投诉 (工作号 ASC,学号 ASC);/*=*/* Index: 投诉_FK */*=*/create index 投诉_FK on 投诉 (工作号 ASC);/*=*/* Index: 投诉2_FK */*=*/create index 投诉2_FK on 投诉 (学号 ASC);/*=*/* Table: 登记 */*=*/create table 登记 ( 工作号 char(10) not null, 学号 char(10) not null, ISBN char(20) not null,

21、 证书日期 char(30) not null, 还书日期 char(30) not null, 违章状况 char(160), 累计借书 char(160), 备注 char(160), constraint PK_登记 primary key (工作号, 学号, ISBN);/*=*/* Index: 登记_PK */*=*/create unique index 登记_PK on 登记 (工作号 ASC,学号 ASC,ISBN ASC);/*=*/* Index: 登记_FK */*=*/create index 登记_FK on 登记 (工作号 ASC);/*=*/* Index: 登

22、记2_FK */*=*/create index 登记2_FK on 登记 (学号 ASC);/*=*/* Index: 登记3_FK */*=*/create index 登记3_FK on 登记 (ISBN ASC);/*=*/* Table: 管理员信息 */*=*/create table 管理员信息 ( 工作号 char(10) not null, 姓名 char(10), 性别 char(5), 电话 char(15), 所在院系 char(25), constraint PK_管理员信息 primary key (工作号);/*=*/* Index: 管理员信息_PK */*=*

23、/create unique index 管理员信息_PK on 管理员信息 (工作号 ASC);/*=*/* Table: 读者信息 */*=*/create table 读者信息 ( 学号 char(10) not null, 姓名 char(10), 性别 char(5), 电话 char(15), 所在院系 char(25), constraint PK_读者信息 primary key (学号);/*=*/* Index: 读者信息_PK */*=*/create unique index 读者信息_PK on 读者信息 (学号 ASC七.主要数据操纵语句1管理员操作 (1)注册(r

24、egister) INSERT INTO 管理员 (工作号,姓名,性别,电话,家庭住址,备注) VALUES(#工作号,#姓名,#性别,#电话,#家庭住址,#备注) 说明:在登记操作后,管理员得到一个唯一的工作号,可以根据这个工作号采查询和修改数据。 (2)注销(unregister) DELETE FROM Provider WHERE(工作号=#工作号); (3)修改个人信息(update) UPdate 管理员 Set (工作号=#工作号,姓名=#姓名,性别=#性别,电话=#电话,家庭住址=#家庭住址) WHERE(工作号#工作号) (4)增加书籍(addbooks) INSERT IN

25、TO 图书 (ISBN,书名,作者,出版社,出版日期,简介,) VALUES(#ISBN,#书名,#作者,#出版社,#出版日期,#简介,#备注) INSERT INTO 管理员_书籍表(工作号,ISBN,添加时间,是否在馆) VALUES(#工作号,#ISBN,#添加时间,#是否在馆) (5)删除书籍(deletebooks) DELETE 图书 WHERE(ISBN =# ISBN) (6)修改书籍(updatebooks) UPDATE 图书(书名=#书名, 作者=#作者, 出版社=#出版社, 出版日期= #出版日期, 简介=#简介) WHERE(ISBN =# ISBN) 2读者操作 (

26、1)注册(register) INSERT INTO 读者(读者学号,读者姓名,读者性别,联系电话,所在系, 生效日期,失效日期,违章状况,累计借书,备注) VALUES(#读者学号,#读者姓名,#读者性别,#联系电话,#所在系, #生效日期,#失效日期,#违章状况,#累计借书,#备注) 说明:在登记操作后,读者得到一个唯一的ID,可以根据这个ID来查询和修改自己的信息。 (2)注销(unregister) DELETE 读者 WHERE(读者学号=#读者学号) (3)修改个人信息(update) UPDATE 读者 Set(读者姓名=#读者姓名,联系电话=#联系电话, 所在系=#所在系,生效

27、日期=#生效日期,失效日期=#失效日期, 违章状况=#违章状况,累计借书=#累计借书,备注=#备注) WHERE(读者学号=#读者学号) (4)查询(select) SELECT ISBN,书名,作者,出版社 FROM图书 WHERE ISBN=#ISBN OR书名=#书名 3管理员对借阅关系的操作 (1)插入读者的信息(insert) INSERT INTO 借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注) VALUES(#工作号,#读者学号,#ISBN,#是否续借,#借书日期, #还书日期,#备注) (2)更新信息(update) 更新借出信息 UPDATE借阅 SE

28、T(借书日期=#借书日期,还书日期=借书日期+30,是否续借=0) WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN =#ISBN) UPDATE管理员_图书 SET(是否在馆=0) WHERE(ISBN=#ISBN) UPDATA 学生 SET (累积借书=累积借书+1) WHERE(读者学号=#读者学号) INSERT INTO管理员_学生(工作号,读者学号,确认借还,ISBN) VALUES(#工作号,#读者学号,”0”, #ISBN) 更新续借信息 UPDATE 借阅 SET(是否续借=#是否续借) WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN =#ISBN) 更新还书信息 UPDATE管理员_图书 SET(是否在馆=1) WHERE(ISBN=#ISBN) UPDATE管理员_学生 SET(确认借还=”1”) WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN=#ISBN)八数据库设计与实现本设计的页面截屏如下:数据库建表:登录界面:输入信息:功能预览:书籍查看:实现记录:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!