期中考试题答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库系统原理》期中考试试题

一、单项选择题

1.现实世界中,事物的一般特性在信息世界中称为( )

A.实体

B.实体键

C.属性

D.关系键

2.数据的逻辑独立性是指( )

A.逻辑模式改变,外模式和应用程序不变

B.逻辑模式改变,内模式不变

C.内模式改变,逻辑模式不变

D.内模式改变,外模式和应用程序不变

3.在关系数据库管理系统中,创建的视图在数据库三层结构中属于( )

A.外模式

B.存储模式

C.内模式

D.概念模式

4.关系R和S进行自然连接时,要求R和S含有一个或多个公共( )

A.元组

B.行

C.记录

D.属性

5.以下关于索引的正确叙述是( )

A.使用索引可以提高数据查询速度和数据更新速度

B.使用索引可以提高数据查询速度,但会降低数据更新速度

C.使用索引可以提高数据查询速度,对数据更新速度没有影响

D.使用索引对数据查询速度和数据更新速度均没有影响

6.设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数

为( )

A.r+s

B.r-s

C.r×s

D.max(r,s)

二、填空题

1.DBMS通常提供授权功能来控制不同的用户访问数据库中数据的权限,其目的是为了数据库的_安全性。

2.数据库系统各类用户对数据库的各种操作请求(数据定义、查询、更新及各种控制)都是由一个复杂的软件来完成的,这个软件叫做__DBMS_______。

3.在SQL SELECT语句查询中,要去掉查询结果中的重复记录,应该使用_DISTINCT关键字。

4.公司中有若干个部门和若干职员,每个职员只能属于一个部门,一个部门可以有多名职员,职员与部门的联系类型是__1:n_______。

5.使用SQL语言的SELECT语句进行分组查询时,如果希望去掉不满足条件的分组,应当使用__HA VING___子句。

三、简答题

1.简述安全性控制机制,并说明该控制机制针对什么操作而设置?

2.试说明相关子查询的查询执行顺序。

四、综合题

1、某医院病房计算机管理中需要如下信息:

科室:科名,科地址,科电话

病房:病房号,床位号

医生:姓名,职称,年龄,工作证号

病人:病历号,姓名,性别

其中,一个科室有多个病房、多个医生;一个病房只能属于一个科室;一个医生只属于一个科室,但可负责多个病人的诊治;一个病人的主管医生只有一个。每个病人经医生诊治后,都有一个“诊断”信息。画出涉及该计算机管理系统的E-R图。

E-R图略。

在图中共有4个实体:

病房、科室、医生和病人;

存在的联系有:

“组成”,科室与病房之间的联系,是1:n;

“从属”,科室与医生之间的联系,是1:n;

“入住”,病房与病人之间的联系,是1:n;

“诊治”,医生与病人之间的联系,是1:n。

2、设有一个顾客商品关系数据库,有三个基本表,表结构如下:

商品表:Article (商品号,商品名,单价,库存量)

客户表:Customer (顾客号,顾客名,性别,年龄,电话)

订单表:OrderItem (顾客号,商品号,数量,购买价,日期)

(1)请用SQL语言创建一个视图GM_VIEW,检索顾客的顾客号、顾客名和订购商品的商品名、金额和日期。(金额等于数量*购买价)

CREAT VIEW GM_VIEW(顾客号,顾客名,商品名,金额,日期)

AS SELECT OrderItem.顾客号, 顾客名, 商品名, 数量*购买价, 日期FROM Article, Customer, OrderItem

WHERE Article.商品号= OrderItem.商品号AND

Customer.顾客号=OrderItem.顾客号;

(2)请用SQL语言实现查询一次订购的商品数量最多的顾客名。SELECT 顾客名

FROM Customer, OrderItem

WHERE OrderItem.顾客号= Customer.顾客号AND

OrderItem.数量=

(SELECT MAX(数量)

FROM OrderItem);

SELECT 顾客名

FROM Customer, OrderItem

WHERE OrderItem.顾客号= Customer.顾客号AND

OrderItem.数量>= All

(SELECT 数量

FROM OrderItem);

SELECT 顾客名

FROM Customer

WHERE 顾客号IN

(SELECT 顾客号

FROM OrderItem

WHERE 数量= (SELECT MAX(数量)

FROM OrderItem)

);

SELECT 顾客名

FROM Customer, OrderItem

WHERE OrderItem.顾客号= Customer.顾客号AND

OrderItem.数量= MAX(数量);

SELECT 顾客名, MAX(数量)

FROM Customer, OrderItem

WHERE OrderItem.顾客号= Customer.顾客号;

(3)请用SQL语言找出女顾客购买的商品号、商品名和数量合计。SELECT OrderItem.商品号, 商品名, SUM(OrderItem.数量)

FROM OrderItem, Artcle, Customer,

相关文档
最新文档