在图书数据库中有“作者”表(作者编号、作者名)、“读者”表(读者

题目

在图书数据库中有“作者”表(作者编号、作者名)、“读者”表(读者编号、读者名)和“图书”表(图书编号,图书名、作者编号)等3个基本情况表。如果一名读者借阅过某一本书,则认为该读者与这本书的作者之间形成了关系。为能反映作者与读者之间的关系,在数据库中应增加新的表。下列关于新表的设计中,最合理的设计是()

  • A、增加一个表:借阅表(读者编号、图书编号)
  • B、增加一个表:读者-作者表(读者编号、作者编号)
  • C、增加一个表:借阅表(读者编号、图书编号、作者编号)
  • D、增加两个表:借阅表(读者编号、图书编号),读者-作者表(读者编号、作者编号)
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

(1)建立项目文件,名为“xm”。

(2)将数据库“教材”添加到新建立的项目当中。

(3)为数据库中的表“作者”建立主索引,索引名称和索引表达式均为“作者编号”;为“教材”建立普通索引,索引名和索引表达式均为“作者编号”。.

(4)建立表“作者”和表“教材”之间的关联。


正确答案:
【考点指引】本大题主要考查项目管理器的使用及数据表索引和关联的建立。
(1)【操作步骤】
选择【文件】→【新建】命令,选择“项目”,单击“新建文件”按钮,输入项目名称“xm”后单击“保存”按钮。
(2)【操作步骤】
在项目管理器中选择“数据”选项卡,然后选择列表框中的“数据库”,单击“添加”按钮,在“打开”对话框中选择数据库名“教材”,单击“确定”按钮将数据库“教材”添加到新建的项目“xm”中。
(3)【操作步骤】
①在“数据”选项卡中,依次展开数据库“教材”、“表”,选择“作者”表,单击“修改”按钮,打开表设计器修改表“作者”结构。在“作者”表设计器中的“索引”选项卡的“索引名”中输入“作者编号”,选择索引类型为“主索引”,索引表达式为“作者编号”,单击“确定”按钮关闭表设计器并保存表“作者”结构。
②在项目管理器中,选择“教材”表,单击“修改”命令按钮,打开表设计器修改表“教材”结构,在“教材”表设计器的“索引”选项卡的“索引名”中输入“作者编号”,选择索引类型为“普通索引”,索引表达式为“作者编号”,单击“确定”按钮关闭表设计器并保存表“教材”结构。
(4)【操作步骤】
①关闭项目管理器,选择【文件】→【打开】命令,在“打开”对话框的“文件类型”下拉列表框中选择“数据库”,选择“教材.dbc”,单击“确定”按钮,打开数据库设计器。
②在数据库设计器中,将“作者”表中的索引“作者编号”拖曳到表“教材”的索引“作者编号”上,为表“作者”和表“教材”之间建立关联。

第2题:

在考生文件夹下建立数据库Bookauth.DBC,把表books和authors添加到该数据库中。 2.为authors表建立主索引。索引名为“pk”,索引表达式为“作者编号”。 3.为books表建立两个普通索引。第一个索引名为“pk”,索引表达式为“图书编号”;第二个索引名和索引表达式均为“作者编号”。 4.建立authors表和books表之间的永久联系。


正确答案:
(1)步骤1:单击工具栏中的“新建”按钮,在“新建”对话框中选择“文件类型”中的“数据库”,单击“新建文件”。在“创建”对话框中输入数据库名Bookauth,再单击“保存”按钮。步骤2:在数据库设计器的空白处右击,然后在弹出的快捷菜单中选择“添加表”命令,在“打开”对话框中选择考试文件夹下的authors和books表,双击打开。
(2)在数据库设计器中右击表authors,在弹出的快捷菜单中选择“修改”命令;在表设计器中,选择“索引”选项卡,在“索引名”中输入pk,在“类型”中选择“主索引”,在“表达式”中输入“作者编号”,单击“确定”按钮。
(3)在数据库设计器中右击表b00ks,在弹出的快捷菜单中选择“修改”命令;在表设计器中,选择“索引”选项卡,在“索引名”中分别输入pk和“作者编号”,在“类型”中选择“普通索引”,在“表达式”中分别输入“图书编号”和“作者编号”,单击“确定”按钮。
(4)在数据库设计器中,在表authors中选中主索引pk,按住鼠标并拖动至表books的普通索引“作者编号”上,然后释放鼠标即可。

第3题:

第 ( 30 ) 到第( 35 )题基于图书表、读者表和借阅表三个数据库表,它们的结构如下:

图书 ( 图书编号 , 书名 , 第一作者 , 出版社 ) :图书编号、书名、第一作者和出版社为 C 型字段,图书编号为主关键字;

读者 ( 借书证号 , 单位 , 姓名 , 职称 ) :借书证号、单位 、姓名、职称为 C 型字段,借书证号为主关键字;

借阅 ( 借书证号 , 图书编号 , 借书日期 . 还书日期 ) : 借书证号和图书 编号为 C 型字段 ,借 书日期和还书日期为 D 型字段,还书日期默认值为 NULL ,借书证号和图书编号共同构成主关键字 。

( 30 )查询第一作者为 “ 张三 ” 的所有书名及出版社,正确的 SQL 语句是

A ) SELECT 书名,出版社 FROM 图书 WHERE 第一作者=张三

B ) SELECT 书名,出版社 FROM 图书 WHERE 第一作者二 " 张三 "

C ) SELECT 书名,出版社 FROM 图书 WHERE " 第一作者 " =张三

D ) SELECT 书名,出版社 FROM 图书 WHERE " 第一作者 "=" 张三 "


正确答案:B

第4题:

求至少出版3本以上图书的作者姓名及数量,下列SQL语句正确的是( )。

A.SELECT 姓名,COUNT(*) AS 数量 FROM 图书,作者; HAVING COUNT(*)>=3

B.SELECT 姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 HAVING COUNT(*)>=3

C.SELECT姓名,COUNT(*) AS 数量 FROM 图书,作者; FOR 作者.作者编号=图书.作者编号; WHERE 图书.作者编号 HAVING COUNT(*)>=3

D.SELECT 姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 SET COUNT(*)>=3


正确答案:B
解析:本题中首先通过GROUP BY短语按“作者编号”字段对“图书”表中的记录进行分组,然后利用 COUNT()分组统计每个作者的图书数量,再通过HAVING 子句限定出版数量至少在3本以上的记录。注意: HAVING子句用来进一步限定分组要满足的条件,必须要与GROUP BY短语连用并接在GROUP BY短语之后。

第5题:

查询北京作者出版的图书情况,要求包含作者姓名、书名和价格信息,并按图书价格降序排列,下列SQL语句正确的是

作者 作者编号 作者姓名 所在城市

1001 王力 北京

1002 刘方 北京

1003 张剑 上海

1004 程红 上海

1005 张进 上海

图书 图书编号 书名 出版单位 价格 作者编号

0001 计算机应用 清华出版社 26.50 1001

0002 C++ 电子工业出版社 32.00 1001

0003 计算机基础知识 电子工业出版社 28.00 1002

0004 网络应用 清华出版社 24.50 1003

0005 数据库应用 清华出版社 26.00 1003

0006 数据库组成原理 清华出版社 23.00 1003

0007 Java 电子工业出版社 27.50 1004

0008 网页设计 电子工业出版社 31.00 1004

A.SELECT 作者姓名,书名,价格 FROM 图书,作者 ; JOIN 图书.作者编号=作者.作者编号; WHERE 所在城市="北京"; ORDER BY 价格 DESC

B.SELECT 作者姓名,书名,价格 FROM 图书,作者 ; JOIN 图书.作者编号=作者.作者编号; WHERE 所在城市="北京"; ORDER BY 价格

C.SELECT 作者姓名,书名,价格 FROM 图书,作者 ; WHERE 图书.作者编号 = 作者.作者编号; AND 所在城市="北京"; ORDER BY 价格 DESC

D.SELECT 作者姓名,书名,价格 FROM 图书,作者 ; WHERE 图书.作者编号 = 作者.作者编号; AND 所在城市 ="北京"; ORDER BY 价格


正确答案:C
解析:本题的SQL语句的含义是通过作者表和图书表的内部联接查询符合条件的记录,注意表间关联字段的选择,以及条件连接的逻辑运算符。使用ORDER BY短语可对查询结果排序,GROUP BY短语用来记录分组。选项A)和选项B)都存在查询条件和表联接的语法错误,选项D)中,查询结果没有按"价格"降序排列。

第6题:

设有图书管理数据库,包含三张表:图书明细表(图书编号,图书类别,图书名称,作者,出版社,出版日期,定价);读者表(借书证号,姓名,系别,办证日期);借出信息表(借出编号,借书证号,图书编号,借书日期);完成下列操作:(10分)定义一个多语句表值函数,用于查询学生借书情况,只需提供参数:借书证号,就可以通过调用函数返回此学生的借书情况,若有借书籍,则返回所借书籍的编号、书籍名称、定价和借书日期;若没有在借书籍,则返回记录为空。设函数名为:f_BorrowBook(@jszh char(20))。


正确答案:
【解题思路】SQL Server 2008多语句表值函数的格式为:CREATE FUNCTION[schema_name.]function_name([{@parameter_name[As][type_schema_name.]parameter data_type[=default]}[….n]])RETURNS@return_variable TABLE<table_type_definition>[AS]BEGINfunction_bodyRETURNEND[;]<table_type_definition>::=({<column_definition><column_constraint>I<computed_column_definition>}[table_constraint][,...n])采用三表联合查询,通过传入的借书证号查出借出信息表中的图书编号,然后查出图书明细表的信息。【参考答案】CREATE FUNCTION BorrowBook(@jszh char(20))RETURNS@jsqkb TABLE(书籍编号char(20),书籍名称char(50),定价float,借书日期datetime)ASBEGININSERT@jsqkbSELECT图书明细表.图书编号,图书名称,定价,借出信息表.借书日期FROM借出信息表,图书明细表WHERE借出信息表.图书编号=图书明细表.图书编号AND借出信息表.借书证号=@jszhRETURNEND

第7题:

第 36~43 题时用如下的3个表。

假没图书管理数据库中有3个表,图书.dbf、读者.dbf和借阅.dbf。

图书.dbf的结构如下:

图书(总编号C(6)。分类号C(8).书名C(16),作者C(6),出版单位C(20),单价N(6,2))读者.dbf的结构如下:

读借(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))

借阅.dbf的结构如下:

借阅(借书证号C(4),总编号C(6),借书日期D(8))

第 36 题 在上述图书管理数据库中,图书的主索引是总编号,读者的主索引是借书证号,借阅的主索引应该是( ) 。

【您的答案】

【参考解析】:总编号+借书证号或借书证号+总编号【解析】主索引保证惟一性。


正确答案:
总编号+借书证号或借书证号+总编号【解析】主索引保证惟一性。

第8题:

( 2 )现 有某图书销售数据库,其关系表结构如下:

图书表(图书编号,图书名称,出版社编号,出版社名称,出版时间,出版数量,版次)

图书销售表(图书编号,销售日期,销售数量,书店编号,读者编号,读者姓名,读者电话)

书店表(书店编号,联系电话,所在城市编号,城市名称)

该系统所涉及的数据存在如下约束:

I. 一个出版社可以出版多本图书,一本图书只能在一个出版社出版,在该系统中记录的图书出版信息包括出版时间、版次及出版数量信息;

II. 一个书店可以出售多本图书给多个读者 , 每位读者可以从多个书店购买多本图书 , 一本图书可以通过多个书店出售给读者,书店把图书出售给读者后会在系统中记录售书日期和售书数量信息;

III. 每个书店只能位于一个城市,一个城市可以有多个书店。

① 请根据以上信息画出合理的图书销售数据库的概念模型(用 ER 图表示)。( 8 分)

② 以图书销售表为例说明原数据库设计的不合理之处。( 4 分)

③ 给出该数据库符合 3NF 要求的全部关系模式,并指出关系模式中的全部主码和外码。( 8 分)


正确答案:

1

2

3

第9题:

查询“上海”作者出版的图书情况,要求包含作者姓名、书名和价格信息,并按图书“价格”降序排列,下列SQL语句中正确的是( )。

A.SELECT 姓名,书名,价格 FROM 图书,作者; JOIN 图书.作者编号=作者.作者编号; WHERE所在城市="上海"; ORDER BY 价格 DESC

B.SELECT 姓名,书名,价格 FROM 图书,作者; JOIN 图书.作者编号=作者.作者编号; ON 所在城市="上海"; ORDER BY 价格

C.SELECT 姓名,书名,价格 FROM 图书,作者; WHERE 图书.作者编号=作者.作者编号; AND 所在城市="上海"; ORDER BY 价格 DESC

D.SELECT 姓名,书名,价格 FROM 图书,作者; WHERE 图书.作者编号=作者.作者编号; AND 所在城市="上海"; ORDER BY 价格


正确答案:C
解析:本题是一个多表连接查询的SQL语句,关键要注意表间连接条件的使用。如果使用超连接方式查询,则正确的语句格式为:
SELECT……
FROM数据库表1>INNER JOIN数据库表2>
ON连接条件>
WHERE……
其中,INNER JOIN等价于JOIN,为普通的连接,在Visual FoxPro中称为内部连接;ON连接条件>指定两个进行表连接的条件字段。
如果使用的是普通的连接方式,则只需在FROM短语中指定查询的数据表,各表名之间用逗号隔开,而各表之间的连接放在WHERE短语后面,设计两个连接条件时,用AND短语连接这两个条件。ORDBY BY短语的功能是对查询结果按指定字段进行排序。

第10题:

建立项目文件,名为my。

(2)将数据库“课本”添加到新建立的项目当中。

(3)为数据库中的表“作者”建立主索引,索引名称和索引表达式均为“作者编号”;为“书籍”建立普通索引,索引名和索引表达式均为“作者编号”。

(4)建立表“作者”和表“书籍”之间的关联。


正确答案:(1)启动Visual FoxPro后在命令窗口输入命令:CREATE PROJECT my新建一个项目管理器。 (2)在项目管理器my中首先在“数据”选项卡中选择“数据库”然后单击选项卡右边的“添加”命令按钮在系统弹出的“打开”对话框中将考生文件夹中的数据库“课本”添加到项目管理器中单击“确定”按钮。 (3)在项目管理器中依次展开“数据库”分支选中“作者”表然后单击右边的“修改”命令进入“作者”的数据表设计器界面然后单击“索引”选项卡此选项卡中的“索引名”和“索引表达式”改为“作者编号”在“索引类型”的下拉框中选择“主索引”。用相同的方法为数据表“书籍”建立普 (4)在项目管理器中选中“课本”数据库然后单击右边的“修改”命令在数据库设计器中将“作者”表中“索引”下面的“作者编号”主索引字段拖到“书籍”表中“索引”下面的“作者编号”索引字段上建立了两个表之间的永久性联系。
(1)启动Visual FoxPro后,在命令窗口输入命令:CREATE PROJECT my,新建一个项目管理器。 (2)在项目管理器my中,首先在“数据”选项卡中选择“数据库”,然后单击选项卡右边的“添加”命令按钮,在系统弹出的“打开”对话框中,将考生文件夹中的数据库“课本”添加到项目管理器中,单击“确定”按钮。 (3)在项目管理器中,依次展开“数据库”分支,选中“作者”表,然后单击右边的“修改”命令,进入“作者”的数据表设计器界面,然后单击“索引”选项卡,此选项卡中的“索引名”和“索引表达式”改为“作者编号”,在“索引类型”的下拉框中,选择“主索引”。用相同的方法为数据表“书籍”建立普 (4)在项目管理器中,选中“课本”数据库,然后单击右边的“修改”命令,在数据库设计器中,将“作者”表中“索引”下面的“作者编号”主索引字段拖到“书籍”表中“索引”下面的“作者编号”索引字段上,建立了两个表之间的永久性联系。 解析:本大题主要考查的是通过项目管理器来完成一些数据库及数据库表的操作,项目的建立可以直接在命令窗口输入命令来实现,数据库添加可以通过项目管理器中的命令按钮,打开相应的设计器直接管理,建立索引可以在数据表设计器中完成。对数据表进行连接及设置参照完整性都是在数据库设计器中完成。

更多相关问题