数据库课程设计-图书管理系统.docx_第1页
数据库课程设计-图书管理系统.docx_第2页
数据库课程设计-图书管理系统.docx_第3页
数据库课程设计-图书管理系统.docx_第4页
数据库课程设计-图书管理系统.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库应用技术大作业目录1.选题32.题目概述33需求分析33.1功能需求33.2.数据需求43.3数据安全与约束63.4数据流图73.5运行原型84概要设计94.1实体及联系94.2 E-R图95逻辑结构设计115.1数据库模型115.2数据库模型函数依赖集146程序设计157其他考虑157.1建立索引157.2触发器、存储过程、事务167.3复杂查询的SQL语句168运行环境描述188.1选择语言188.2选择数据库191.选题题目:图书管理系统2.题目概述校园图书馆在为师生提供图书资料查询、借阅服务时,面对大量书籍信息、读者信息以及两者间相互联系产生的借书信息和还书信息,人工记录的方法效率低,并且错误率较高,不利于图书馆对书籍和读者借阅的管理。因此需要对书籍信息、读者信息、借还信息进行有效管理,并及时了解各个环节中信息的变更,便于数据的管理。3需求分析3.1功能需求(1)读者信息管理浏览读者信息;增加读者信息:读者区分教师、学生,增加新的读者信息并办理借阅卡;修改读者信息:对借书证进行挂失、注销等操作,当读者有未还图书时,不允许注销;(2)图书信息管理增加新图书信息:对新购的图书进行登记;提供图书查询:对图书的编号、书名、作者、出版社等关键字进行搜索;图书信息修改:对图书的数量、分类、馆藏等资料进行修改;(3)图书借阅、归还管理读者借书:每本图书有一定的借阅期限,所借阅的数量不能超过允许数量的最大值;读者还书:对丢失、逾期、损坏的图书进行记录并进行罚款处理;(4)图书馆管理者信息管理对管理者信息进行数据的添加、修改、删除操作;查询浏览当前数据库中管理者信息;(5)数据信息综合查询读者可以根据借书证号对自己的借阅情况进行查询;(6)数据的整理统计对不同读者的借阅情况进行统计;对每种图书在一段时间的借阅次数进行统计。3.2.数据需求根据系统和用户的具体需求,对需要记录的信息进行分类,需记录的信息如下:(1) 读者信息数据:读者信息数据借阅证号(不超过10位数字)姓名(不超过5个汉字)院系(不超过20个汉字)专业性别持有数量(不超过3个汉字)读者类别(分为老师、学生两种)(2) 图书信息数据:图书信息数据图书编号(不超过20位数)ISBN号(不超过30位数)图书名称文种(不超过10个汉字)作者(不超过5个汉字)出版社(不超过20个汉字)出版日期价格关键字馆藏册数流通册数是否在馆(3) 借阅信息数据:借阅信息数据借阅证号(不超过10位数字)图书编号(不超过20位数)图书名作者借阅日期应归还日期实际归还日期能否续借罚金(4) 管理者信息数据:管理者信息数据管理者编号(不超过10位数字)姓名(不超过5个汉字)性别住址电话对应密码对应权限3.3数据安全与约束(1)数据库的完整性:保证数据库中数据的正确性和相容性,防止合法用户使用数据库时向数据库加入不和语义的数据,要对输入到数据库的数据进行审核和约束。可通过建立主键、外键,使用check约束、触发器或者联机更新进行控制。(2)数据库具有可伸缩性:对数据库结构的设计应充分考虑发展和移植的需要,需要具有良好的拓展性、伸缩性和适度冗余(3)数据库的安全性:保护数据库中数据的安全,防止非法用户使用数据库或合法用户非法使用数据库造成的数据泄露、数据更改、数据破坏等行为。可以通过视图控制机制,不同的用户只能访问系统授权的视图,再通过设置权限级别区别对待不同操作者对数据库的操作。结合图书管理系统,数据的安全与约束如下:(1) 图书“是否在馆”“流通册数”动作修改,不能管理员后台进行输入,要在图书“借阅”或者“归还”后,自动修改;(2) 借阅信息数据表中的“借阅日期”“应还日期”“实际归还日期”不能管理员后台图书管理输入,只能根据系统实际时间进行记录。3.4数据流图3.5运行原型4概要设计4.1实体及联系读者(借阅证号,姓名,院系,专业,性别,持有数量,读者类型)图书(图书编号,ISBN号,图书名称,文种,作者,出版社,出版日期,价格,关键字,馆藏册数,是否在馆)借阅管理(图书编号,借阅证号,姓名,图书名,作者,借阅日期,应归还日期,实际归还日期,能否续借,罚金)管理员(管理者编号,姓名,行呗,住址,电话,对应密码,对应权限)4.2 E-R图(1)读者信息实体的E-R图(2)图书信息实体的E-R图(3)借阅信息实体的E-R图(4)管理者信息实体的E-R图(5)实体与属性关系E-R图5逻辑结构设计5.1数据库模型(1)读者信息表字段名称数据类型可否为空是否为关键字说明readerIDVarchar(10)not null(主键)是借阅证号readernameVarchar(10)not null否读者姓名departmentVarchar(20)not null否读者院系MajorVarchar(20)not null否专业readersexVarchar(2)not null否性别Numberintnull否持有数量readertypeVarchar(10)not null否读者类别(2)图书信息表字段名称数据类型可否为空是否为关键字说明bookIDVarchar(20)not null(主键)是图书编号ISBNchar(10)not null否ISBN号booknameVarchar(20)not null否图书名称BooktypeVarchar(10)not null否图书文种bookauthorVarchar(10)not null否图书作者PublishVarchar(20)not null否出版社publishdatadatatimenot null否出版日期PriceVarchar(6)not null否价格KeywordsVarchar(10)not null否关键字havenumberintnot null否馆藏册数outnumberintnot null否流通册数Statuschar(10)not null否是否在馆(3)借阅信息表字段名称数据类型可否为空是否为关键字说明readerIDVarchar(20)not null(主键)是借阅证号readernameVarchar(10)not null否读者姓名bookIDVarchar(20)not null否图书编号BooknameVarchar(20)not null否图书名称BookauthorVarchar(10)not null否作者BorrowdataDatatimenot null否借阅日期ReturntimeDatatimenot null否应归还日期FacttimeDatatimenot null否实际归还日期GoonVarchar(10)not null否能否续借FeeFloatnot null否罚金(4)管理员信息表字段名称数据类型可否为空是否为关键字说明adminIDVarchar(12)not null(主键)是管理者编号AdminnameVarchar(10)not null否姓名AdminsexVarchar(2)not null否性别AddressVarchar(20)not null否住址PhoneVarchar(12)not null否电话PasswordVarchar(20)not null否对应密码PowerVarchar(20)not null否对应权限5.2数据库模型函数依赖集如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R为第三范式模式。满足第三范式(3NF)必须先满足第二范式(2NF)。第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。所以满足第三范式后,借阅管理这个表修改成如下:修改前:借阅管理(图书编号,借阅证号,姓名,图书名称,作者,借阅日期,应归还日期,实际归还日期,能否续借,罚金)修改后:借阅管理(图书编号,借阅证号,借阅日期,应归还日期,实际归还日期,能否续借,罚金)6程序设计7其他考虑7.1建立索引为了提高在表中搜索元组的速度,在实际实现的时候基于各表主键建立索引,建立索引的表项如下:(1) 读者信息表(借阅卡号)(2) 图书信息表(图书名称,图书的编号)(3) 管理员信息表(管理员编号)(4) 图书借阅信息表(借阅卡号,图书编号,图书名称)7.2触发器、存储过程、事务7.3复杂查询的SQL语句建立各表SQL语句(1)create table读者信息(readerID varchar(10) not null primary key,Readernamevarchar(10) not null,Departmentvarchar(20) not null,Majorvarchar(20) not null,Readersexvarchar(2) not null,Numberint,Readertypevarchar(10), not null)(2)create table图书信息(bookID varchar(20) not null primary key,ISBN char(10) not null,booknamevarchar(20) not null,booktypevarchar(10) not null,bookauthorvarchar(10) not null,Publish varchar(20)not null,Publishdata datatime not null,Price vatchar(6) not null,keywordsvarchar(10), not null,havenumber int not null,outnumber int not null,status char(10) not null)(3)create table借阅信息(bookID varchar(20) not null primary key,ReaderIDvarchar(20) not null,bookauthorvarchar(10) not null,borrowdatadatatime not null,returntimedatatime not null,facttimedatatime not null,Goonvarchar(10) not null,Fee float )(4)create table管理员信息(adminID varchar(12) not null primary key,adminname varchar(10) not null,adminsexvarchar(2) not null,address varchar(20) not null,phone varchar(12) not null,passwordvarchar(20) not null,powervarchar(20) not null)定义视图(1)读者表视图CREATE VIEW读者视图ASSELECT *FROM读者(2)图书表视图CREATE VIEW图书视图ASSELECT *FROM图书8运行环境描述8.1选择语言程序开发语言选择C#。因为C#语言是一种现代的、面向对象的语言,它简化了C+语言在类、命名空间、方法重载和异常处理

温馨提示

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

评论

0/150

提交评论