图书借阅管理系统中,根据读者提出的要求(如借书、还书、查询等)进行相应的业务处理的该层数据流图是()
A.变换型
B.事务型
C.控制型
D.选择型
A.变换型
B.事务型
C.控制型
D.选择型
以下是某图书管理系统的数据库模式: 读者(借书证号,姓名,联系电话,身份证号,注销标记) 主键:借书证号 出版社(出版社名称,联系电话,地址) 主键:出版社名称 采购图书(ISBN,书名,作者,责任编辑,出版社名称,出版时间,单价,馆藏数量) 主键:ISBN 外键:出版社名称,参照 出版社(出版社名称) 上架图书(内部编码,检索号,借阅状态,ISBN,上架时间) 主键:内部编码 外键:ISBN,参照 采购图书(ISBN) 借阅(借阅编号,借书证号,图书内部编码,借阅时间,归还时间) 主键:借阅编号 外键:借书证号,参照 读者(借书证号) 图书内部编码,参照 上架图书(内部编码) 请基于上述数据库模式,用SQL实现以下操作: 1、创建基本表“采购图书”,要求包含主、外键定义,以及其它相关的完整性约束。 2、在已成功创建的“读者”基本表上,添加对属性“注销标记”的约束,要求该属性的值只能为“是”或“否”。 3、列出借书证编号为”S20170204”的读者借阅过的所有书籍的名称。 4、读者未归还的图书超过一定数量将不能再办理图书借阅,实现查询读者未归还的图书数量。 5、查询已采购图书中尚未上架的图书ISBN和书名,以便于指导工作人员及时上架图书(要求:不要使用集合查询实现)。 6、列出所有的上架图书的ISBN号和总被借阅次数(提示:考虑外连接)。 7、计算借书次数最多的读者姓名和身份证号(要求:先创建读者借阅次数视图,再在视图上查询)。 8、借书证编号为”S20170204”的读者曾借阅过一本《数据库原理与应用》,今日前来归还,经扫描该本书的内部编码是“N20160347”,请更新相关基本表中的数据。 9、增加一条记录到读者表中,借书证编号为“S20190141”,姓名为“张赫”,其他信息未知。 10、从基本表“上架图书”中删除那些已上架两年但从未被借过的图书。 11、图书的借阅情况是图书流通的历史记录,图书管理员只能添加记录和修改归还时间,而没有其他权限,请实现对图书管理员的授权操作。 12、读者经常按书名进行上架图书的查询,涉及到基本表“上架图书”和“采购图书”的连接,为加快查询速度,请在“上架图书”表的属性“ISBN”创建非聚集索引。
A.借阅号、管理员号、读者号
B.借阅号、读者号、管理员号
C.读者号、管理员号、借阅号
D.读者号、借阅号、管理员号
A.图书.编号=借阅.编号 AND 借阅.借书证号=读者.借书证号
B.图书.分类号=借阅.分类号 AND 借阅.借书证号=读者.借书证号
C.读者.编号=借阅.编号 AND 借阅.借书证号=读者.借书证号
D.图书.编号=借阅.编号 AND 借阅.书名=读者.书名
A.SELECT 单位,COUNT(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 GROUP BY 单位
B.SELECT 单位,SUM(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 GROUP BY 单位
C.SELECT 单位,COUNT(借阅.借书证号) FROM 借阅,读者 WHERE 借阅.借书证号=读者.借书证号 ORDER BY 单位
D.SELECT 单位,COUNT(借阅.借书证号)FROM 借阅,读者WHERE 借阅.借书证号=读者.借书证号 HAVING 单位
设图书管理数据库中有3个表:图书.dbf、读者.dbf和借阅.dbf。它们的结构分别如下: 图书(总编号C(6),分类号C(8),书名C(16),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) 借阅(借书证号C(4),总编号C(6),借书日期D(8)) 在上述图书管理数据库中,图书的主索引是总编号,读者的主索引是借书证号,借阅的主索引应该是【 】。
假设图书管理数据库中有3个表,图书.dbf、读者.dbf和借阅.dbf。它们的结构分别如下; 图书(总编号C(6),分类号C(8),书名C(16),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20)) 借阅(借书证号C(4),总编号C(6),借书日期D(8)) 在上述图书管理数据库中,图书的主索引是总编号,读者的主索引是借书证号,借阅的主索引应该是【 】。
A.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 NOT IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)=1)
B.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVING COUNT(*)=1)
C.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 WHERE COUNT(*)=1)
D.SELECT 姓名,职称 FROM 读者 WHERE 借书证号 IN(SELECT 借书证号 FROM借阅 ORDER BY 借书证号 HAVING COUNT(*)=1)