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

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上一课程设计目的数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。通过本实验达到以下目的:(1) 熟练掌握一种数据库系统(如SQL SERVER)的使用。(2) 熟练掌握一种数据库应用软件开发工具的使用。(3) 通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。二课程设计任务与要求:1、任务:图书管理系统问题描述:1) 学校图书室有各种图书几十万余册。2) 每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社等。

2、3) 借书证记录有借阅者的借书证编号,读者姓名,读者性别,读者种类,登记时期等。4) 凭借书证借书,学生每次最多能借5本书,借书期限最长为30天,老师每次最多能借10本,借书期限最长为60天。2、设计要求:1) 实现新进图书的数据录入和下架图书的数据删除。2) 实现借阅者图书证信息的录入和删除。3) 实现对所有购进图书的分类查询和分类统计。4) 能够按书名、作者等分类查询现有图书的数量。5) 能够记录借阅者的个人资料和所借图书的书名、书号、借书时间等6) 能够进行借书还书处理。7) 能够进行借书逾期罚款处理。8) 能够进行用户管理。9)设计一完整的数据库。要求掌握数据库的设计的每个步骤;掌握数

3、据设计各阶段的输入、输出、设计环境、目标和方法;熟练的使用SQL语言实现数据库以及数据库重要对象的建立、应用和维护。三课程设计说明书1 需求分析(1)数据需求图书馆管理信息系统需要完成功能主要有:读者基本信息的输入,包括借书证编号、读者姓名、读者性别等。读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。书籍类别信息的查询、修改,包括类别编号、类别名称。书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出

4、版社名称、出版日期,登记日期等。借书信息的输入,包括读者借书证编号、书籍编号、借书日期。借书信息的查询、修改,包括借书证编号,读者姓名、书籍编号、书籍名称、借书日期等。还书信息的输入,包括借书证编号、书籍编号、还书日期。 还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等管理员管理:包括创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。超级管理员管理:包括创建管理员用户

5、信息、删除管理员用户信息、创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。(2)事物需求在读者信息管理部分,要求:a.可以查询读者信息。b.可以对读者信息进行添加及删除的操作。在书籍信息管理部分,要求:a.可以浏览书籍信息b.可以对书籍信息进行维护,包括添加及删除的操作。在借阅信息管理部分,要求:。a.可以浏览借阅信息。b.可以对借阅信息进行维护操作。在归还信息管理部分,要求:a.可以浏览归还信息b.对归还信息可修改维护操作在管理者信息管理部分,要求:a.显示当前数据库中管理者情况。b.对管理者信息维护操作。在罚款信息管理部分,要求:a.可以浏览罚款信息b.对罚款信息可以更新(

6、3)关系模式(1)书籍类别(类别编号,类别名)(2)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期,可借书数 , 已借书数,逾期未还书数)(3) 管理员(管理员编号,管理员姓名,管理员密码,管理员权限)(4) 超级管理员(管理员编号,管理员姓名,管理员密码,管理员权限)(5)书籍(书籍编号,书籍名称,书籍类别,书籍作者,出版社名称,出版日期,登记日期)(6)借阅(借书证编号,书籍编号,读者借书时间)(7)还书(借书证编号,书籍编号,读者还书时间)(8)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)2 概要设计(1)实体图及E-R图根据1)所要实现的功能设计,可能建立

7、它们之间的关系,进而实现逻辑结构功能。图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。a.读者信息实体图:可借书数已借书数逾期未还书数读者读者姓名读者性别读者种类e登记时间读者借书证编号图2-1读者实体及其属性图b.管理员实体图管理员管理员姓名管理员编号管理员密码管理员权限图2-2管理员实体及其属性图书籍书籍编号书籍名称书籍类别编号书籍作者出版时间收录时间是否被借出版社c.书籍实体图:图2-3书籍实体及其属性图d.借阅记录信息实体图:读者借书证编号书籍类别编号借阅时间隔借阅记录信息图2-4借阅记录信

8、息实体及其属性图归还记录信息读者借书证编号书籍类别编号归还时间隔e.归还记录信息实体图:图2-5记录信息实体及其属性图f.罚款信息实体图:书籍类别编号罚款信息实体实体罚款金额读者姓名读者借书证编号书籍名称借阅时间隔图2-6罚款信息实体及其属性图11n信息登记读者书籍书类别归还借阅罚款罚款信息还书信息借阅信息实体mnmnmnn1m创建1管理nnn管理m管理员超级管理员创建1mn出具罚款单g.总的信息实体E-R图图2-7总的信息实体E-R图3逻辑设计表3-1 book_sytle 书籍类别信息表表中列名数据类型可否为空说明类别编号varcharnot null(主键)种类编号类别名称Varchar

9、not null种类名称表3-2system_readers读者信息表格表中列名数据类型可否为空说明读者借书证号varcharnot null(主键)读者借书证号读者姓名varcharnot null读者姓名读者性别varcharnot null读者性别读者种类varcharnot null读者种类可借书数datetimenull登记日期书名intnull可借书数已借书数intnull已借书数逾期未还书数intnull逾期未还书数表3-3system_book书籍信息表表中列名数据类型可否为空说明书籍编号VarcharNot null(主键)书籍编号书籍名称VarcharNot null书籍名

10、称续表3-3书籍类别VarcharNot null书籍类别书籍作者VarcharNot null书籍作者书籍出版社VarcharNull出版社名称出版时间DatetimeNull出版日期收录时间 DatetimeNull登记日期是否被借BitNot Null是否被借出 表3-4borrow_record 借阅记录信息表表中列名数据类型可否为空说明读者借书证号VarcharNot null(外主键)读者借阅证编号书籍类别编号VarcharNot null(外主键)书籍编号借阅时间DatetimeNot null读者借书时间表3-5return_record 借阅记录信息表表中列名数据类型可否为空

11、说明读者姓名VarcharNot null(外主键)读者借阅证编号读者借书证号VarcharNot null(外主键)书籍编号归还时间datetimeNot null读者还书时间表3-6reader_fee 罚款记录信息表表中列名数据类型可否为空说明读者借书证号varcharNot null读者借书证编号读者姓名varcharNot null读者姓名书籍类别编号varcharNot null(外主键)书籍编号书籍名称varcharNot null书籍名称罚款金额SmallmoneyNot Null罚款金额借阅时间datetimeNot Null借阅时间表3-7system_Administra

12、tor管理员信息表表中列名数据类型可否为空说明管理员编号varcharnot null(主键)管理员编号管理员姓名varcharnot null管理员姓名管理员密码varcharnot null管理员密码管理员权限varcharnot null管理员权限表3-8 system_Super_Administrator管理员信息表表中列名数据类型可否为空说明管理员编号varcharnot null(主键)管理员编号超级管理员姓名varcharnot null管理员姓名超级管理员密码varcharnot null管理员密码超级管理员varcharnot null管理员权限4 关系图:图-数据库存表关

13、系图5 物理设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。(1)建立索引:对book_style表在bookstyleno属性列上建立聚集索引,在bookstyle属性列上建立非聚集索引。对System_book表在bookid上建立聚集索引,在bookname、bookstyleno、boookauther、bookpub上建立非聚集索引。对return_record表在bookid

14、上建立聚集索引,在readerid上建立非聚集索引对reader_fee表在bookid上建立聚集索引,在readerid上建立非聚集索引。对system_reader表在readerid列上建立聚集索引对boorow_record表在bookid上建立聚集所以,在readerid上建立非聚集索引对system_Administrator表在administratorid列上建立聚集索引。对system_Super_Administrator表在superadministratorid 上建立聚集索引。(2)存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日

15、志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。  将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。所以系统将日志文件和数据文件存放在不同磁盘上。6数据库建立(1)创建数据库USE masterGOCREATE DATABASE librarysystemON ( NAME = librarysystem, FILENAME = 'd:librarysystem.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )LOG ON( NAME = 'library', FILE

16、NAME = 'e:librarysystem.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )GO-(2)书本类别表建立create table book_style( 类别编号 varchar(30) primary key, 类别名称 varchar(30)go-(3)创建书库表create table system_books( 书籍编号 varchar(20) primary key, 书籍名称 varchar(30) Not null, 书籍类别编号 varchar(30) Not null, 书籍作者varc

17、har(30), 书籍出版社 varchar(30) , 出版时间 datetime, 书籍收录时间datetime , 是否被借 bit,foreign key (书籍类别编号) references book_style (书籍类别编号),)go-(4)读者信息表建立create table system_readers ( 读者借书证号 varchar(9)primary key, 读者姓名 varchar(9)not null , 读者性别varchar(2) not null, 读者种类 varchar(10), 登记时间 datetime,可借书数 int,已借书数 int,逾期未

18、还书数 int )go-(5)借书记录表建立create table borrow_record(书籍编号 varchar(20) primary key, 读者借书证号 varchar(9), 借阅时间datetime, foreign key (书籍编号) references system_books(书籍编号), foreign key (读者借书证号) references system_readers(读者借书证号),)go-(6)还书记录表建立create table return_record( 书籍编号 varchar(20) primary key, 读者借书证号 varc

19、har(9), 归还时间datetime, foreign key (书籍编号) references system_books(书籍编号), foreign key (读者借书证号) references system_readers(读者借书证号) go-(7)罚款单表建立*/create table reader_fee(读者借书证号varchar(9)not null, 读者姓名varchar(9)not null , 书籍编号varchar(20) primary key, 书籍名称 varchar(30) Not null, 罚款金额smallmoney, 借书时间 datetim

20、e, foreign key (书籍编号) references system_books(书籍编号), foreign key (读者借书证号) references system_readers(读者借书证号)go-(8) 管理员表建立create table system_Administrator (管理员编号 varchar(9)primary key, 管理员姓名 varchar(9)not null , 管理员密码 varchar(2) not null, 管理权限varchar(10) )go-(9)超级管理员表建立create table system_super_Admin

21、istrator (超级管理员编号 varchar(9) primary key, 超级管理员姓名varchar(9) not null , 超级管理员密码varchar(2) not null, 超级管理员权限 varchar(10) )go (10)索引的创建use librarysystemgocreate index bookstyle_index_style on book_style(书籍类别)create index borrow_record_index_readerid on borrow_record(读者借书证号)create index reader_fee_index

22、_readerid on reader_fee (读者借书证号)create index return_record_index_readerid on return_record(读者借书证号)create index system_books_index_bookname on system_books(书籍名称)create index system_books_index_styleno on system_books(书籍类别编号)create index system_books_index_bookauthor on system_books(书籍作者)7 数据初始化(1)将书籍

23、类别加入表book_style中insert into book_style(书籍类别编号,书籍类别)values('1','人文艺术类') insert into book_style(书籍类别编号,书籍类别)values('2','自然科学类')insert into book_style(书籍类别编号,书籍类别)values('3','社会科学类')insert into book_style(书籍类别编号,书籍类别)values('4','图片艺术类')ins

24、ert into book_style(书籍类别编号,书籍类别)values('5','政治经济类')insert into book_style(书籍类别编号,书籍类别)values('6','工程技术类')insert into book_style(书籍类别编号,书籍类别)values('7','语言技能类')(2)将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样)insert into system_books(书籍编号 ,bookname, booksty

25、leno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values('','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isbor

26、rowed )values('','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','数据库原理','6',&

27、#39;萨师煊','高等教育出版社','2007-07-02','2007-09-15','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values('','C程序设计','6','谭浩强','清华大学出版社','2002-04-02','

28、;2004-03-14','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('58','计算机体系结构','6','石教英','浙江大学出版社','2004-10-03','2006-11-15','1');insert into system_boo

29、ks(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学出版社','2002-06-28','2004-01-21','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,boo

30、kpub, bookpubdate,bookindate, isborrowed )values('','中华历史5000年','1','吴强','北京大学出版社','2005-04-03','2006-05-15','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('

31、;','古代埃及','3','赵文华','北京大学出版社','2001-02-02','2002-09-15','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','日本文化','1','吴小鹏','北京大学

32、出版社','2002-04-02','2004-03-14','1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','微观经济学','5','李小刚','北京大学出版社','2000-10-03','2001-11-15','

33、1');insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('5658','影视文学','4','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');insert into system_books(bookid ,bookname, bo

34、okstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values('','探索宇宙奥秘','2','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');8 数据库用户权限管理该系统设置四种类型的用户(1) 超级管理员(superadministrator) 即系统管理员拥有所有的权限。(2) 管理员(administrator) 可以进行借还书处理;

35、(3) 教师(teacher) :只能浏览图书信息,可借书数为10本,借书时间长为2个月。(4) 学生(student):只能浏览图书信息,可借书5本,借书时间长为1个月。9、建立触发器,存储过程-建立借书记录存贮过程CREATE PROCEDURE SP_BORROWBOOK 书籍编号 CHAR(20), 读者借书证号CHAR(9) ASINSERT INTO BORROW_RECORD (书籍编号,读者借书证号,借书日期)VALUES(书籍编号,读者借书证号,GETDATE()GO-建立还书记录存贮过程CREATE PROCEDURE SP_RETURNBOOK 书籍编号 CHAR(20)

36、,读者借书证号 CHAR(9)ASDELETE FROM RETURN_RECORDWHERE 书籍编号=书籍编号 AND 读者借书证号=读者借书证号GO-建立罚款单存贮过程CREATE PROCEDURE SP_ READERFEE 读者借书证号, 借书日期 ASUPDATE 读者罚款信息SET 罚款金额=0.1*(day(getdate()-day(borrowdate)Where 读者=读者借书证号And 借书日期=借书日期-建立借书记录表增加触发器CREATE TRIGGER TR_ADDLEND ON dbo. BORROW_RECORD FOR INSERTASupdate sys

37、tem_booksset 是否被借=1WHERE BOOKID IN (SELECT BOOKID FROM inserted)UPDATE READERSET borrowednum = borrowednum +1WHERE READERID IN (SELECT READERID FROM inserted)-建立还书记录删除触发器CREATE TRIGGER TR_DELLEND ON dbo. return_record FOR DELETEASupdate system_booksset isborrowed =0WHERE BOOKID IN (SELECT BOOKID FROM deleted)UPDATE system_readersSET borrowednum = borrowednum -1WHERE READERID IN (SELECT READERID FROM deleted)-建立删除图书触发器CREATE TRIGGER TR_DELLENDBOOK ON dbo.syst

温馨提示

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

评论

0/150

提交评论