数据库原理与应用(庞国莉)Pg77No.2题目答案

上传人:平*** 文档编号:14351370 上传时间:2017-10-29 格式:DOC 页数:26 大小:99.98KB
返回 下载 相关 举报
数据库原理与应用(庞国莉)Pg77No.2题目答案_第1页
第1页 / 共26页
数据库原理与应用(庞国莉)Pg77No.2题目答案_第2页
第2页 / 共26页
数据库原理与应用(庞国莉)Pg77No.2题目答案_第3页
第3页 / 共26页
数据库原理与应用(庞国莉)Pg77No.2题目答案_第4页
第4页 / 共26页
数据库原理与应用(庞国莉)Pg77No.2题目答案_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《数据库原理与应用(庞国莉)Pg77No.2题目答案》由会员分享,可在线阅读,更多相关《数据库原理与应用(庞国莉)Pg77No.2题目答案(26页珍藏版)》请在金锄头文库上搜索。

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空值主键为: (读者号, 图书号)(1)用 SQL 语句创建图书馆数据库。Create database

3、 图书馆数据库;(2)用 SQL 语句创建上述三个表。use 图书馆数据库 Gocreate table book( bnum char (20) primary key,bname varchar (50),bwri varchar (30),bpub varchar (30),bpri float );use 图书馆数据库 gocreate table rea( rnum char (10) primary key,rname char (8) not null,rsex char (2) not null,rphone char (8),rpar char(30);use 图书馆数据库

4、gocreate table br( rnum char (10) not null,bnum char (20) not null,brdate char (8) not null,brback char (8),foreign key (rnum) references rea(rnum),foreign key (bnum) references book(bnum);(3)基于图书馆数据库的三个表,用 SQL 语言完成以下各项操作:1)给图书表增加一列“ISBN” ,数据类型为 CHAR(10)alter table book add ISBN CHAR(10);2)为刚添加的 ISB

5、N 列增加缺省值约束,约束名为 ISBNDEF,缺省值为7111085949 ;ALTER TABLE BOOKADD CONSTRAINT ISBNDEF DEFAULT 7111085949 FOR ISBN;3)为读者表的办公电话列,添加一个 CHECK 约束,要求前五位88320,约束名为 CHECKDEF。ALTER TABLE REAADD CONSTRAINT CHECKDEF CHECK (RPHONE =88320000 AND RPHONE 2order by (count (bnum) desc(6)针对以上三个表,用 SQL 语言完成以下各项多表连接查询、子查询、组合查

6、询1)查询读者的基本信息以及他/她借阅的情况。select rea.* ,br.bnum ,br.brback ,br.brdate from rea,brwhere rea.rnum = br.rnum 2)查询读者的读者号、姓名、借阅的图书名、借出日期、归还日期。select br.bnum ,rea.rname,book.bname,br.brback ,br.brdate from rea,br,book where rea.rnum = br.rnum and book.bnum=br.bnum 3)查询借阅了机械工业出版社出版,并且书名中包含数据库三个字的图书的读者,显示读者号、姓

7、名、书名、出版社,借出日期、归还日期。select rea.rnum,rea.rname,book.bname,br.brback ,br.brdate from rea,br,book where book.bname like %数据库% and bpub = 机械工业出版社 and rea.rnum = br.rnum and book.bnum=br.bnum 4)查询至少借阅过1本机械工业出版社出版的书的读者的读者号、姓名、书名,借阅本数,并按借阅本数多少降序排列。select br.rnum,rea.rname,bname,COUNT(br.bnum )本数from book,re

8、a,brwhere rea.rnum = br.rnum and book.bnum = br.bnum andbook.bnum = 机械工业出版社 Group by br.rnum ,rname,bnamehaving COUNT(bname) =1order by COUNT(br.bnum) desc 5)查询与王平的办公电话相同的读者的姓名。select r1.rnamefrom rea r1,rea r2where r1.rname = 王平 and r1.rphone = r2.rphone6)查询办公电话为88320701的所有读者的借阅情况,要求包括借阅了书籍的读者和没有借阅

9、的读者,显示他们的读者号、姓名、书名、借阅日期。select rea.rnum,rname,bname,brdatefrom book,rea,brwhere rphone = 88320701 and rea.rnum = br.rnum and book.bnum = br.bnum 7)查询所有单价小于平均单价的图书号、书名、出版社select bnum,bname,bpubfrom book where bpri (select MAX (bpri)rom bookwhere bpub = 机械工业出版社)9)查询科学出版社的图书中单价比机械工业出版社最低单价高的的图书书名、单价。se

10、lect bname ,bprifrom bookwhere bpub = 科学出版社 and bpri (select Min (bpri)from bookwhere bpub = 机械工业出版社)10)查询已被借阅过并已归还的图书信息。select *from bookwhere bnum in ( select bnumfrom brwhere brback is not null)11)查询从未被借阅过的图书信息。select *from bookwhere bnum not in ( select bnumfrom br)12)查询正在借阅的图书信息。select *from bo

11、okwhere bnum in ( select bnumfrom brwhere brdate not like null and brback like null)13)查询借阅了机械工业出版社出版的书名中含有数据库书三个字的图书、或者借阅了科学出版社出版的书名中含有数据库书三个字的图书的读者姓名、书名。select rname,bnamefrom book,rea,brwhere bname like %数据库% and rea.rnum in ( select br.rnum from br,bookwhere bpub = 机械工业出版社 or bpub = 科学出版社 )14)查询

12、借阅了机械工业出版社出版的书名中含有数据库书三个字的图书并且也借阅了科学出版社出版的书名中含有数据库书三个字的图书的读者姓名、书名。select rname,bnamefrom book,rea,brwhere bname = %数据库 % and rea.rnum in ( select br.rnum from br r1,br r2,bookwhere r1.rnum = r2.rnum and book.bnum =br.bnum and bpub = 机械工业出版社 and bpub = 科学出版社)15)查询借阅了机械工业出版社出版的书名中含有数据库书三个字的图书但没有借阅了科学出版社出版的书名中含有数据库书三个字的图书的读者姓名、书名。select rname,bnamefrom book,rea,brwhere bname like %数据库% and rea.rnum in ( select br.rnum from br ,bookwhere br.bnum = book.bnum and bpub = 机械工业出版社and book.bnum in (select br.rnumfrom br,bookwhere book.bnum = br.bnum and bname like %数据库%and bpub = 科学出版社)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号