数据库图书馆管理系统_第1页
数据库图书馆管理系统_第2页
数据库图书馆管理系统_第3页
数据库图书馆管理系统_第4页
数据库图书馆管理系统_第5页
已阅读5页,还剩8页未读, 继续免费阅读

下载本文档

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

文档简介

一.课程设计目的数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。通过本实验达到以下目的:(1)熟练掌握一种数据库系统(如SQLSERVER)的使用。(2)熟练掌握一种数据库应用软件开发工具的使用。(3)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。二.课程设计任务与要求:1、任务:图书管理系统问题描述:1)学校图书室有各种图书几十万余册。2)每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社等。3)借书证记录有借阅者的借书证编号,读者姓名,读者性别,读者种类,登记时期等。4)凭借书证借书,学生每次最多能借5本书,借书期限最长为30天,老师每次最多能借10本,借书期限最长为60天。2、设计要求:1)实现新进图书的数据录入和下架图书的数据删除。2)实现借阅者图书证信息的录入和删除。3)实现对所有购进图书的分类查询和分类统计。4)能够按书名、作者等分类查询现有图书的数量。5)能够记录借阅者的个人资料和所借图书的书名、书号、借书时间等6)能够进行借书还书处理。7)能够进行借书逾期罚款处理。8)能够进行用户管理。9)设计一完整的数据库。要求掌握数据库的设计的每个步骤;掌握数据设计各阶段的输入、输出、设计环境、目标和方法;熟练的使用SQL语言实现数据库以及数据库重要对象的建立、应用和维护。三.课程设计说明书1需求分析(1)数据需求图书馆管理信息系统需要完成功能主要有:①读者基本信息的输入,包括借书证编号、读者姓名、读者性别等。②读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。③书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。④书籍类别信息的查询、修改,包括类别编号、类别名称。⑤书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。⑥书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期,登记日期等。⑦借书信息的输入,包括读者借书证编号、书籍编号、借书日期。⑧借书信息的查询、修改,包括借书证编号,读者姓名、书籍编号、书籍名称、借书日期等。⑨还书信息的输入,包括借书证编号、书籍编号、还书日期。⑩还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。⑪超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。⑫超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等⑬管理员管理:包括创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。⑭超级管理员管理:包括创建管理员用户信息、删除管理员用户信息、创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。(2)事物需求①在读者信息管理部分,要求:a.可以查询读者信息。b.可以对读者信息进行添加及删除的操作。②在书籍信息管理部分,要求:a.可以浏览书籍信息b.可以对书籍信息进行维护,包括添加及删除的操作。③在借阅信息管理部分,要求:。a.可以浏览借阅信息。b.可以对借阅信息进行维护操作。④在归还信息管理部分,要求:a.可以浏览归还信息b.对归还信息可修改维护操作⑤在管理者信息管理部分,要求:a.显示当前数据库中管理者情况。b.对管理者信息维护操作。⑥在罚款信息管理部分,要求:a.可以浏览罚款信息b.对罚款信息可以更新⑶关系模式(1)书籍类别(类别编号,类别名)(2)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期,可借书数,已借书数,逾期未还书数)(3)管理员(管理员编号,管理员姓名,管理员密码,管理员权限)(4)超级管理员(管理员编号,管理员姓名,管理员密码,管理员权限)(5)书籍(书籍编号,书籍名称,书籍类别,书籍作者,出版社名称,出版日期,登记日期)(6)借阅(借书证编号,书籍编号,读者借书时间)(7)还书(借书证编号,书籍编号,读者还书时间)(8)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)

2概要设计(1)实体图及E-R图根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。a.读者信息实体图:b.管理员实体图

3逻辑设计表3-1book_sytle书籍类别信息表表中列名数据类型可否为空说明类别编号varcharnotnull(主键)种类编号类别名称Varcharnotnull种类名称表3-2 system_readers读者信息表格表中列名数据类型可否为空说明读者借书证号varcharnotnull(主键)读者借书证号读者姓名varcharnotnull读者姓名读者性别varcharnotnull读者性别读者种类varcharnotnull读者种类可借书数datetimenull登记日期书名intnull可借书数已借书数intnull已借书数逾期未还书数intnull逾期未还书数表3-3system_book书籍信息表表中列名数据类型可否为空说明书籍编号VarcharNotnull(主键)书籍编号书籍名称VarcharNotnull书籍名称续表3-3书籍类别VarcharNotnull书籍类别书籍作者VarcharNotnull书籍作者书籍出版社VarcharNull出版社名称出版时间DatetimeNull出版日期收录时间DatetimeNull登记日期是否被借BitNotNull是否被借出表3-4borrow_record借阅记录信息表表中列名数据类型可否为空说明读者借书证号VarcharNotnull(外主键)读者借阅证编号书籍类别编号VarcharNotnull(外主键)书籍编号借阅时间DatetimeNotnull读者借书时间表3-5return_record借阅记录信息表表中列名数据类型可否为空说明读者姓名VarcharNotnull(外主键)读者借阅证编号读者借书证号VarcharNotnull(外主键)书籍编号归还时间datetimeNotnull读者还书时间表3-6reader_fee罚款记录信息表表中列名数据类型可否为空说明

读者借书证号varcharNotnull读者借书证编号读者姓名varcharNotnull读者姓名书籍类别编号varcharNotnull(外主键)书籍编号书^名称varcharNotnull书籍名称罚款金额SmallmoneyNotNull罚款金额借阅时间datetimeNotNull借阅时间表3-7system_Administrator管理员信息表表中列名数据类型可否为空说明管理员编号varcharnotnull(主键)管理员编号管理员姓名varcharnotnull管理员姓名管理员密码varcharnotnull管理员密码管理员权限varcharnotnull管理员权限表3-8system_Super_Administrator管理员信息表表中列名数据类型可否为空说明管理员编号varcharnotnull(左键)管理员编号超级管理员姓名varcharnotnull管理员姓名超级管理员密码varcharnotnull管理员密码超级管理员varcharnotnull管理员权限4关系图:ft王”maski曲ek»aflkllifetnakfccLtoiiiai・・"!.亡r»dfir_£H图2-8数据库存表关系图5物理设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。(1)建立索引:①对book_style表在bookstyleno属性列上建立聚集索引,在bookstyle属性列上建立非聚集索引。②对System_book表在bookid上建立聚集索弓|,在bookname、bookstyleno、boookauther、bookpub上建立非聚集索引。③对return_record表在bookid上建立聚集索引,在readerid上建立非聚集索引④对reader_fee表在bookid上建立聚集索引,在readerid上建立非聚集索引。⑤对system_reader表在readerid列上建立聚集索引⑥对boorow_record表在bookid上建立聚集所以,在readerid上建立非聚集索引⑦对system_Administrator表在administratorid列上建立聚集索引。⑧对system_Super_Administrator表在superadministratorid上建立聚集索弓I。(2)存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。所以系统将日志文件和数据文件存放在不同磁盘上。6数据库建立(1)创建数据库USEmasterGOCREATEDATABASElibrarysystemON(NAME=librarysystem,FILENAME='d:\librarysystem.mdf,SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME='library',FILENAME='e:\librarysystem.ldf,SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)GO-(2)书本类别表建立createtablebook_style(类别编号varchar(30)primarykey,类别名称varchar(30))g。-(3)创建书库表createtablesystem_books(书籍编号varchar(20)primarykey,书籍名称varchar(30)Notnull,书籍类别编号varchar(30)Notnull,书籍作者varchar(30),书籍出版社varchar(30),出版时间datetime,书籍收录时间datetime,是否被借bit,foreignkey(书籍类别编号)referencesbook_style(书籍类别编号),)go-(4)读者信息表建立createtablesystem_readers(读者借书证号varchar(9)primarykey,读者姓名varchar(9)notnull,读者性别varchar(2)notnull,读者种类varchar(10),登记时间datetime,可借书数int,已借书数int,逾期未还书数int)g。-(5)借书记录表建立createtableborrow_record(书籍编号varchar(20)primarykey,读者借书证号varchar(9),借阅时间datetime,foreignkey(书籍编号)referencessystem_books(书籍编号),foreignkey(读者借书证号)referencessystem_readers(读者借书证号),)go-(6)还书记录表建立createtablereturn_record(书籍编号varchar(20)primarykey,读者借书证号varchar(9),归还时间datetime,foreignkey(书籍编号)referencessystem_books(书籍编号),foreignkey(读者借书证号)referencessystem_readers(读者借书证号))go-(7)罚款单表建立*/createtablereader_fee(读者借书证号varchar(9)notnull,读者姓名varchar(9)notnull,书籍编号varchar(20)primarykey,书籍名称varchar(30)Notnull,罚款金额smallmoney,借书时间datetime,foreignkey(书籍编号)referencessystem_books(书籍编号),foreignkey(读者借书证号)referencessystem_readers(读者借书证号))go-(8)管理员表建立createtablesystem_Administrator(管理员编号varchar(9)primarykey,管理员姓名varchar(9)notnull,管理员密码varchar(2)notnull,管理权限varchar(10)

)go--(9)超级管理员表建立createtablesystem_super_Administrator(超级管理员编号varchar(9)primarykey,超级管理员姓名varchar(9)notnull,超级管理员密码varchar(2)notnull,超级管理员权限varchar(10))go(10)索引的创建uselibrarysystemg。createindexcreateindexcreateindexcreateindexcreateindexcreateindexcreateindexbookstyle_index_styleborrow_record_index_readeridreader_fee_index_readeridreturn_record_index_readeridsystem_books_index_booknamesystem_books_index_stylenosystem_books_index_bookauthoronononononong。createindexcreateindexcreateindexcreateindexcreateindexcreateindexcreateindexbookstyle_index_styleborrow_record_index_readeridreader_fee_index_readeridreturn_record_index_readeridsystem_books_index_booknamesystem_books_index_stylenosystem_books_index_bookauthoronononononononbook_style(书籍类别)borrow_record(读者借书证号)reader_fee(读者借书证号)return_record(读者借书证号)system_books(书籍名称)system_books(书籍类别编号)system_books(书籍作者)7数据初始化(1)将书籍类别加入表book_style中insertintobook_style(书籍类别编号,书籍类别)values('1','人文艺术类')insertintobook_style(书籍类别编号,书籍类别)values('2','自然科学类')insertintobook_style(书籍类别编号,书籍类别)values('3','社会科学类')insertintobook_style(书籍类别编号,书籍类别)values('4','图片艺术类')insertintobook_style(书籍类别编号,书籍类别)values('5','政治经济类’)insertintobook_style(书籍类别编号,书籍类别)values('6','工程技术类')insertintobook_style(书籍类别编号,书籍类别)values('7','语言技能类')(2)将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样)insertintosystem_books(书籍编号,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('00125415152',计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('00125415153',计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('00456456','数据库原理','6','萨师煊','高等教育出版社','2007-07-02','2007-09-15','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('12215121','C程序设计','6',谭浩强','清华大学出版社','2002-04-02','2004-03-14','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('9787308020558',计算机体系结构','6','石教英','浙江大学出版社','2004-10-03','2006-11-15','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('45456141414',数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学出版社','2002-06-28','2004-01-21','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('5455515','中华历史5000年','1','吴强','北京大学出版社','2005-04-03','2006-05-15','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('015115',古代埃及','3','赵文华','北京大学出版社','2001-02-02','2002-09-15','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('1514514','日本文化','1','吴小鹏','北京大学出版社','2002-04-02','2004-03-14','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('15154656',微观经济学','5','李小刚','北京大学出版社','2000-10-03','2001-11-15','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('5658',影视文学','4','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)values('565800020','探索宇宙奥秘','2',苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');8数据库用户权限管理该系统设置四种类型的用户超级管理员(superadministrator)即系统管理员拥有所有的权限。管理员(administrator)可以进行借还书处理;教师(teacher):只能浏览图书信息,可借书数为10本,借书时间长为2个月。学生(student):只能浏览图书信息,可借书5本,借书时间长为1个月。9、建立触发器,存储过程 -建立借书记录存贮过程CREATEPROCEDURESP_BORROWBOOK@书籍编号CHAR(20),@读者借书证号CHAR(9)ASINSERTINTOBORROW_RECORD(书籍编号,读者借书证号,借书日期)VALUES(@书籍编号®读者借书证号,GETDATE())GO 建立还书记录存贮过程CREATEPROCEDURESP_RETURNBOOK@书籍编号CHAR(20),@读者借书证号CHAR(9)ASDELETEFROMRETURN_RECORDWHERE书籍编号=@书籍编号AND读者借书证号=@读者借书证号GO 建立罚款单存贮过程CREATEPROCEDURESP_READERFEE©读者借书证号,@借书日期ASUPDATE读者罚款信息SET罚款金额=0.1*(day(getdate())-day(@borrowdate))Where@读者=@读者借书证号And借书日期=@借书日期 建立借书记录表增加触发器CREATETRIGGER[TR_ADDLEND]ON[dbo].[BORROW_RECORD]FORINSERTASupdatesystem_booksset是否被借=1WHEREBOOKIDIN(SELECTBOOKIDFROMinserted)UPDATEREADERSETborrowednum=borrowednum+1WHEREREADERIDIN(SELECTREADERIDFROMinserted) 建立还书记录删除触发器CREATETRIGGER[TR_DELLEND]ON[dbo].[return_record]FORDELETEASupdatesystem_bookssetisborrowed=0WHEREBOOKIDIN(SELECTBOOKIDFROMdeleted)UPDATEsystem_readersSETborrowednum=borrowednum-1WHEREREADERIDIN(SELECTREADERIDFROMdeleted) 建立删除图书触发器CREATETRIGGER[TR_DELLENDBOOK]ON[dbo].[system_books]FORDELETEASDeletereader_feeWHEREBOOKIDIN(SELECTBOOKIDFROMdeleted)Deletereturnreco

温馨提示

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

评论

0/150

提交评论