图书馆一个数据库设计_第1页
图书馆一个数据库设计_第2页
图书馆一个数据库设计_第3页
图书馆一个数据库设计_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

综合设计性实验为图书馆设计一个数据库,此数据库对每个借阅者保存读者记录,包括:借书证号、姓名、性别、单位、可借数量。对每本书记录:书号、书名、作者、出版社。对每本被借出的书有:读者号、借出日期、应还日期。可以随时查阅书库中的书籍信息,所有的书籍均由书号唯一标识;可以随时查阅书籍借还情况,系统约定任何人可以借多本图书,任何一种图书可以为多人所借,借书证号具有唯一性。要求:.基于《数据库概论》中所学的知识分析该数据库的基本结构,.用Transact-sql命令完成如下要求:(1)创建数据库和数据表,定义每个表的主键和外键,为每个属性选择合适的数据类型,定义每个属性是否允许空值,是否有默认值等;(2)结合具体情况为数据库表设置合理的约束或规则;(3)如果需要,为数据表设计合理的触发器;(4)使用SQL语句,在你设计的每个表中插入至少3条数据,要求记录满足数据约束要求,且尽量真实可信;(5)自行设计查询要求,给出经常需要用到的查询语句。3.写出完整的实验报告。附:实验报告模板网络工程系综合性实验实验报告课程名称数据库技术与应用学号姓名张欢任课老师高宁2012年11月图书馆数据库设计实验名称图书馆数据库设计createdatabaselibrary:创建图书馆数据库createtablereader:创建读者记录数据表createtablebook:创建每本书记录数据表createtablerb:创建借出的书数据表createrule借出日期—rule:创建借出日期的规则并且绑定createrule书号_rule:创建书号约束规则并且绑定createtriggerset_可借数量:创建可借数量触发器altertablerbaddconstraintt:约束可借时间3个月select*fromreader:查询reader表所有信息select*frombook:查询book表所有信息select*fromrb:查询rb表所有信息select*fromrbwhere姓名='张欢':查询张欢的所有信息select*fromreader,rb:查询读者借书的所有信息源程序代码:createdatabaselibrarygouselibrarygocreatetablereader(借书证号char(10)notnullprimarykey,姓名nchar(4)notnull,性别char(1)check(性别in('男‘,’女‘)),单位char(20),可借数量char(1))uselibrarygoinsertreadervalues('',‘张欢‘,‘男‘,‘安徽农业大学','3')insertreadervalues('',‘李四‘,‘女‘,‘经济技术学院','4')insertreadervalues('',‘张三‘,’男‘,‘安徽医科大学','5')createtablebook(书号char(16)notnullprimarykey,书名char(18)notnull,作者char(4),出版社char(20))uselibrarygoinsertbookvalues('ab123',"天龙八部‘,’金庸",'新华出版社,)insertbookvalues('bc124',‘呐喊‘,‘鲁迅','安徽出版社')insertbookvalues('dc124','数据库',‘刘卫国‘,‘清华大学出版社')createtablerb(读者号char(10)unique,借出日期datetime应还日期datetimealtertablerbnotnull,notnull)addconstrainttcheck(应还日期<dateadd(m3,应还日期))uselibrarygoinsertrbvalues('1000',''insertrbvalues('1001',''insertrb,''),'')values('1002','','')createrule借出日期_ruleas酸出日期>='1982-01-01'and嬲出日期<=getdate()execsp_bindrule借出日期_rule,'rb.借出日期'createrule书号_ruleas@valuelike'[a-h]%[0-9]'execsp_bindrule_rule,'book.rW'uselibrarygocreatetriggerset_可借数量onreaderforinsert,deleteasifexists(select*frominserted)update可借数量set可借数量=可借数量+1wherereaderin(selectreaderfrominserted)elseupdate可借数量set可借数量=可借数量-1wherereaderin(selectreaderfromdeleted)

select

温馨提示

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

评论

0/150

提交评论