2022年期中考试题答案 .docx
精选学习资料 - - - - - - - - - 数据库系统原理期中考试试卷一、 单项挑选题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.maxr ,s 二、 填空题1.DBMS 通常供应授权功能来掌握不同的用户拜访数据库中数据的权限,其目的是为了数据库的 _安全性 ;2.数据库系统各类用户对数据库的各种操作恳求 数据定义、查询、更新及 各种掌握 都是由一个复杂的软件来完成的,这个软件叫做 _DBMS _;3.在 SQL SELECT 语句查询中,要去掉查询结果中的重复记录,应当使 用_DISTINCT 关键字;4.公司中有如干个部门和如干职员,每个职员只能属于一个部门,一个部 门可以有多名职员,职员与部门的联系类型是 _1:n_;5.使用 SQL 语言的 SELECT 语句进行分组查询时,假如期望去掉不满意 条件的分组,应当使用 _HAVING_ 子句;三、简答题1. 简述安全性掌握机制,并说明该掌握机制针对什么操作而设置?2. 试说明相关子查询的查询执行次序;1 / 5 名师归纳总结 - - - - - - -第 1 页,共 5 页精选学习资料 - - - - - - - - - 四、综合题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顾客号,顾客名,商品名,金额,日期ASSELECT OrderItem. 顾客号 , 顾客名 , 商品名 , 数量* 购买价 , 日期FROM Article, Customer, OrderItem WHERE Article. 商品号 = OrderItem. 商品号 AND 2 / 5 名师归纳总结 - - - - - - -第 2 页,共 5 页精选学习资料 - - - - - - - - - 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. 商品号 , 商品名 , SUMOrderItem. 数量 3 / 5 名师归纳总结 - - - - - - -第 3 页,共 5 页精选学习资料 - - - - - - - - - FROM OrderItem, Artcle, Customer, WHERE Article. 商品号 = OrderItem. 商品号 AND Customer.顾客号 =OrderItem. 顾客号 AND Customer.性别 =“ 女”GROUP BY OrderItem. 商品号,商品名;(4)请用 SQL 语言查询全部顾客都订购的商品的商品号和商品名;SELECT 商品号,商品名 FROM Article WHERE NOT EXIST SELECT * FROM Customer WHERE NOT EXISTS SELECT * FROM OrderItem WHERE 顾客号 =Customer.顾客号 AND 商品号 =Article.商品号 ;SELECT Article. 商品号,商品名 FROM Article, OrderItem WHERE Article. 商品号 =OrderItem. 商品号 GROUP BY 商品号 HAVING COUNTdistinct 顾客号 = SELECT COUNT 顾客号 FROM Customer ;(5)请用 SQL 语言检索订购4 种商品以上的每个顾客的顾客号,顾客名和订购的商品的金额合计,并按金额合计进行降序排序;金额等于数量 * 购买价 SELECT 顾客号,顾客名 FROM Customer WHERE 顾客号 IN SELECT * FROM orderitem GROUP BY 数量 HAVING count*>4 ORDER BY sum数量 *购买价 DESC WHERE orderitem. 顾客号 =customer.顾客号4 / 5 名师归纳总结 - - - - - - -第 4 页,共 5 页精选学习资料 - - - - - - - - - SELECT 顾客号,顾客名,金额 FROM Customer, orderitem ORDER BY 金额 DESC WHERE 数量>4 AND 金额=数量*购买价 AND orderitem.顾客号 =customer.顾客号SELECT Customer.顾客号 , 顾客名 , SUM 数量* 购买价 FROM Customer, OrderItem WHERE Customer. 顾客号 =OrderItem. 顾客号 GROUP BY Customer.顾客号,顾客名 HAVING COUNTDISTINST 商品号 >=4 ORDER BY 3 DESC 5 / 5 名师归纳总结 - - - - - - -第 5 页,共 5 页