数据库原理与应用复习题一一、选择题(每题2分,共20分)1.下列哪个不属于DBMS的主要功能:【】A.数据定义功能B.数据操纵功能C.图形界面功能D.数据库维护功能2.下列哪一个不是关系模型具有的性质:【】A.列是同质的B.列序有关C.行序无关D.分量必须取原子值3.外模式/模式映像保证:【】A.数据独立性B.物理独立性C.概念独立性D.逻辑独立性4.属性Cname的开头为DB,且第四个字符为i的条件为:【】ame LIKE ‘DB_i%’ame LIKE ‘DB*i?’ame LIKE ‘DB%i_’ame LIKE ‘DB?i*’5.表达年龄(Sage)非空的WHERE子句为:【】A.Sage <> NULLB.Sage != NULLC.Sage IS NOT NULLD.Sage NOT IS NULL6.全称量词在SQL中表达为:【】A.EXISTSB.ALLC.ANYD.SOME7.关系模式R(ABC)上的函数依赖集F={A→C, A→B, B→A},R最高属于:【】A.1NFB.2NFC.3NFD.BCNF8.在SQL Server中,bigint长度为:【】A.8字节B.4字节C.2字节D.1字节9.在对分E-R图进行集成时,可能产生的冲突不包含:【】A.属性冲突B.命名冲突C.联系冲突D.结构冲突10.索引的选择在数据库设计中属于:【】A.需求分析B.概念结构设计C.逻辑结构设计D.物理设计二、判断题(每题2分,共20分)1.一个数据库只有一个模式。
【】2. SQL的理论基础是关系代数与关系演算。
【】3.存储过程存储在数据库中,执行时需要编译和优化。
【】4.视图与基本表不同,是一个虚表。
【】5.触发器是用户定义在表上的一类由事件驱动的特殊存储过程。
【】6.在更新数据库时,应该先写数据库,再写日志文件。
【】7.在数据库设计中,需求分析产生的是数据流图和数据字典。
【】8.定义学分在0至60之间的语句是CHECK(学分>=0 OR 学分<=60)。
【】9.SQL Server的备份方法有完全数据库备份、数据库和事务日志备份、差异备份、数据库文件或文件组备份。
【】10.SQL Server的数据库对象名分为完全限定名和部分限定名。
【】三、填空题(每空2分,共30分)1.数据模型的三要素包含数据结构、数据操纵、。
2.E-R图中联系的种类有、一对多、多对多。
3.在数据库的体系结构中,描述局部数据的逻辑结构和特征的是。
4.关系的完整性分为:实体完整性、、用户定义完整性。
5.关系代数支持的传统集合运算有并、交、差、。
6.把对表SC的查询权限授予给所有用户的SQL语句是GRANT SELECT ON TABLE SCTO 。
7.把用户U5对SC表的所有权限回收的SQL语句是REVOKE ON TABLE SC FROM U5。
8.事务正常结束时,提交所有的更新操作执行的SQL语句是。
9.事务的特性有、、隔离性、持续性。
10.DBMS发生的常见故障有故障、系统故障和介质故障。
11.将用户david添加为固定数据库角色db_owner的成员的SQL Server命令是EXEC'db owner', 'david'。
12.数据库恢复需要建立冗余数据,包括数据转储、。
13.在SQL Server中,不允许用户david使用CREATE TABLE的SQL语句是CREATE TABLE TO david。
14.SQL Server中可以对表记录进行物理排序的是索引。
四、关系数据库语言SQL(每题4分,共20分)设某电子商务数据库e-business有如下关系模式:供应商表SUPPLIERS ( sid, sname, city, tel )商品表PRODUCTS ( pid, pname, price, sid )客户表CUSTOMERS ( cid, cname, addr, discnt )订单表ORDERS ( ordno, ordate, cid, pid, qty, dollars ),其中dollars为该客户享受折扣后的所付金额。
完成下列要求:(1)用SQL语句创建订单表,并指定该关系的主码和外码,要求购买数量qty大于零;(2)设有新的客户Yang,编号c007,地址为西安市太白南路2号,享受折扣为0.95。
请写出SQL语句,将该客户信息插入到数据库中;(3)用SQL语句实现“查询编号为p008的商品名称及其价格”;(4)用SQL语句实现“查询没有购买商品名为‘iPhone4’的客户姓名”;(5)用SQL语句实现“查询所有客户姓名及其消费的总金额”,并按消费总金额降序输出。
五、数据库设计(10分)某专业培训公司欲建立数据库系统,其企业需求信息描述如下:1)公司有30多名培训讲师,需要记录讲师编号、姓名、职称和电话,一名讲师可以有多部电话;2)公司提供5门专业培训课程,每门课由一个培训团队负责,每个团队由1至2名讲师组成,每名讲师至多可以属于2个培训团队;3)公司每期培训会有近100名学员参加,每个学员具有编号、姓名、性别和生日等属性;4)公司每期会提供若干门专业培训课程,每个学员每期只能参加一门培训课程。
根据上述信息,完成如下设计:(1)画出该系统的E-R图;(2)根据E-R图转换出相应的关系模式,指出各关系模式的主码。
数据库原理与应用一一、选择题(每题2分,共20分)1.C2.B3.D4.A5.C6.A7.D8.A9.C10.D二、判断题(每题2分,共20分)1.V2. V3.X4.V5.V6.X7.V8.X9.V10.V三、填空题(每空2分,共30分)1.数据完整性约束2.一对一3.外模式4.参照完整性5.广义笛卡尔积6.PUBLIC7.ALL PRIVILEGESMIT9.原子性、一致性10.事务11.sp_addrolemember12.登录日志文件13.DENY14.聚集四、关系数据库语言SQL(每题4分,共20分)设某电子商务数据库e-business有如下关系模式:供应商表SUPPLIERS ( sid, sname, city, tel )商品表PRODUCTS ( pid, pname, price, sid )客户表CUSTOMERS ( cid, cname, addr, discnt )订单表ORDERS ( ordno, ordate, cid, pid, qty, dollars ),其中dollars为该客户享受折扣后的所付金额。
完成下列要求:(1)用SQL语句创建订单表,并指定该关系的主码和外码,要求购买数量qty大于零;答案:CREATE TABLE ORDERS(ordno char(4) Primary key,ordate date,cid char(10),pid char(8),qty int CHECK(qty > 0),Dollars float,FOREIGN KEY cid REFERENCES CUSTOMERS(cid),FOREIGN KEY pid REFERENCES PRODUCTS(pid) ) ;解释:在创建表CREATE TABLE语句中使用CHECK约束限制qty大于零,使用PRIMARY KEY 创建主码,使用FOREIGN KEY创建两个外码。
(2)设有新的客户Yang,编号c007,地址为西安市太白南路2号,享受折扣为0.95。
请写出SQL语句,将该客户信息插入到数据库中;答案:INSERT INTO CUSTOMERSVALUES ('c007', 'YANG', '西安市太白南路2号', 0.95) ;解释:使用INSERT语句向表中插入元组。
(3)用SQL语句实现“查询编号为p008的商品名称及其价格”;答案:SELECT pname, priceFROM PRODUCTSWHERE pid='p008';解释:使用SELECT语句查询符合条件的元组,条件编号为p008使用WHERE子句表达。
(4)用SQL语句实现“查询没有购买商品名为‘iPhone4’的客户姓名”;答案:SELECT cnameFROM CUSTOMERS EXCEPTSELECT cname FROM CUSTOMERS C, ORDERS WHERE O.cid = C.cid AND P.pid = O.pid AND pname = 'iPhone4' ));解释:首先使用SELECT 语句查询所有客户姓名,然后使用EXCEPT 删除购买了iPhone4的客户姓名,后者查询需要连接CUSTOMERS ,ORDERS ,PRODUCTS 三个表。
(5)用SQL 语句实现“查询所有客户姓名及其消费的总金额”,并按消费总金额降序输出。
答案:SELECT cname, SUM( dollars ) FROM ORDERS O, CUSTOMERS C WHERE O.cid = C.cid GROUP BY C.cid, cnameORDER BY SUM( dollars ) DESC ;解释:先将ORDERS 与CUSTOMERS 表连接,然后根据客户编号与客户姓名分组,最后输出客户姓名与消费总金额,同时按照消费总金额降序排列。
注意客户姓名需要加入分组中,否则SELECT 不能输出客户姓名。
五、数据库设计(10分)某专业培训公司欲建立数据库系统,其企业需求信息描述如下:1) 公司有30多名培训讲师,需要记录讲师编号、姓名、职称和电话,一名讲师可以有多部电话;2) 公司提供5门专业培训课程,每门课由一个培训团队负责,每个团队由1至2名讲师组成,每名讲师至多可以属于2个培训团队;3) 公司每期培训会有近100名学员参加,每个学员具有编号、姓名、性别和生日等属性;4) 公司每期会提供若干门专业培训课程,每个学员每期只能参加一门培训课程。
根据上述信息,完成如下设计: (1)画出该系统的E-R 图; 答案:解释:E-R 图中包含团队实体,具有名称、课程等属性,讲师实体包含编号、姓名、职称、电话等属性,其中电话属性有多个值,团队与讲师之间是多对多的联系,学员实体包含编号、姓名、性别、生日等属性,团队与学员之间是一对多的联系,该联系具有学期属性。
(2)根据E-R 图转换出相应的关系模式,指出各关系模式的主码。
答案:讲师(编号, 姓名, 职称)讲师电话 (编号, 电话)团队(名称, 课程)成员(团队名称, 讲师编号)学员(编号, 姓名, 性别, 出生日期)培训(团队名称, 学员编号, 学期)解释:讲师、团队、学员三个实体分别转换为三个关系,讲师电话单独转换为一个关系,团队与讲师之间的成员联系转换为一个关系,团队与学员之间的培训联系转换为一个关系。