书店销售管理子系统数据库设计
更新时间:2023-05-15 04:57:01 阅读量: 实用文档 文档下载
《数据库原理及应用》课程设计
目录
1.问题描述 .............................................................................................................................................. 2 1.1背景 ..................................................................................................................................................... 2 1.2数据需求 ............................................................................................................................................. 2 1.3事物需求 ............................................................................................................................................. 3 2.概念结构设计 ..................................................................................................................................... 3 2.1 实体E-R图 ......................................................................................................................................... 3 2.2总E-R图 ........................................................................................................... 错误!未定义书签。 3.逻辑结构设计 ..................................................................................................................................... 10 3.1 E-R图转换成关系模式 .................................................................................................................... 10 3.2 关系模式的优化 .............................................................................................................................. 12 4.物理结构设计 ..................................................................................................................................... 10 3.1数据字典 ........................................................................................................................................... 10 3.2数据初始化 ....................................................................................................................................... 12 5.结果数据处理 ..................................................................................................................................... 15 4.1单表查询 ........................................................................................................................................... 15 4.2超期处理 ........................................................................................................................................... 17 4.3还书操作 ........................................................................................................................................... 18 4.4借书操作 ........................................................................................................................................... 20 4.5书籍状态 ........................................................................................................................................... 22 4.6读者状态 ........................................................................................................................................... 22 6.结束语 ................................................................................................................................................ 24
1.问题描述
1.1背景
随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
1.2数据需求
图书馆管理信息系统需要完成功能主要有:
1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。
2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4.书籍类别信息的查询、修改,包括类别编号、类别名称。
5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、
出版日期、登记日期。
6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。
7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。
8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。
9.还书信息的输入,包括借书证编号、书籍编号、还书日期。
10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名
称、借书日期、还书日期等。
11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚
款金额。
12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等
1.3事物需求
(1)在读者信息管理部分,要求:
a.可以查询读者信息。
b.可以对读者信息进行添加及删除的操作。 (2 )在书籍信息管理部分,要求:
a.可以浏览书籍信息,要求:
b.可以对书籍信息进行维护,包括添加及删除的操作。 (3)在借阅信息管理部分,要求:。
a.可以浏览借阅信息。
b.可以对借阅信息进行维护操作。 (4)在归还信息管理部分,要求:
a.可以浏览归还信息
b.对归还信息可修改维护操作 (5)在管理者信息管理部分,要求:
a.显示当前数据库中管理者情况。 b.对管理者信息维护操作。 (6)在罚款信息管理部分,要求:
a.可以浏览罚款信息 b.对罚款信息可以更新
2.方案图表设计
2.1 E-R图
根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。
图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。
2.1.1类别实体E-R图:
图2-1类别实体E-R图
2.1.2读者信息实体E-R图:
图2-2 读者信息实体E-R图
2.1.3信息实体E-R图:
图2-3信息实体E-R图
2.1.4.记录信息实体E-R图:
图2-4 记录信息实体E-R图
2.1.5记录信息实体E-R图:
图2-5记录信息实体E-R图
2.1.6罚款信息实体E-R图:
图2-6罚款信息实体E-R图
2.1.6总的信息实体E-R图: 图2-7总的信息实体E-R图
2.2数据字典
表2-1 book_sytle 书籍类别信息表
表2-2 system_readers读者信息表格
表2-3 system_book书籍信息表
表2-5 return_record 借阅记录信息表
2.4关系图:
图2-8数据库存表关系图
3.数据库源代码
3.1数据库建立
3.1.1创建数据库 USE master GO
CREATE DATABASE librarysystem ON
( NAME = librarysystem,
FILENAME = 'd:\librarysystem.mdf', SIZE = 10,
MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON
( NAME = 'library',
FILENAME = 'd:\librarysystem.ldf', SIZE = 5MB,
MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO
3.1.2书本类别表建立 create table book_style (
bookstyleno varchar(30) primary key, bookstyle varchar(30) )
3.1.3创建书库表
create table system_books (
bookid varchar(20) primary key, bookname varchar(30) Not null, bookstyleno varchar(30) Not null, bookauthor varchar(30), bookpub varchar(30) ,
bookpubdate datetime, bookindate datetime , isborrowed varchar (2) ,
foreign key (bookstyleno) references book_style (bookstyleno), )
3.1.4借书证表建立
create table system_readers ( readerid varchar(9)primary key, readername varchar(9)not null , readersex varchar(2) not null, readertype varchar(10), regdate datetime )
3.1.5借书记录表建立 create table borrow_record
( bookid varchar(20) primary key, readerid varchar(9), borrowdate datetime,
foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid), )
3.1.6还书记录表建立 create table return_record
( bookid varchar(20) primary key, readerid varchar(9), returndate datetime,
foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid) )
3.1.7罚款单表建立*/
create table reader_fee
( readerid varchar(9)not null,
readername varchar(9)not null , bookid varchar(20) primary key,
bookname varchar(30) Not null, bookfee varchar(30) , borrowdate datetime,
foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid) )
3.2数据初始化
3.2.1将书籍类别加入表book_style中
insert into book_style(bookstyleno,bookstyle)values('1','人文艺术类') insert into book_style(bookstyleno,bookstyle)values('2','自然科学类') insert into book_style(bookstyleno,bookstyle)values('3','社会科学类') insert into book_style(bookstyleno,bookstyle)values('4','图片艺术类') insert into book_style(bookstyleno,bookstyle)values('5','政治经济类') insert into book_style(bookstyleno,bookstyle)values('6','工程技术类') insert into book_style(bookstyleno,bookstyle)values('7','语言技能类')
3.2.2将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样) insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )
values('00125415152','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )
values('00125415153','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('00456456','数据库原理','6','萨师煊','高等教育出版社','2007-07-02','2007-09-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )
values('12215121','C程序设计','6','谭浩强','清华大学出版社','2002-04-02','2004-03-14','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('9787308020558','计算机体系结构','6','石教英','浙江大学出版社','2004-10-03','2006-11-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('45456141414','数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学出版社','2002-06-28','2004-01-21','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('5455515','中华历史5000年','1','吴强','北京大学出版社','2005-04-03','2006-05-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('015115','古代埃及','3','赵文华','北京大学出版社','2001-02-02','2002-09-15','1');
insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('1514514','日本文化','1','吴小鹏','北京大学出版社','2002-04-02','2004-03-14','1'); insert
into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('15154656','微观经济学','5','李小刚','北京大学出版社','2000-10-03','2001-11-15','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, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )
values('565800020','探索宇宙奥秘','2','苏庆东','北京大学出版社','1999-02-28','2000-01-21','1');
3.2.3将已有图书证的读者加入system_readers表中*/
insert into system_readers(readerid,readername,readersex,readertype,regdate) values('X05620207','陈远鹏','男','学生','2005-9-23 14:23:56')
insert into system_readers(readerid,readername,readersex,readertype,regdate) values('X05620206','陈特','男','学生','2005-09-30 13:24:54.623')
insert into system_readers(readerid,readername,readersex,readertype,regdate) values('X05620204','赵铭静','女','学生','2005-09-27 11:24:54.123')
insert into system_readers(readerid,readername,readersex,readertype,regdate) values('X05620202','潘虹','女','学生','2005-09-30 13:24:54.473')
insert into system_readers(readerid,readername,readersex,readertype,regdate) values('008415','蒋伟','男','教师','2004-04-30 09:24:54.478')
insert into system_readers(readerid,readername,readersex,readertype,regdate) values('001456','李叶风','女','教师','2004-04-30 09:24:54.478')
3.2.4添加已借书读者的记录,同时将在已借出的借阅标记置0*/ insert into borrow_record(bookid,readerid,borrowdate)
values('00125415152','X05620202','2007-09-27 11:24:54.123') update system_books set isborrowed=0
where bookid='00125415152'
insert into borrow_record(bookid,readerid,borrowdate)
values('00125415153','X05620206','2007-12-27 08:26:51.452') update system_books set isborrowed=0
where bookid='00125415153' and isborrowed='1'
insert into borrow_record(bookid,readerid,borrowdate) values('5455515','X05620207','2007-12-27 08:26:51.452') update system_books set isborrowed=0
where bookid='5455515' and isborrowed='1'
insert into borrow_record(bookid,readerid,borrowdate) values('015115','X05620204','2007-10-21 12:11:51.452') update system_books set isborrowed=0
where bookid='015115' and isborrowed='1'
insert into borrow_record(bookid,readerid,borrowdate) values('15154656','001456','2007-12-28 14:11:51.312') update system_books set isborrowed=0
where bookid='15154656' and isborrowed='1'
insert into borrow_record(bookid,readerid,borrowdate) values('565800020','008415','2007-08-28 15:11:31.512') update system_books set isborrowed=0
where bookid='565800020' and isborrowed='1'
4.结果数据处理
4.1单表查询
4.1.1表book_style中查询演示
:
图4-1 表book_style中内容
4.1.2表system_books中查询演示
:
图4-2 表system_books中内容
4.1.3将已有图书证的读者加入system_readers表中结果查询
:
图4-3 表system_readers中内容
4.1.4借书纪录表borrow_record结果查询
:
图4-4 表borrow_record中内容
4.2超期处理
4.2.1现在对已有借书证的读者进行查询借书是否超期(这里归定30天):
说明:当前的getdate()以日期为2008年1月6日计算
图4-4 选出借出超过30天的读者
4.2.2同时也可以用语句超过天数的读者进行罚款,加入到罚款单里面,一天以0.3元扣除计算:
SQL语言:
insert into reader_fee(readerid,readername,bookid,bookname,bookfee,borrowdate) select system_readers.readerid 读者借书证编号 ,readername 读者姓名, system_books.bookid 书籍编号,bookname 书名,
0.3*(Datediff(day,convert(smalldatetime,borrowdate),getdate())-30) 超过时间天数, borrowdate 借书时间
from borrow_record ,system_readers ,system_books where system_readers.readerid=borrow_record.readerid and system_books.bookid=borrow_record.bookid
and Datediff(day,convert(smalldatetime,borrowdate),getdate())>=30 (所影响的行数为 3 行)
select readerid 书读者借书证编号,readername 读者姓名, bookid 书籍编号,bookfee 超期罚款 from reader_fee
形成各本书对应的罚款金额,按0.3元每天算
图4-5查看罚款单
4.3还书操作
4.3.1现在对某一读者进行还书操作:
1.首先还书要在还书纪录中添加一条还书纪录 2.其次删除相应书本的借阅纪录
3.最后在书库中标记该本书为1,表示归还了未借,可供其他读者借阅
说明:学号为X05620207 姓名为陈远鹏 借阅的565800020书籍编号进行归还。
SQL语言:
insert into return_record(bookid,readerid,returndate) select bookid,readerid,getdate() from borrow_record
where bookid='565800020' (所影响的行数为 1 行)
delete
from borrow_record
where bookid='565800020' (所影响的行数为 1 行)
update system_books set isborrowed=1
where bookid='565800020' (所影响的行数为 1 行)
三个表的结果如图:
图4-6 增加了565800020纪录
图4-7 565800020这本书在借书纪录里没有了
图4-8 标记设为了‘1’
说明:这本书重新回到未被借出标记为1(注,相同的书其编号是不同的)
其结果为还书成功,相应的各表都有变化,对于罚款单通过借阅记录表borrow_record中更新。
4.4借书操作
4.4.1查询未被借出的书本:
图4-9
4.4.2查询已被借出的书本:
图4-10
4.4.3申请借书证:
SQL语言:
Insert into system_readers(readerid,readername,readersex,readertype,regdate) values('X05620211','小华','男','学生',getdate())
正在阅读:
书店销售管理子系统数据库设计05-15
著作权法中的滑稽模仿——从《一个馒头引发的血案》是否侵权谈起05-29
高速公路收费站、服务区总体性施工组织设计(实施性控制)05-28
2018年人教版七年级语文(下册)期中古诗文阅读训练复习题及答案11-28
各建设项目进展情况6.604-08
春天里的祝福-现代诗歌03-21
中公看两会之十一 促进文化大发展大繁荣 提升国家文化软实力04-21
一年四季的坚强作文800字07-12
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 子系统
- 销售管理
- 书店
- 数据库
- 设计
- 法国葡萄酒产区介绍:普罗旺斯产区
- 光敏形状记忆聚合物
- 硅胶发热线项目可行性研究报告
- 研究生教育全面收费形势下奖助学金体系建设研究
- 霸王集团 汇丰研究报告 英文
- 2015pep人教版五年级下册Unit 6 Work quietly第6课时教案
- 城市规划专业毕业设计开题报告
- 别克新君威用户手册
- 《国际商务谈判》复习题
- 基础实验Excel表格和图表的制作
- 新目标英语九年级上册Units1-2试卷
- 妈妈的微笑对孩子有多重要?一个实验告诉你
- 2012年健康教育与健康促进工作实施方案
- 农业2021年第4周周报:农业持仓环比下降,关注景气板块配置机会
- 规例职业安全及健康显示屏幕设备 (1)
- 2014年广西第八届大学生电子设计竞赛(校内选拔赛--文化月电赛赛题)
- 帆船进校园活动工作总结
- 3曼昆经济学原理(第六版)宏观-第三讲生产与增长
- 铝行业年度策略:供需协力,超越周期
- 2013桡骨远端骨折中医诊疗方案