现有借阅关系表:借阅(书号,书名,库存数,读者号,借期,还期),

题目

现有借阅关系表:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的关键字足()。

  • A、书号
  • B、读者号
  • C、书号,读者号
  • D、书号,读者号,借期
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有如下SQL语句:

SELECT读者.姓名,读者.职称,图书.书名,借阅.借书日期;

FROM图书管理!读者,图书管理!借阅,图书管理!图书;

WHERE借阅.借书证号=读者.借书证号;

AND图书.总编号=借阅.总编号

其中WHERE子句中的“借阅.借书证号=读者.借书证号”对应的关系操作是( )。


正确答案:
内部联接(INNER JOIN)或联接(JOIN)【解析】连接查询是一种基于多个关系的查询。

第2题:

若用表Reader存储读者信息,Book表存储图书信息,Borrow表存储借阅情况。

以下SQL语句是“查询证号为12345的读者当前所借阅的图书书名(即尚未归还的图书)”,请补充完整。

SELECT 书名 FROM Book WHERE 流水号(1)

(SELECT 流水号 FROM(2)WHERE 证号="12345" AND(3))

以下SQL语句是“查询书名包含‘软件设计师’的图书情况”,请补充完整。

SELECT * FROM Book WHERE 书名(4)"%软件设计师%"


正确答案:(1)IN(2) Borrow(3) 归还标记="false"(4) LIKE
(1)IN(2) Borrow(3) 归还标记="false"(4) LIKE 解析:空(1)是引出于查询的,该类连接词有:IN、NOT IN、EXISTS、NOT EXISTS,EXISTS引出的子查询一般是SELECT *型,故排除;再据语意分析应填IN。
子查询的语意是“查询当前所借阅的图书流水号(即尚未归还的图书)”,因此应从Borrow表中查询,而且归还标记应为false,故空(2)应填Borrow,空(3)应填:归还标记="false"。
对字符串进行的操作通常是使用操作符LIKE的模式匹配,正符合题意,故空(4)应填“LIKE”。

第3题:

对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。下面SQL语句正确的是______。 SELECT 姓名,书名 FROM 借阅,图书,读者 WHERE; 借阅,借书证号=“0001”AND;

A.图书.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号

B.图书.分类号=借阅.分类号AND读者.借书证号=借阅.借书证号

C.读者.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号

D.图书.总编号=借阅.总编号AND读者.书名=借阅.书名


正确答案:A
解析:题目的要求是查询0001号借书证的读者姓名和所借图书的书名。此时涉及三个表,读者、借阅和图书表,并且是一个多表查询的题目,其中读者表与图书表通过纽带表借阅表进行关联,本题所应该采用的SQL语句如下
  SELECT 姓名,书名 FROM 借阅,图书,读者;
  WHERE 借阅.借书证号="0001"AND;
  图书.总编号=借阅.总编号AND读者.借书证号=借阅.借书证号
  因此本题的正确答案应该是A。

第4题:

有以下两个表: 读者(借书证号C C、4),单位C(8),姓名C(、6),性别C(2),职称C(6),地址C(20)) 借阅(借书证号C(4),总编号C(6),借书日期D(8)) 要求分别求出各个单位当前借阅图书的读者人次,下面的SQL语句正确的是( )。 SELECT单位,__________FROM借阅,读者WHERE借阅.借书证号=读者.借书证号__________

A. COUNT(借阅.借书证号)CROUP BY单位

B. SUM(借阅.借书证号)GROUP BY单位

C. COUNT(借阅.借书证号)ORDER BY单位

D. COUNT(借阅.借书证号)HAVING单位


正确答案:A
题目中给出了两个数据表。本题要求的是各单位当前借阅图书的人次,因此必须采用COUNT命令来求得总人数,然后应该以各个单位进行分组操作,通过这两个方面的内容考虑,本题的正确答案应该是:
SELECT单位,COUNT(借阅.借书证号)FROM借阅,读者WHERE借阅.借书证号=读者.借书证号GROUP BY单位 因此应该选择A。

第5题:

设有图书(图书编号,书名,第一作者,出版社.、读者(借书证号,姓名,单位,职称.和借阅(借书证号,图书编号,借书日期,还书日期.三张表,则表借阅的关键字(键或码.为( )。

A.借书证号,图书编号

B.图书编号,借书日期

C.借书日期,还书日期

D.借书证号,借书日期


正确答案:A
在二维表中凡能唯一标识元组的最小属性集称为关键字,关键字具有标识元组、建立元组间联系等重要作用。此题中,(借书证号,图书编号)是表借阅的主键,借书证号、图书编号分别是外键,借书证号是读者表的主关键字,图书编号是图书表的主关键字。

第6题:

对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是______。 SELECT单位,______FROM借阅,读者WHERE; 借阅.借书证号=读者.借书证号

A.COUNT(借阅.借书证号) GROUP BY单位

B.SUM(借阅.借书证号) GROUP BY单位

C.COUNT(借阅.借书证号) ORDER BY单位

D.COUNT(借阅.借书证号) HAVING单位


正确答案:A

第7题:

以下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 读者.书名=借阅.书名


正确答案:A
解析:使用SQL命令进行查询。查询结果出自不同的表,即姓名出自读者表,书名出自图书表,该题是涉及多个表的连接查询。读者和借阅表通过共有属性借书证号进行连接,从而可以获得借阅了图书的读者姓名,图书表和借阅表通过共有属性总编号进行连接,从而可以获得借出图书的书名。由于要进行3个关系即借阅、图书和读者3个表的连接,必须将连接条件放在WHERE短语后面,两个连接条件即“图书.总编号=借阅.总编号”和“读者.借书证号=借阅.借书证号”由AND运算符连接。

第8题:

图书馆数据库系统中有下列模式:书(书号,类别,书名,出版社,年份,作者,价格,总藏书量,现有库存)借书卡(卡号,姓名,单位,类别)借书记录(卡号,书号,借期,还期)其中关系书和关系借书卡的主键分别为书号和卡号,关系借书记录的主键为()。

A.卡号,书号

B.书号,借期

C.卡号,书号,借期

D.卡号,借期


正确答案:A

第9题:

现有表:读者(读者姓名,读者单位,借书证号)借阅(借书证号,图书名称,图书作者,出版单位)查询没有借阅图书的读者的姓名和借书证号,正确的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借阅.借书证号=读者.借书证号)


正确答案:C
谓词EXISTS用来检验在子查询中是否有结果返回,本题中内层查询引用了外层查询的表,所以是内外层相关嵌套查询。

第10题:

现有表:读者(读者姓名,读者单位,借书证号) 借阅(借书证号,图书名称,图书作者,出版单位) 从读者表和借阅表中查询借阅了两本及两本以上图书的读者姓名和读者单位,正确的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)


正确答案:A
本题考查了SQL查询功能的嵌套查询和分组与计算查询。分组与计算查询中,利用HAVING进一步限定分组的条件。HAVING子句和WHERE子句不矛盾,在查询中是先用WHERE子句限定元组,然后进行分组,最后再用 HAVING子句限定分组。

更多相关问题