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

下载本文档

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

文档简介

1、图书管理系统数据库实现图书管理系统数据库实现 1图书管理系统数据库实现图书管理系统数据库实现讲解和分析需求讲解和分析需求(20分钟)学员首先阅读项目案例需求和实现步骤老师讲解需求,学生理解需求并分析2图书管理系统数据库实现图书管理系统数据库实现 问题描述图书馆管理系统数据库实现:图书馆管理系统数据库实现:创建数据库创建数据库表(图书信息表,图书类型表,雇员信息表,会员信息表,借阅信息表)添加表中的约束及关系模拟添加新书类别、新书入库、新员工入职 创建存储过程完成自动生成卡号模拟办理会员、借书创建视图完成查询借阅信息、使用视图查询借阅信息创建触发器完成借阅时自动更新图书数量创建触发器完成还书时自

2、动更新图书数量1. 模拟借书、还书3图书管理系统数据库实现图书管理系统数据库实现问题分析-1创建数据库创建数据库:创建数据库名为创建数据库名为bookmanagerbookmanager路径:路径:d d:projectproject问题分析-2创建数据库表创建数据库表(图书信息表,图书类型表,雇员信息表,会员图书信息表,图书类型表,雇员信息表,会员信息表信息表,借阅信息表)借阅信息表)表名booktype字段名称说 明 btid int图书类型编号自动编号(标识列),从1开始,主键btname图书名称必填问题分析-2表名bookinfo字段名称说 明bid图书编号主键,标识列,从1开始bna

3、me图书名称非空bauthor作者btypeid图书类型编号非空,booktype表btid外键bpubsname出版社blastnumbers 库存数量非空问题分析-2表名employeesinfo(员工信息)字段名称说 明eid员工编号自动编号(标识列),从1开始,主键ename员工姓名非空eage员工年龄年龄在1-100之间esex员工性别男或女eaddress家庭地址edate雇用日期非空ephone电话必填问题分析-2表名memberinfo(会员信息)字段名称说 明mid会员编号主键, 会员号规则年四位,月二位,日二位,随机数四位,例20091023xxxxmname会员姓名非空m

4、pid身份证号非空,身份证长度为15或18位mage年龄年龄在1-100之间msex性别maddress地址mphone电话非空问题分析-2表名 lendinfo(借阅信息表)字段名称说 明lid借阅编号自动编号(标识列),从1开始,主键mid会员编号非空, memberinfo表外键bid图书编号非空,bookinfo表外键lstartdate借阅时间非空lenddate归还时间非空,归还时间必须晚于借阅时间lflag是否归还非空eid员工编号非空, employeesinfo表外键lmark备注模拟添加新书类别、新书入库、新员工入职模拟添加新书类别、新书入库、新员工入职添加新书类别,即向图

5、书类型表中插入数据添加新书类别,即向图书类型表中插入数据新书入库即向图书表中插入数据新书入库即向图书表中插入数据新员工入职即向员工表中插入数据新员工入职即向员工表中插入数据问题分析-3问题分析-4创建存储过程完成自动生成卡号创建存储过程完成自动生成卡号创建存储过程自动生成随机会员号,并返回创建存储过程自动生成随机会员号,并返回会员号规则年四位会员号规则年四位, ,月二位,日二位月二位,日二位, ,随机数四位随机数四位(yyyymmddxxxxyyyymmddxxxx)11图书管理系统数据库实现图书管理系统数据库实现问题分析-5模拟办理会员、借书模拟办理会员、借书分析:分析:调用存储过程生成随机

6、卡号调用存储过程生成随机卡号, ,需要判断生成的随机卡号是否已经存需要判断生成的随机卡号是否已经存在如果存使用在如果存使用whilewhile重新生成重新生成办理会员,即向办理会员,即向memberinfomemberinfo表中插入一行记录,会员号通过上面的表中插入一行记录,会员号通过上面的存储过程生成存储过程生成12图书管理系统数据库实现图书管理系统数据库实现问题分析-6创建视图完成查询借阅信息创建视图完成查询借阅信息图书馆的管理人员和用户经常查询借阅信息图书馆的管理人员和用户经常查询借阅信息, ,因此需要创建视因此需要创建视图图, ,要求按借阅时间降序要求按借阅时间降序查询视图,显示所有

7、的借阅信息查询视图,显示所有的借阅信息( (查询结果如下图查询结果如下图) )13图书管理系统数据库实现图书管理系统数据库实现问题分析-7图书馆的接待室有一个触摸查询屏,用户可以通过会员编图书馆的接待室有一个触摸查询屏,用户可以通过会员编号查询本人的借阅信息。号查询本人的借阅信息。创建存储过程完成上述功能,要求在存储过程中使用上题中创建创建存储过程完成上述功能,要求在存储过程中使用上题中创建的视图的视图当用户输入借阅时间时按该借阅时间查询当用户输入借阅时间时按该借阅时间查询1.如果用户没有输入借阅时间时则该会员的所有部信息查询如果用户没有输入借阅时间时则该会员的所有部信息查询14图书管理系统数

8、据库实现图书管理系统数据库实现问题分析-8创建触发器完成借阅时自动更新图书数量创建触发器完成借阅时自动更新图书数量分析:分析:在图书借阅表中插入一条记录在图书借阅表中插入一条记录同时应该更新库存数量同时应该更新库存数量= =库存数量库存数量-1-1该过程可以通过该过程可以通过insertinsert触发器来完成触发器来完成问题分析-9创建触发器完成还书时自动更新图书数量创建触发器完成还书时自动更新图书数量分析:在更新图书借阅表还书时间及是否归还字段同时应该更新库存数量=库存数量+1该过程可以通过update触发器来完成问题分析-10模拟借书、还书模拟借书、还书分析:借书:向lendinfo表中

9、插入数据1.还书:更新lendinfo归还时间和是否归还字段难点分析-1创建数据库表创建数据库表(图书信息表,图书类型表,雇员信息表,图书信息表,图书类型表,雇员信息表,会员信息表会员信息表,借阅信息表)借阅信息表)insert into dbo.booktype(btname) select 计算机类计算机类 unionselect 小说小说insert into dbo.bookinfo(bname,bauthor,btypeid,bpubsname,blastnumbers)select asp.net ajax,陈黎夫陈黎夫,1,人民邮电出版社人民邮电出版社,5 unionselect

10、 css禅意花园禅意花园,陈黎夫陈黎夫,1,人民邮电出版社人民邮电出版社,2insert into dbo.employeesinfo(ename,eage,esex,eaddress,edate,ephone)select 张丽娜张丽娜,23,女女,新海花园新海花园-2-3,2007-9-1, unionselect 李奇李奇,21,男男,迎宾路号迎宾路号5-5-5,2009-12-10, 难点分析-2创建存储过程完成自动生成卡号创建存储过程完成自动生成卡号 set year=datepart(yy, getdate()set year=datepart(yy, getdate() set

11、month=datepart(mm, getdate() set month=datepart(mm, getdate() set day=datepart(dd, getdate() set day=datepart(dd, getdate() select r=rand(datepart(s, getdate() select r=rand(datepart(s, getdate() * * 100000+ 100000+ datepart(m, getdate() datepart(m, getdate() * * 1000+ datepart(ms, getdate() 1000+ d

12、atepart(ms, getdate()-产生产生.xxxx.xxxx的数字的数字, ,我们需要小数点后的四位数字我们需要小数点后的四位数字 set tempstr=convert(nvarchar(10),r) set tempstr=convert(nvarchar(10),r) set randcardid=convert(nvarchar(4),year)+ set randcardid=convert(nvarchar(4),year)+convert(nvarchar(2),month)+convert(nvarchar(2),month)+convert(nvarchar(2)

13、,day)+convert(nvarchar(2),day)+substring(tempstr,3,4) -substring(tempstr,3,4) -组合为规定格式的卡号组合为规定格式的卡号gogo难点分析-3模拟办理会员、借书模拟办理会员、借书exec proc_randcardid cardid output-生成会员卡号select mycount=count(*) from where while (mycount0)begin exec -重新生成会员卡号 select mycount=count(*) from where end insert into dbo.membe

14、rinfo(mid,mname,mpid,mage,msex,maddress,mphone)values()难点分析-4创建视图完成查询借阅信息创建视图完成查询借阅信息create view view_bmlasgoselect * from view_bml难点分析-5 图书馆的接待室有一个触摸查询屏,用户可以通过图书馆的接待室有一个触摸查询屏,用户可以通过会员编号查询本人的借阅信息。会员编号查询本人的借阅信息。create proc proc_selectbymidmid nvarchar(12),lstartdate datetime=nullasif lstartdate is nullelse . go难点分析-6创建触发器完成借阅时自动更新图书数量create trigger trig_lendinfo_insert on lendinfo for insert as update bookinfo set blastnumbers=blastnumbers-1 where go 难点分析-7创建触发器完成还书时自动更新图书数量

温馨提示

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

评论

0/150

提交评论