现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。则该关系模式的码是()。A、书号B、读者号C、书号+读者号D、书号+读者号+借期

题目

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

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

第1题:

有如下SQL语句:

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

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

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

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

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


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

第2题:

现有表:读者(读者姓名,读者单位,借书证号)借阅(借书证号,图书名称,图书作者,出版单位)查询没有借阅图书的读者的姓名和借书证号,正确的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用来检验在子查询中是否有结果返回,本题中内层查询引用了外层查询的表,所以是内外层相关嵌套查询。

第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题:

查询没有借阅图书的读者的姓名和借书证号,应使用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用来检验在于查询中是否有结果返同,本题中内层查询引用了外层查询的表,所以是内外层相关嵌套查询。

第5题:

本题用到下面三个关系表:

CARD 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级

BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数

BORROW 借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期

备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。

要求实现如下15个处理:

1.找出借书超过5本的读者,输出借书卡号及所借图书册数。(2分)

2.查询借阅了"水浒"一书的读者,输出姓名及班级。(3分)

3.查询过期未还图书,输出借阅者(卡号)、书号及还书日期。(3分)

4.查询书名包括"网络"关键词的图书,输出书号、书名、作者。(2分)

5.查询现有图书中价格最高的图书,输出书名及作者。(2分)

6.查询当前借了"计算方法"但没有借"计算方法习题集"的读者,输出其借书卡号,并按卡号降序排序输出。(4分)

7.将"C01"班同学所借图书的还期都延长一周。(2分)

8.从BOOKS表中删除当前无人借阅的图书记录。(2分)

9.在BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是"数据库技术及应用",就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表)。(4分)

10.建立一个视图,显示"力01"班学生的借书信息(只要求显示姓名和书名)。(3分)

11.查询当前同时借有"计算方法"和"组合数学"两本书的读者,输出其借书卡号,并按卡号升序排序输出。(3分)


正确答案:
 

第6题:

检索借了书号为BOOKl这本书的读者号。


正确答案:∏RNO(BR)÷∏BNO(σBSO='BOOKI'(BOOK))
∏RNO(BR)÷∏BNO(σBSO='BOOKI'(BOOK))

第7题:

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

第8题:

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

A.卡号,书号

B.书号,借期

C.卡号,书号,借期

D.卡号,借期


正确答案:A

第9题:

连编后可以脱离Visual FoxPro独立运行的程序是 ______。

以下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运算符连接。

第10题:

阅读下列说明,回答问题1至问题3。

【说明】

请设计一个图书馆数据库,此数据库中对每个借阅者保存的读者记录包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本书被借出的书存有读者号、借出日期和应还日期。

【问题1】

给出E-R图

【问题2】

转换成关系模型

【问题3】

给其中任何一个表用SQL语句建表。


正确答案:【问题1】 【问题2】 关系模型为: 读者(读者号姓名地址性别年龄单位) 书(书号书名作者出版社) 借书(读者号书名借出日期应还日期) 【问题3】 对关系模式“借书”建表: CREATE TABLE RB(RNO CHAR(5) BNO CHAR(5) OUT_DATE
【问题1】 【问题2】 关系模型为: 读者(读者号,姓名,地址,性别,年龄,单位) 书(书号,书名,作者,出版社) 借书(读者号,书名,借出日期,应还日期) 【问题3】 对关系模式“借书”建表: CREATE TABLE RB(RNO CHAR(5), BNO CHAR(5), OUT_DATE 解析:这个数据库的设计比较简单,但需要考生对一些基本知识有所掌握。
通过分析,可以得到:有2个实体和一个联系。
实体:读者、书。
联系:借书。
读者和书之间是“一对多”的借书联系。
实体“读者”应该有如下属性:读者号,姓名,年龄,单位,地址,性别。
实体“书”应该有如下属性:书号,书名,作者,出版社。
联系“借书”应该有如下属性:借出日期,应还时期。
由以上分析画出的E-R图如下所示。

更多相关问题