图书管理系统数据库设计SQL.docx
《图书管理系统数据库设计SQL.docx》由会员分享,可在线阅读,更多相关《图书管理系统数据库设计SQL.docx(28页珍藏版)》请在冰豆网上搜索。
图书管理系统数据库设计SQL
《数据库》课程设计
课设名称:
图书管理系统数据库设计与实现
年级:
专业:
网络工程
班级:
姓名:
学号:
成绩:
指导教师:
颜颖
提交报告时间:
2015年1月14日
数据需求
图书馆管理信息系统需要完成功能主要有:
1.读者基本信息的输入,包括借书证编号、读者姓名、读者性别登记日期。
2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、性别等。
3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。
4.书籍类别信息的查询、修改,包括类别编号、类别名称。
5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别编号、作者、出版社、出版日期、登记日期,价格,是否可借。
6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别编号、姓名、出版社、出版日期、登记日期、价格、是否可借等。
7.借书信息的输入,包括读者借书证号、书籍编号、借书日期,应还时间。
8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。
9.还书信息的输入,包括借书证编号、书籍编号、还书日期。
10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借阅证号,书籍编号,罚款金额。
12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,应还时间,罚款金额,借阅时间,超期时间等
事物需求
(1)在读者信息管理部分,要求:
a.可以查询读者信息。
b.可以对读者信息进行添加及删除的操作。
(2)在书籍信息管理部分,要求:
a.可以浏览书籍信息,要求:
b.可以对书籍信息进行维护,包括添加及删除的操作。
(3)在借阅信息管理部分,要求:
。
a.可以浏览借阅信息。
b.可以对借阅信息进行维护操作。
(4)在归还信息管理部分,要求:
a.可以浏览归还信息
b.对归还信息可修改维护操作
(5)在管理者信息管理部分,要求:
a.显示当前数据库中管理者情况。
b.对管理者信息维护操作。
(6)在罚款信息管理部分,要求:
a.可以浏览罚款信息
b.对罚款信息可以更新
(7)在书籍类别管理部分,要求:
A.可以浏览书籍类别信息
B.对书籍类别信息可以更新
(8)在系部信息管理部分,要求:
B.可以系部信息
B.对系部信息可以进行增删改操作
关系模式
(一)书籍类别(书籍类别编号,类别名称)
(二)借阅者信息实体(借阅证号,姓名,性别,登记时期,读者类别)
(三)学生实体(读者类别,学号,借阅数,专业,电话)
(四)教师实体(读者类别,职位,工号,借阅数,电话)
(五)书籍(书籍编号,书籍名称,书籍类别编号,作者,出版社,出版日期,价格,登记日期,是否可借)
(六)借阅(借阅证号,书籍编号,借阅时间时间,应还时间)
(七)还书(借阅证号,书籍编号,还书时间)
(八)罚款(借阅证号,姓名,书籍名称,书籍编号,借阅时间,应还时间,还书时间,罚款金额)
(九)系部(系部名称,系部编号)
(十)读者类别表(读者类别编号,读者类别名称)
E/R图
总的信息实体E-R图
数据字典
表2-1 book_sytle书籍类别信息表
表中列名
数据类型
可否为空
说明
bookstyleno
Varchar(20)
notnull(主键)
书籍类别编号
bookstyle
Varchar(30)
notnull
种类名称
表2-2 system_readers借阅者信息表格
表中列名
数据类型
可否为空
说明
readerid
Varchar(9)
notnull(主键)
借阅证号
readername
Varchar(9)
notnull
读者姓名
readersex
Varchar
(2)
notnull
读者性别
readertype
Varchar(10)
Notnull
读者类别
regdate
datetime
null
登记日期
表2-3 system_books书籍信息表
表中列名
数据类型
可否为空
说明
bookid
Varchar(20)
Notnull(主键)
书籍编号
price
Varchar(6)
Notnull
价格
bookname
Varchar(30)
Notnull
书籍名称
Bookstyleno
Varchar(20)
Notnull
书籍类别编号
bookauthor
Varchar(30)
Notnull
作者
isborrowed
Varchar
(1)
Notnull
是否可借
bookpub
Varchar(30)
Null
出版社
bookpubdate
Datetime
Null
出版日期
bookindate
Datetime
Null
登记日期
表2-4 borrow_record借阅记录信息表
表中列名
数据类型
可否为空
说明
readerid
Varchar(9)
Notnull(外主键)
借阅证号
bookid
Varchar(20)
Notnull(外主键)
书籍编号
borrowdate
datetime
Notnull
借阅时间
shouldreturn
datetime
?
应还时间
表2-5 return_record还书记录信息表
表中列名
数据类型
可否为空
说明
readerid
Varchar(9)
Notnull(外主键)
借阅证号
bookid
Varchar(20)
Notnull(外主键)
书籍编号
returndate
datetime
Notnull
读者还书时间
表2-6 reader_fee罚款记录信息表
readerid
Varchar(9)
Notnull(外主键)
借阅证号
readername
Varchar(9)
Notnull
读者姓名
bookid
Varchar(20)
Notnull(外主键)
书籍编号
bookname
Varchar(30)
Notnull
书籍名称
bookfee
Varchar(10)
NotNull
罚款金额
borrowdate
datetime
NotNull
借阅时间
shouldreturn
datetime
null
应还时间
exceeddate
datetime
null
超期时间
表2-7system_student学生实体信息表
表中列名
数据类型
可否为空
说明
studentno
Varchar(20)
notnull(主键)
学号
major
Varchar(30)
notnull
专业
borrownum
Int
notnull
借阅数
readertype
Varchar(10)
Notnull
读者类别
phone
Varchar(20)
null
电话
表2-8system_teacher教师实体信息表
表中列名
数据类型
可否为空
说明
teachertno
Varchar(20)
notnull(主键)
工号
Profession
Varchar(20)
null
职位
borrownum
Int
notnull
借阅数
readertype
Varchar(20)
Notnull
读者类别
phone
Varchar(20)
null
电话
表2-9System_department系部信息表
表中列名
数据类型
可否为空
说明
departmentno
Varchar(20)
notnull(主键)
系部编号
deparmentname
Varchar(20)
notnull
系部名称
表2-10system_resdertype读者类别表
表中列名
数据类型
可否为空
说明
readertypeno
Varchar(20)
Notnull(主键)
读者类别编号
Readertype
Varchar(20)
Notnull
读者类别名称
建表语句:
1.书本类别表建立
createtablebook_style
(
bookstylenovarchar(20)primarykey,
bookstylevarchar(30)notnull
)
2.书籍表建立
createtablesystem_books
(
bookidvarchar(20)primarykey,
booknamevarchar(20)Notnull,
bookstylenovarchar(30)Notnull,
pricevarchar(6)notnull,
bookauthorvarchar(30)notnull,
isborrowedvarchar
(1)notnull,
bookpubvarchar(30),
bookpubdatedatetime,
bookindatedatetime,
foreignkey(bookstyleno)referencesbook_style(bookstyleno),
)
3.借阅者表建立
createtablesystem_readers
(readeridvarchar(9)primarykey,
readernamevarchar(9)notnull,
readersexvarchar
(2)notnull,
readertypevarchar(10)notnull,
regdatedatetime
)
4.借书记录表建立
createtableborrow_record
(bookidvarchar(20)primarykey,
readeridvarchar(9)notnull,
borrowdatedatetimenotnull,
shouldreturndatetime,
foreignkey(bookid)referencessystem_books(bookid),
foreignkey(readerid)referencessystem_readers(readerid),
)
5.还书记录表建立
createtablereturn_record
(bookidvarchar(20)primarykey,
readeridvarchar(9)notnull,
returndatedatetimenotnull,
foreignkey(bookid)referencessystem_books(bookid),
foreignkey(readerid)referencessystem_readers(readerid)
)
6.罚款单表建立*/
createtablereader_fee
(readeridvarchar(9)notnull,
readernamevarchar(9)notnull,
bookidvarchar(20)primarykey,
booknamevarchar(30)Notnull,
bookfeevarchar(10)notnull,
borrowdatedatetimenotnull,
shouldreturndatetime,
exceeddatevarchar(5),
foreignkey(bookid)referencessystem_books(bookid),
foreignkey(readerid)referencessystem_readers(readerid)
)
7.学生表建立
createtablesystem_student
(
studentnovarchar(20)primarykey,
majorvarchar(30)notnull,
borrownumintnotnull,
readertypevarchar(20),
phonevarchar(20)
)
8.读者类别表建立
createtablesystem_readertype
(
readertypenovarchar(20)primarykey,
readertypevarchar(20)notnull
)
9.系别表建立
createtablesystem_department
(
departmentnovarchar(20)primarykey,
departmentnamevarchar(20)notnull
)
10.教师表建立
createtablesystem_teacher
(
readeridvarchar(9)notnull,
teachernovarchar(20)primarykey,
borrownumintnotnull,
professionvarchar(20),
readertypevarchar(20)notnull,
phonevarchar(20),
foreignkey(readerid)referencessystem_readers(readerid)
)
数据初始化及表更新、查询
1.向Book_style表中插入数据
insertintobook_style(bookstyleno,bookstyle)values('1','人文艺术类')
insertintobook_style(bookstyleno,bookstyle)values('2','自然科学类')
insertintobook_style(bookstyleno,bookstyle)values('3','社会科学类')
insertintobook_style(bookstyleno,bookstyle)values('4','图片艺术类')
insertintobook_style(bookstyleno,bookstyle)values('5','政治经济类')
insertintobook_style(bookstyleno,bookstyle)values('6','工程技术类')
insertintobook_style(bookstyleno,bookstyle)values('7','语言技能类')
表单查询:
select*frombook_style
2.向system_books表中插入数据:
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,price,borrowednum,totalnum)
values('00125415152','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','35.5','3','10');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,price,borrowednum,totalnum)
values('00456456','数据库原理','6','萨师煊','高等教育出版社','2007-07-02','2007-09-15','40','4','10');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,price,borrowednum,totalnum)
values('12215121','C程序设计','6','谭浩强','清华大学出版社','2002-04-02','2004-03-14','60','5','8');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,price,borrowednum,totalnum)
values('9787308020558','计算机体系结构','6','石教英','浙江大学出版社','2004-10-03','2006-11-15','60','5','8');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,price,borrowednum,totalnum)
values('45456141414','数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学出版社','2002-06-28','2004-01-21','40','5','10');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,price,borrowednum,totalnum)
values('545551523','中华历史年','1','吴强','北京大学出版社','2005-04-03','2006-05-15','56','0','10');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,price,borrowednum,totalnum)
values('151451424','日本文化','1','吴小鹏','北京大学出版社','2002-04-02','2004-03-14','35','0','10');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,price,borrowednum,totalnum)
values('151546564','微观经济学','5','李小刚','北京大学出版社','2000-10-03','2001-11-15','35','0','10');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,price,borrowednum,totalnum)
values('565833422','影视文学','4','苏庆东','北京大学出版社','1999-02-28','2000-01-21','35','0','10');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,price,borrowednum,totalnum)
values('565800020','探索宇宙奥秘','2','苏庆东','北京大学出版社','1999-02-28','2000-01-21','35','0','10');
表单查询:
select*fromsystem_books
3.向读者表中插入数据:
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('X05620207','陈飞','男','1','2005-9-2314:
23:
56')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('X05620206','张三','男','1','2005-09-3013:
24:
54.623')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('X05620204','赵静','女','1','2005-09-2711:
24:
54.123')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('X05620202','潘小虹','女','1','2005-09-3013:
24:
54.473')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('008415','蒋伟','男','2','2004-04-3009:
24:
54.478')
insertintosystem_readers(readerid,readername,readersex,readertype,regdate)
values('001456','李风','女','2','2004-04-3009:
24:
54.478')
表单查询:
select*fromsystem_readers
4.(insert,update,set)向借书记录表中加入数据:
insertintoborrow_record(bookid,readerid,borrowdate,shouldreturn)
values('545551523','X05620207','2007-09-2711:
24:
54.123','2007-10-2711:
24:
54.123')
updatesystem_