《最新图书系统数库据实现精品课件.ppt》由会员分享,可在线阅读,更多相关《最新图书系统数库据实现精品课件.ppt(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、讲解和分析需求讲解和分析需求(20分钟)学员首先阅读项目案例需求和实现步骤老师讲解需求,学生理解需求并分析问题分析-2模拟添加新书类别、新书入库、新员工入职添加新书类别,即向图书类型表中插入数据新书入库即向图书表中插入数据新员工入职即向员工表中插入数据问题分析-3问题分析-4创建存储过程完成自动生成卡号创建存储过程自动生成随机会员号,并返回会员号规则年四位,月二位,日二位,随机数四位(YYYYMMDDXXXX)问题分析-5模拟办理会员、借书分析:调用存储过程生成随机卡号,需要判断生成的随机卡号是否已经存在如果存使用while重新生成办理会员,即向MemberInfo表中插入一行记录,会员号通过
2、上面的存储过程生成问题分析-6创建视图完成查询借阅信息图书馆的管理人员和用户经常查询借阅信息, ,因此需要创建视图, ,要求按借阅时间降序查询视图,显示所有的借阅信息( (查询结果如下图) )问题分析-7图书馆的接待室有一个触摸查询屏,用户可以通过会员编号查询本人的借阅信息。创建存储过程完成上述功能,要求在存储过程中使用上题中创建的视图当用户输入借阅时间时按该借阅时间查询1.如果用户没有输入借阅时间时则该会员的所有部信息查询问题分析-8创建触发器完成借阅时自动更新图书数量分析:在图书借阅表中插入一条记录同时应该更新库存数量= =库存数量-1-1该过程可以通过INSERTINSERT触发器来完成
3、问题分析-9创建触发器完成还书时自动更新图书数量分析:在更新图书借阅表还书时间及是否归还字段同时应该更新库存数量=库存数量+1该过程可以通过UPDATE触发器来完成问题分析-10模拟借书、还书分析:借书:向LendInfo表中插入数据1.还书:更新LendInfo归还时间和是否归还字段难点分析-1创建数据库表(图书信息表,图书类型表,雇员信息表,会员信息表,借阅信息表)INSERT INTO dbo.BookType(BTName) SELECT 计算机类 UNIONSELECT 小说INSERT INTO dbo.BookInfo(BName,BAuthor,BTypeID,BPubsNam
4、e,BLastNumbers)SELECT ASP.NET AJAX,陈黎夫,1,人民邮电出版社,5 UNIONSELECT CSS禅意花园,陈黎夫,1,人民邮电出版社,2INSERT INTO dbo.EmployeesInfo(EName,EAge,ESex,EAddress,EDate,EPhone)SELECT 张丽娜,23,女,新海花园-2-3,2007-9-1,0335-3564768 UNIONSELECT 李奇,21,男,迎宾路号5-5-5,2009-12-10,0335-7865456 难点分析-2创建存储过程完成自动生成卡号 SET year=DATEPART(yy, GE
5、TDATE() SET month=DATEPART(mm, GETDATE() SET day=DATEPART(dd, GETDATE() SELECT r=RAND(DATEPART(s, GETDATE() * 100000+ DATEPART(m, GETDATE() * 1000+ DATEPART(ms, GETDATE()-产生.xxxx的数字,我们需要小数点后的四位数字 SET tempStr=convert(NVARCHAR(10),r) SET randCardID=CONVERT(NVARCHAR(4),year)+CONVERT(NVARCHAR(2),month)+
6、CONVERT(NVARCHAR(2),day)+SUBSTRING(tempStr,3,4) -组合为规定格式的卡号GO难点分析-3模拟办理会员、借书EXEC Proc_RandCardID CardID OUTPUT-生成会员卡号生成会员卡号SELECT MyCount=COUNT(*) FROM WHERE WHILE (MyCount0)BEGIN EXEC -重新生成会员卡号重新生成会员卡号 SELECT MyCount=COUNT(*) FROM WHERE END INSERT INTO dbo.MemberInfo(MID,MName,MPID,MAge,MSex,MAddre
7、ss,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 FO
8、R INSERT AS UPDATE BookInfo SET BLastNumbers=BLastNumbers-1 WHERE GO 难点分析-7创建触发器完成还书时自动更新图书数量CREATE TRIGGER trig_LendInfo_Update ON LendInfo FOR Update AS UPDATE BLastNumbers=BLastNumbers+1 WHERE GO难点分析-8模拟借书、还书-借书INSERT INTO LendInfo() VALUES()-还书Update LendInfo SET LEndDate=getdate(),LFlag=1 WHERE
9、 MID= AND BID=阶段划分第一阶段(10分钟) 创建数据库第二阶段(60分钟) 创建数据库表(图书信息表,图书类型表,雇员信息表,会员信息表,借阅信息表)添加表中的约束及关系第三阶段(40分钟) 模拟添加新书类别、新书入库、新员工入职第四阶段(30分钟) 创建存储过程完成自动生成卡号第五阶段(30分钟) 模拟办理会员、借书阶段划分第六阶段(30分钟) 创建视图完成查询借阅信息、使用视图查询借阅信息第七阶段(20分钟) 创建触发器完成借阅时自动更新图书数量第八阶段(20分钟) 创建触发器完成还书时自动更新图书数量第九阶段(20分钟) 模拟借书、还书第一阶段第一阶段(10分钟) 创建数据
10、库 要求学员自己动手操作,教员巡视,解答学员提出的问题阶段检查针对第一阶段抽查学员的操作结果教员给出点评或集中演示难点部分第二阶段第二阶段(20分钟) 创建数据库表(图书信息表,图书类型表,雇员信息表,会员信息表,借阅信息表) 要求学员自己动手设计制作网页,编写代码,教员巡视,解答学员提出的问题阶段检查针对第二阶段抽查学员编写结果抽查学员,教员给出点评,集中问题讲解第三阶段第三阶段(10分钟) 模拟添加新书类别、新书入库、新员工入职 要求学员动手编写代码,教员巡视,解答学员提出的问题阶段检查针对第三阶段抽查学员代码编写结果抽查学员,要求学员上台进行代码讲解教员给出点评,集中问题讲解第四阶段第四
11、阶段(30分钟) 创建存储过程完成自动生成卡号 要求学员自己动手编写代码,教员巡视,解答学员提出的问题阶段检查针对第四阶段抽查学员代码编写结果抽查学员,要求学员上台进行代码讲解教员给出点评,集中问题讲解第五阶段第五阶段(30分钟) 模拟办理会员、借书 要求学员自己编写代码,教员巡视,解答学员提出的问题阶段检查针对第五阶段抽查学员的代码编写结果抽查学员,要求学员上台进行代码讲解教员给出点评,集中问题讲解第六阶段第六阶段(30分钟) 创建视图完成查询借阅信息、使用视图查询借阅信息 要求学员自己动手设计页面,编写代码,教员巡视,解答学员提出的问题阶段检查针对第六阶段抽查学员的代码编写结果抽查学员,要
12、求学员上台进行代码讲解教员给出点评,集中问题讲解第七阶段第七阶段(40分钟) 创建触发器完成借阅时自动更新图书数量 要求学员自己动手编写代码,教员巡视,解答学员提出的问题阶段检查针对第七阶段抽查学员代码编写结果抽查学员,要求学员上台进行代码讲解教员给出点评,集中问题讲解第八阶段第七阶段(40分钟) 创建触发器完成还书时自动更新图书数量 要求学员自己动手编写代码,教员巡视,解答学员提出的问题阶段检查针对第八阶段抽查学员代码编写结果抽查学员,要求学员上台进行代码讲解教员给出点评,集中问题讲解第九阶段第七阶段(40分钟) 模拟借书、还书 要求学员自己动手编写代码,教员巡视,解答学员提出的问题阶段检查针对第九阶段抽查学员代码编写结果抽查学员,要求学员上台进行代码讲解教员给出点评,集中问题讲解总结巩固的知识点(10分钟):SQL语句:建库、建表、加约束、建关系常用的约束类型:主键、外键、非空、默认值、检查约束循环、判断语句的使用高级查询:表连接、子查询、索引、视图存储过程:带参数的存储过程、带返回值的存储过程触发器:创建各种类型的触发器47 结束语结束语