资源描述:
《数据库原理与应用(庞国莉)__pg77_no.2题目+答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、完成第三章课后第2、3、4题,写相关SQL程序,提交数据库备份文件及SQL程序代码,(如不提交附件)可直接粘贴代码提交1、设有一图书馆数据库,包括三个表:图书表、读者表、借阅表。三个表的结构如表3-3、表3-4和表3-5所示。完成以下习题。表3-3 图书表结构列名说明数据类型约束图书唯一的图书号主键图书号定长字符串,长度为20书名图书的书名变长字符串,长度为50空值作者图书的编著者名变长字符串,长度为30空值出版社图书的出版社变长字符串,长度为30空值单价出版社确定的图书的单价浮点型,FLOAT空值表3-4 读者表结构列名说明数据类型约束
2、说明读者号读者唯一编号定长字符串,长度为10主键姓名读者姓名定长字符串,长度为8非空值性别读者性别定长字符串,长度为2非空值办公电话读者办公电话定长字符串,长度为8空值部门读者所在部门变长字符串,长度为30空值表3-5 借阅表结构列名说明数据类型约束说明读者号读者的唯一编号定长字符串,长度为10外码,引用读者表的主键图书号图书的唯一编号定长字符串,长度为20外码,引用图书表的主键非空值借出日期图书借出的日期定长字符串,长度为8,为’yymmdd’归还日期图书归还的日期定长字符串,长度为8,为’yymmdd’空值主键为:(读者号,图书号)(
3、1)用SQL语句创建图书馆数据库。Createdatabase图书馆数据库;(2)用SQL语句创建上述三个表。use图书馆数据库Gocreatetablebook(bnumchar(20)primarykey,bnamevarchar(50),bwrivarchar(30),bpubvarchar(30),bprifloat);use图书馆数据库gocreatetablerea(rnumchar(10)primarykey,rnamechar(8)notnull,rsexchar(2)notnull,rphonechar(8),rparc
4、har(30));use图书馆数据库gocreatetablebr(rnumchar(10)notnull,bnumchar(20)notnull,brdatechar(8)notnull,brbackchar(8),foreignkey(rnum)referencesrea(rnum),foreignkey(bnum)referencesbook(bnum));(3)基于图书馆数据库的三个表,用SQL语言完成以下各项操作:1)给图书表增加一列“ISBN”,数据类型为CHAR(10)altertablebookaddISBNCHAR(10
5、);2)为刚添加的ISBN列增加缺省值约束,约束名为ISBNDEF,缺省值为’7111085949’;ALTERTABLEBOOKADDCONSTRAINTISBNDEFDEFAULT'7111085949'FORISBN;2)为读者表的’办公电话’列,添加一个CHECK约束,要求前五位’88320’,约束名为CHECKDEF。ALTERTABLEREAADDCONSTRAINTCHECKDEFCHECK(RPHONE>='88320000'ANDRPHONE<='88320999');3)删除图书表中ISBN列增加缺省值约束;ALTER
6、TABLEBOOKDROPISBNDEF;5)删除读者表中“办公电话”列的CHECK约束;ALTERTABLEREADROPCHECKDEF;6)删除图书表中新增的列ISBN;ALTERTABLEBOOKDROPCOLUMNISBN;(4)基于图书馆数据库的三个表,用SQL语言完成以下数据更新操作:1)向读者表加入一个新读者,该读者的信息为:(‘200197’,‘王小平’,‘男’,‘88320732’,’存中楼’)INSERTINTOREAVALUES('200197','王小平','男','88320732','信息系');2)向借阅表
7、插入一个借阅记录,表示读者’王小平’借阅了一本书,图书号为’TP316/ZW6’,借出日期为当天的日期,归还日期为空值。INSERTINTOBOOK(BNUM)VALUES('TP316/ZW6');INSERTINTOBRVALUES('200197','TP316/ZW6',convert(CHAR(8),GETDATE(),112),NULL);2)读者’王小平’在借出上述图书后10归还该书;UPDATEBRSETBRBACK=BRDATE+10(10什么时候开应该加引号,什么是不加)WHEREBNUM='TP316/ZW6';3)
8、当读者’王小平’按期归还图书时,删除上述借阅记录;DELETEFROMBRWHERErnum=(selectrnumfromreawherername='王小平')(5)针对以上三个表,用SQ