版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统实验报告课 程:数据库系统院 系:计算机学院班 级:08065801成 绩:100学号: 姓名:学号: 姓名:指导教师:李波日期: 年 月 日目 录1 数据库设计31.1 需求分析31。2 概念模式设计31.3 关系模式设计32 数据库编程32.1 表的创建32。2 数据的修改32.3 查询42。4统计42。5视图及索引42。6约束及触发器43 应用程序设计(选做)44 小结41 数据库设计1。1 需求分析图书馆可以利用本系统实现对图书馆信息的管理,本系统的主要功能为管理有关读者,出版社,书记,借阅者以及管理者的信息.1.数据需求分析a)读者信息;包括借书证号,姓名,联系方式,借书的
2、数目.b)借阅信息, 包括借阅日期,应归还日期,所借图书的编号,以及证件号码。c)管理者信息,管理者名称,管理者编号,以及管理者联系方式.根据以上分析,本系统要有读者信息表,出版社信息表,书籍信息表,借阅信息表以及管理者信息表。2。事务需求分析a)读者信息管理部分,应完成以下功能i)可以浏览读者信息,并且可以对读者信息进行维护。ii) 可以删除添加及更改读者信息. b)书籍信息管理部分应完成以下功能 i) 可以浏览书籍信息 ii) 可以删除添加以及更改图书信息c) 图书管理系统部分应完成以下功能 i) 可以浏览当前管理者的信息 ii) 可以更改删除以及添加管理者的信息1。2 概念模式设计本节中
3、给出所设计的ER图cardnum namePhonenum IDtypeReaderamountdeadlineownreadernamecardnummoneyBorrowcard iflostborrowdatereturndatebooknum name BooklostBookborrowcardnumborrowcardbooknumfinaldatereadroomnameBookplaceBelong tobooknumBOOK typebooknumbookshelfpublishmanage IDpublishtimegendernameiflendable authorma
4、nager1.3 关系模式设计Book表属性名数据类型是否主键是否允许为空缺省值说明booknumChar(20)yesNOT NULL书号nameChar(20)noNOT NULL书名typeChar(20)noNOT NULL书的类型publishChar(20)noNOT NULL出版社publishtimedatetimenoNOT NULL出版时间authorChar(10)noNOT NULL书的作者iflendablebooleannoNOT NULLtrue是否可借Manager表属性名数据类型是否主键是否允许为空缺省值说明IDChar(20)yesNOT NULL管理员编号
5、nameChar(10)noNOT NULL管理员姓名genderChar(10)noNULL管理员性别Reader表属性名数据类型是否主键是否允许为空缺省值说明IDChar(20)yesNOT NULL读者证件号nameChar(10)noNOT NULL读者姓名cardnumChar(20)noNOT NULL借书证号typeChar(10)noNOT NULL读者类型PhonenumChar(15)noNULL联系号码deadlinedatetimenoNOT NULL有效期Bookplace表属性名数据类型是否主键是否允许为空缺省值说明readroomChar(10)noNOT NUL
6、L阅览室bookshelfChar(10)noNOT NULL书架号booknumChar(20)yesNOT NULL书号Borrowcard表属性名数据类型是否主键是否允许为空缺省值说明cardnumChar(20)yesNOT NULL借书证号readernameChar(10)noNOT NULL读者姓名amountintnoNOT NULL借书数目moneyfloatnoNOT NULL卡内余额iflostbooleannoNOT NULLfalse是否丢失Bookborrow表属性名数据类型是否主键是否允许为空缺省值说明cardnumChar(20)yesNOT NULL借书证号b
7、ooknumChar(20)yesNOT NULL所借书号nameChar(20)noNOT NULL书名borrowdatedatetimeyesNOT NULL借书日期finaldatedatetimenoNOT NULL截止日期returndatedatetimenoNULLNULL还书日期Booklost表属性名数据类型是否主键是否允许为空缺省值说明booknumChar(20)yesNOT NULL丢失书号borrowcardChar(20)noNOT NULL借书证号2 数据库编程2。1 表的创建CREATE TABLE Book(”booknum” char(20) PRIMAR
8、 KEY; ”name” char(20) NOT NULL; "type” char(20) NOT NULL;"publish” char(20) NOT NULL;"publishtime" datatime NOT NULL;”author” char(10) NOT NULL;”iflendable” boolean NOT NULL;)CREATE TABLE Manager( "ID” char(20) PRIMAR KEY; ”name” char(10) NOT NULL; ”gender" char(10) NOT
9、 NULL;)CREATE TABLE Reader( ”ID” char(20) PRIMAR KEY; ”name" char(10) NOT NULL; ”cardnum" char(20) NOT NULL; ”type" char(10) NOT NULL; ”Phonenum” char(15) NULL; ”deadline" datatime NOT NULL;)CREATE TABLE Bookplace( ”readroom" char(10) NOT NULL; ”bookshelf” char(10) NOT NULL;
10、 "booknum" char(20) PRIMAR KEY;)CREATE TABLE Borrowcard( "cardnum” char(20) PRIMAR KEY; ”booknum” char(20) PRIMAR KEY; "name” char(20) NOT NULL; "borrowdate" datatime PRIMAR KEY; ”finaldate” datatime NOT NULL; ”returndate" datatime NOT NULL; )CREATE TABLE Booklost
11、( "booknum" char(20) PRIMAR KEY; ”borrowcard" char(20) NOT NULL;)2。2 数据的修改1) 读者信息的修改(添加、删除、修改)添加读者:INSERT INTO reader(ID,name,cardnum,type,phonenum,deadline)VALUES(3605021990,吴斐嘉,s08010078,'本科生,);删除读者:DELETE FROM reader where ID='3605021990;修改读者:UPDATE
12、 readerSET phonenum='HERE ID='3605021990'2) 借书证的挂失、补办、充值挂失:UPDATE borrowcardSET iflost=trueWHERE cardnum='s08010078'补办:INSERT INTO borrowcard(cardnum,readername,amount,money,iflost)VALUES('s08060077',吴斐嘉,0,0.00,false);充值:UPDATE borrowcardSET money=5。77WHERE ca
13、rdnum=s08010078;3) 书籍信息的修改增加图书馆从未有的新书:INSERT INTO bookVALUES('9787-5366-01,说谎,小说,重庆出版社,2006-1017,李伯曼,true);增加已经有的书:INSERT INTO bookVALUES(9787-536602,说谎',小说,'重庆出版社','2006-1017',李伯曼',true);报废某一本书:DELETE FROM bookWHERE booknum=9787-5366-02;馆藏位置的修改增加新的阅览室或书架:INSERT INTO book
14、place(readroom,bookshelf)VALUES(第三借阅室',367);修改书籍的馆藏地址:UPDATE bookplaceSET readroom=第三借阅室,bookshelf='3-67WHERE booknum='9787-5366-02;4) 图书的借阅及归还借阅:INSERT INTO bookborrow(cardnum,booknum,name,borrowdate,finaldate)VALUES('s08010078','97875366-02',说谎,20100607,2010-0707);UPDAT
15、E bookSET iflendable=falseWHERE booknum='978-75366-02;UPDATE borrowcardSET amount=amount+1WHERE cardnum='s08010078;归还:UPDATE bookSET iflendable=trueWHERE booknum='9787-536602;UPDATE bookborrowSET returntime='20100704'WHERE cardnum='s08010078 AND booknum='9787-536602AND bo
16、rrowdate=201006-07;UPDATE borrowcardSET amount=amount1WHERE cardnum=s08010078';6) 图书损坏或丢失的处理图书损坏:UPDATE bookSET iflendable=falseWHERE booknum=9787536602;UPDATE borrowcardSET money=money-5;图书丢失:DELETE FROM bookWHERE WHERE booknum='978-7536602;INSERT INTO booklost(booknum,cardnum)VALUES(978753
17、66-02','s08010078');UPDATE borrowcardSET money=money15;2.3 查询本节中至少包含实现以下查询的相应的SQL语句和运行结果:1) 读者信息查询(可随意给定一个读者证件号,以下查询类似.具体内容包括证件号、姓名、读者条码号、读者类型、联系方式、有效期等) SELECT FROM reader WHERE ID='3605021990;2) 读者当前借阅明细查询(包括当前借阅书籍的条码号、书名、借阅日期、应还日期、馆藏地) SELECT bookborrow.booknum,name,borrowdate,fin
18、aldate,readroom,bookshelf FROM bookborrow,bookplace WHERE bookborrow.booknum=bookplace。booknum AND cardnum=s08010078' AND finaldate=GETDATE();3) 读者历史借阅明细查询(包括历史上所有借阅书籍的条码号、书名、借阅日期、归还日期、馆藏地) SELECT bookborrow。booknum,name,borrowdate,returndate,readroom,bookshelf FROM bookborrow,bookplace WHERE bo
19、okborrow.booknum=bookplace。booknum AND cardnum='s08010078;4) 过期未还的图书及相关读者信息的查询 SELECT FROM bookborrow,reader WHERE bookborrow.cardnum=reader。cardnum AND returndate=finaldate;5) 读者的图书遗失记录查询 SELECT FROM book WHERE booknum IN (SELECT booknum FROM booklost WHERE cardnum='s08010078');6) 书籍的各类
20、检索(包括书籍的类型、书名、作者、出版社、出版年份、馆藏数量、在馆数量,且得出结果根据某属性排序) SELECT FROM book,bookplace WHERE book。booknum=bookplace。booknum AND name=说谎 ORDER BY book.booknum; 在馆数量: SELECT COUNT() FROM book WHERE name=说谎' AND iflendable=true GROUP BY name ORDER BY name;7) 所有毕业生应归还图书情况查询SELECT booknum FROM reader,bookborro
21、w WHERE reader.cardnum=bookborrow。cardnum AND deadline<=finaldate;2。4 统计本节中至少包含实现以下查询的相应的SQL语句和运行结果:1) 2010年5月每日图书借出册数 SELECT COUNT() FROM bookborrow WHERE borrowdate BETWEEN 20100501' AND '20100531GROUP BY borrowdate;2) 2010年5月热借图书排行榜 SELECT name,COUNT() FROM bookborrow WHERE borrowdate BETWEEN '2010-0501 AND '2010-05-31 GROUP BY name ORDER BY COUNT(*) DESC;3) 各类读者平均持有(借而未还)图书数量 SELECT AVG(amount) FROM borrowcard,reader WHERE borrowcard。cardnum=reader。cardnum AND reader。cardnum IN (SELECT cardnum FROM bookborrow WHERE returndate=NULL )
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省乐至县联考2025-2026学年初三第三次诊断语文试题含解析
- 2026届天津市新华圣功校初三尖子生班3月调研考试语文试题含解析
- 落实教育公平助学承诺书(5篇)
- 河北省秦皇岛青龙县联考2026届下学期初三年级期末考试(联考卷)英语试题含解析
- 快乐运动的演讲比赛稿15篇
- 企业沟通渠道评估模板优化交流
- 文档编写格式规范工具包
- 物资采购合规管控承诺书6篇
- 环保建材绿色生产承诺书范文5篇
- 多平台文档编辑格式规范
- 2026年及未来5年市场数据中国铍矿石行业市场全景评估及发展前景预测报告
- 工程项目部质量责任制度
- 2025-2026学年八年级下册语文教学计划及进度表
- 2026年内蒙古公务员录用考试《行测》题(含答案)
- 2026及未来5年中国公安行业信息安全市场运行格局及发展趋向研判报告
- 2026年南京城市职业学院单招职业适应性考试题库及一套完整答案详解
- GB/T 23786-2026速冻饺子质量通则
- 2025年河南农业职业学院单招职业技能考试题库附答案解析
- 2025年小学语文教师职称考试试题以及答案
- 单位财务培训制度
- 2026年入职性格测试规则意识强弱考核题及解答
评论
0/150
提交评论