假设图书馆业务规则:
读者需要凭借书证借阅图书,借书证有借书证号、姓名、年龄、单位等属性;
每一本图书有书号、书名、作者、出版社等属性;
每一本借出的图书有借书证号、书号、借出日期、应还日期。
试根据上述业务规则:
(1)设计E-R模型,要求E-R图中注明属性和联系的类型。
(2)将E-R模型转换成关系模型,用SQL语句创建表、定义完整性规则(字段类型及长度等信息自定义即可)。
第1题:
现有表:读者(读者姓名,读者单位,借书证号) 借阅(借书证号,图书名称,图书作者,出版单位) 从读者表和借阅表中查询借阅了两本及两本以上图书的读者姓名和读者单位,正确的SQL语句是( )。
A. SELECT读者姓名,读者单位FROM读者WHERE借书证号IN; (SELECT借书证号FROM借阅GROUP BY借书证号HAVING COUNT(*)>=2)
B. SELECT读者姓名,读者单位FROM读者WHERE借书证号EXISTS; (SELECT借书证号FROM借阅GROUP BY借书证号HAVING COUNT(*)>=2)
C. SELECT读者姓名,读者单位FROM读者WHERE借书证号IN; (SELECT借书证号FROM借阅GROUP BY借书证号WHERE COUNT(*)>=2)
D. SELECT读者姓名,读者单位FROM读者WHERE借书证号EXISTS; (SELECT借书证号FROM借阅GROUP BY借书证号WHERE COUNT(*)>=2)
第2题:
查询借阅了两本和两本以上图书的读者姓名和单位,应使用SQL语句
A.SELECT姓名,单位FROM读者; WHERE借书证号IN; (SELECT借书证号FROM借阅; GROUP BY借书证号HAVING COUNT(*)>=2)
B.SELECT姓名,单位FROM读者; WHERE借书证号EXISTS; (SELECT借书证号FROM借阅; GROUP BY借书证号HAVING COUNT(*)>=2)
C.SELECT 姓名,单位 FROM 读者; WHERE 借书证号 EXISTS; (SELECT 借书证号 FROM 借阅; GROUP BY 借书证号 WHERE COUNT(*)>=2)
D.SELECT 姓名,单位 FROM 读者; WHERE 借书证号 IN; (SELECT 借书证号 FROM 借阅; GROUP BY 借书证号 WHERE COUNT(*)>=2)
第3题:
对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是( )。
A)SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;
借阅.借书证号=读者.借书证号ORDERBY单位
B)SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE;
借阅.借书证号=读者.借书证号GROUPBY单位
C)SELECT单位,SUM(借阅.借书证号)FROM借阅,读者WHERE; &&
借阅.借书证号=读者.借书证号HAVING单位
D)SELECT单位,SUM(借阅.借书证号)FROM借阅,读者WHERE;
借阅.借书证号=读者.借书证号GROUPBY单位
第4题:
以下2题使用如下图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) 借阅(借书证号C(4),总编号C(6);借书日期D(8))
对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。 SQL语句正确的是 ______。 SELECT 姓名,书名 FROM 借阅,图书,读者WHERE; 借阅.借书证号="0001',AND; ______ ______
A.图书.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号
B.图书.分类号=借阅.分类号AND读者.借书证号=借阅.借书证号
C.读者.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号
D.图书.总编号=借阅.总编号AND读者.书名=借阅.书名
第5题:
查询没有借阅图书的读者的姓名和借书证号,应使用SQL语句
A.SELECT 姓名 FROM 读者 WHERE NOT EXISTS; (SELECT 借书证号 FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
B.SELECT 姓名,借书证号 FROM 读者 WHERE (SELECT*FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
C.SELECT 姓名,借书证号 FROM 读者 WHERE NOT EXISTS; (SELECT*FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)
D.SELECT 姓名,借书证号 FROM 读者 WHERE 借阅=NULL (SELECT*FROM 借阅 WHERE 借阅.借书证号=读者.借书证号)