兰州商学院陇桥学院2008—2009学年第二学期期末考试
《数据库系统概论》试卷A
适用班级:信管管理与信息系统07级本科 一、单项选择题(每小题1分,共计15分)
1、数据库系统是采用了数据库技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和( ) 。
A、系统分析员 B、程序员 C、数据库管理员 D、操作员 2、下列四项中,不属于数据库系统特点的是( ) 。
A、数据共享 B、数据完整性 C、数据冗余度高 D、数据独立性高 3、数据库系统的数据独立性体现在( ) 。
A、不会因为数据的变化而影响到应用程序
B、不会因为数据存储结构与数据逻辑结构的变化而影响应用程序 C、不会因为存储策略的变化而影响存储结构
D、不会因为某些存储结构的变化而影响其他的存储结构 4、一个关系只有一个( ) 。
A、 候选码 B、外码 C、超码 D、主码 5、关系数据库管理系统应能实现的专门关系运算包括( )。
A、排序、索引、统计 B、选择、投影、连接 C、关联、更新、排序 D、显示、打印、制表 6、关系代数中的连接操作是由( )操作组合而成 。
A、选择和投影 B、选择和笛卡尔积 C、投影、选择、笛卡尔积 D、投影和笛卡尔积 7、在视图上不能完成的操作是( ) 。
A、更新视图 B、查询 C、在视图上定义新的表 D、在视图上定义新的视图
8、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现
哪种功能( )。
A、数据查询 B、数据操纵 C、数据定义 D、数据控制 9、有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄, C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是 SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是( )。 A、S.S# = SC.S# and C.C# = SC.C# and SAGE>=20 and CNAME=‘ACCESS’
B、S.S# = SC.S# and C.C# = SC.C# and SAGE in>=20 and CNAME in ‘ACCESS’ C、SAGE in>=20 and CNAME in ‘ACCESS’ D、SAGE>=20 and CNAME=’ ACCESS’
10、规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每 一个属性都是( )。
A、长度不变的 B、不可分解的 C、互相关联的 D、互不相关的
11、已知关系模式R(A,B,C,D,E)及其上的函数依赖集合F={A→D,B→C ,E→A },该关系模式 的候选码是( )。
A、AB B、BE C、CD D、DE 12、如何构造出一个合适的数据逻辑结构是( )主要解决的问题 。
A、物理结构设计 B、数据字典 C、逻辑结构设计 D、关系数据库查询
13、概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体
DBMS的( )。
A、 数据模型 B、概念模型 C、层次模型 D、关系模型
14、一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作
序列的属性是( ) 。
A、原子性 B、一致性 C、独立性 D、持久性 15、解决并发操作带来的数据不一致问题普遍采用( )技术。
第 1 页 共 45 页
A、封锁 B、存取控制 C、恢复 D、协商 二、填空题(每小题1分,共计15分)
1、关系数据模型中,二维表的列称为________,二维表的行称为________。
2、在SQL语言的结构中,________有对应的物理存储,而________没有对应的物理存储。 3、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于__________ 。 4、在关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},则候选码可以是___________,关系模式R(A,B,C,D)属于____________ 。
5、根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次。第一类是________,第二类是________。
6、________ 是一系列的数据库操作,是数据库应用程序的基本逻辑单元。 7、基本的封锁类型有两种:________ 和________ 。
8、数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、_______或______。
9、数据库完整性的定义一般由SQL的DDL语句来实现。它们作为数据库模式的一部分存入________ 中。 三、简答题(每小题4分,共计20分)
1、在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?
2、哪类视图是可以更新的,哪类视图是不可更新的? 各举一例说明。
3、试述事务的概念及事务的四个特性。
4、在数据库中为什么要并发控制?
5、试述DBMS的基本功能?
四、应用题(每小题10分,共计20分)
第 2 页 共 45 页
1、设工厂里有一个记录职工每天日产量的关系模式:
R(职工编号,日期,日产量,车间编号,车间主任)。 如果规定:每个职工每天只有一个日产量;
每个职工只能隶属于一个车间; 每个车间只有一个车间主任。
试回答下列问题:
⑴ 根据上述规定,写出模式R的基本FD和关键码; ⑵ 说明R不是2NF的理由,并把R分解成2NF模式集; ⑶ 进而再分解成3NF模式集,并说明理由。
2、某学员为公安局的车辆信息管理系统设计了数据库的ER图,对车辆、车主、驾驶员、制造商、保险公司、警
察、车辆违章和车辆事故等信息进行了管理,其ER图如下所示。 交通管理大队 1 制造商 管理 1 N 制造 N 警察 被盗 违章 M N N M N 车主 车辆 M 1 N N P 拥有 事故 P 驾驶员 保险1 N 保险2 1 1 保险公司 第 3 页 共 45 页 ① ②
该ER图有7个实体类型,其结构如下: 制造商(制造商编号,名称,地址)
交通管理大队(大队编号,地址,区域,电话) 警察(警号,姓名,性别,出生年月) 车主(身份证号,姓名,地址,电话)
车辆(车辆牌号,型号,发动机号,座位数,登记日期)
驾驶员(驾驶证号,姓名,性别,地址,准驾车型,发证日期) 保险公司(保险公司编号,名称,地址,电话)
该ER图有8个联系类型,其中5个是1:N联系,1个是M:N联系,2个是M:N:P联系。其联系的属性如下: 违章(违章编号,时间,地点,违章行为,处理结果) 事故(事故编号,时间,地点,事故简要,处理结果)
被盗(被盗编号,被盗时间,被盗地点,找回时间,找回地点) 试将上述ER图转换成关系模型:
写出关系模式集,并用下划线和波浪线标识出每个模式的主键和外键。 在上述数据库中,写出主键和外键的总数这两个数字。
五、写出关系代数表达式(每小题2分,共计10分) 第五题、第六题使用如下的四个关系:
第 4 页 共 45 页
1、检索仓库WH2所在的城市。
2、检索和职工E1有联系的供应商的名称。
3、检索和上海的所有供应商都有业务联系的职工所在的仓库。
4、检索与职工E9有业务联系的供应商的地址。
5、检索在深圳工作的职工的工资。
六、写出SQL语句(每小题2分,共计20分)
1、在供应商表中插入一个元组(S6,黎明,广州)。
2、将仓库WH1的面积改为2000。
3、给工资低于800的职工提高8%的工资。
4、检索出在仓库WH1工作的职工平均工资。
5、检索出和职工E3、E6都有联系的上海的供应商信息。
6、检索出目前没有任何订购单的职工信息。
7、检索出工资低于本仓库平均工资的职工信息。
8、检索出目前与供应商S6有联系的职工信息。
第 5 页 共 45 页
9、检索出每个仓库的职工人数和平均工资。
10、按城市检索出仓库的总面积。
兰州商学院陇桥学院2008—2009学年第二学期期末考试
《数据库系统概论》试卷B
适用班级:信管管理与信息系统07级本科 一、单项选择题(每小题1分,共计20分) 1、数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( )。
A、DBS包括DB和DBMS B、DBMS包括DB和DBS
C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS 2、要保证数据库的逻辑数据独立性,需要修改的是( ) 。
A、模式与外模式之间的映射 B、模式与内模式之间的映射 C、模式 D、三级模式 3、关系模型中,一个码是( )。
A、可以由多个任意属性组成 B、至多由一个属性组成 C、由一个或多个属性组成,其值能够惟一标识关系中一个元组 D、 以上都不是
4、现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)医疗(患者编号,医生编号,医
生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是( )。
A、患者编号 B、患者姓名 C、患者编号和患者姓名 D、医生编号和患者编号 5、在SQL语言中的视图VIEW是数据库的( ) 。
A、外模式 B、模式 C、内模式 D、存储模式 6、设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;
grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用( )。 A、ADD INTO S VALUES(’张二’,’化学’,’80’) B、INSERT INTO S VALUES(’张二’,’化学’,’80’) C、ADD INTO S VALUES(’张二’,’化学’,80) D、INSERT INTO S VALUES(’张二’,’化学’,80)
7、关系模式R中的属性全是主属性,则R的最高范式必定是( )。
A、1NF B、2NF C、3NF D、BCNF 8、消除了部分函数依赖的1NF的关系模式,必定是( )。
A、1NF B、2NF C、3NF D、BCNF
9、在关系数据库设计中,设计关系模式是数据库设计中( )阶段的任务。
A、逻辑设计阶段 B、概念设计阶段 C、物理设计阶段 D、需求分析阶段
10、在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如达到3NF,这是( )阶段的
任务。
A、需求分析阶段 B、概念设计阶段 C、物理设计阶段 D、逻辑设计阶段 11、事务的持久性是指( )
A、事务中包括的所有操作要么都做,要么都不做 B、事务一旦提交,对数据库的改变是永久的
C、一个事务内部的操作对并发的其他事务是隔离的
第 6 页 共 45 页
D、事务必须使数据库从一个一致性状态变到另一个一致性状态 12、SQL语言中的COMMIT语句的主要作用是( )。
A、结束程序 B、返回系统 C、提交事务 D、存储数据 13、下列不属于并发操作带来的问题是( )。
A、丢失修改 B、不可重复读 C、死锁 D、脏读 14、DBMS普遍采用( )方法来保证调度的正确性 。
A、索引 B、授权 C、封锁 D、日志 15、SQL语言的GRANT和REVOKE语句主要是用来维护数据库的( )。
A、完整性 B、可靠性 C、安全性 D、一致性 二、填空题(每小题1分,共计20分)
1、用户选作元组标识的一个候选码为________,其属性不能取________。
2、SQL语言除了具有数据查询和数据操纵功能之外,还具有________和________的功能,它是一个综合性的功
能强大的语言。
3、若关系为1NF,且它的每一非主属性都__________ 候选码,则该关系为2NF。 4、在关系模式R(D,E,G)中,存在函数依赖关系{E→D,(D,G)→E},则可以候选码是__________,关系模式R(D,E,G)属于____________。
5、 ER模型是对现实世界的一种抽象,它的主要成分是________ 、联系和 ________。
6、把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态)的功能,这就是________ 。 7、在数据库并发控制中,两个或多个事务同时处在相互等待状态,称为________ 。
8、多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调
度策略为________的调度。
9、用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方
法有通过输入________和 ________来鉴别用户。 10、数据库的完整性是指数据的________ 和相容性。 三、简答题(每小题4分,共计20分)
1、简述关系模型中的实体完整性、参照完整性。
2、试述SQL的数据定义功能及语句。
3、试述数据库设计的主要过程。
4、简述数据库恢复的基本技术。
第 7 页 共 45 页
5、为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。
四、应用题(每小题10分,共计20分)
1.设关系模式R(车间编号,零件编号,数量,仓库编号,仓库地址)。 如果规定:每个车间每需要一种零件只有一个数量; 每种零件只存放在一个仓库里; 每个仓库只有一个地址。
(1)试根据上述规定,写出模式R的基本FD和关键码。 (2)说明R不是2NF的理由,并把R分解成2NF模式集。 (3)再进而分解成3NF模式集,并说明理由。
2、某学员为高校社团信息管理系统设计了数据库的ER图,对学生、社团、社团成员、社团活动、主管老师、对活动和成员的评价等信息进行了管理,其ER图如下所示。 1 主管老师 评价 1 N 活动评价 主管 1 N 社团 有 开展 N 1 1 M 属于 社团活动 M N 具有 N 1 能力状况 N 参加 社团成员 1 1 N N 评语 产生 获得 成为 N 1 奖励信息 学生 第 8 页 共 45 页 ③ ④
该ER图有9个实体类型,其结构如下:
学生(学号,姓名,性别,出生年月,政治面貌)
社团(社团编号,类别,名称,成员数,组织描述,活动概览) 社团成员(成员编号,在社职务,证件编号,发放日期)
主管老师(教师工号,姓名,性别,政治面貌,职称,电话)
社团活动(社团活动编号,活动日期,主题,参加成员数,活动级别,活动内容) 活动评价(社团活动编号,评价日期,评分,说明) 奖励信息(奖励序号,奖励日期,奖项,奖励描述)
能力状况(序号,日期,健康状况,体育特长,文学特长,艺术特长) 评语(序号,日期,等级,描述,评语教师)
该ER图有10个联系类型,其中1个是1:1联系,7个是1:N联系,2个是M:N联系。其联系的属性如下: 参加(参加情况评级) 开展(开展日期)
试将上述ER图转换成关系模型:
写出关系模式集,并用下划线和波浪线标识出每个模式的主键和外键。 在上述数据库中,写出主键和外键的总数这两个数字。
五、写出关系代数表达式(每小题2分,共计10分) 第五题、第六题使用如下的四个关系:
第 9 页 共 45 页
1、检索上海的供应商的名称。
2、检索有职工E1和E2工作的仓库所在的城市。
3、检索和上海的所有供应商都有业务联系的职工的工资。
4、检索目前与职工E6有业务联系的供应商的名称。
5、检索在上海的仓库的面积。
六、写出SQL语句(每小题2分,共计20分)
1、检索出向地址为ABC的供应商发出订购单的职工号。
2、检索出向S8供应商发出了订购单的职工信息。
3、检索出大于平均面积的仓库信息。
4、检索出由工资多于1800元的职工向上海的供应商发出的订购单号。
5、检索出职工E8发给供应商S9的订购单信息。
6、删除向供应商李铭发出的所有订购单。
7、给工资低于800的职工提高10%的工资。
8、检索出每个城市的供应商个数。
第 10 页 共 45 页
9、检索出向供应商S3发过订购单的职工的职工号和仓库号。
10、检索出在仓库WH2工作的职工的最高工资。
兰州商学院陇桥学院2008—2009学年第二学期期末考试
《数据库系统概论》试卷C
适用班级:信管管理与信息系统07级本科 一、单项选择题(每小题1分,共计15分)
1、在SQL中,与“NOT IN”等价的操作符是( ) A)=SOME B)<>SOME C)=ALL D)<>ALL
2、设关系R与关系S具有相同的目(或称度),且相对应的属性的值取自同一个域,则R-(R-S)等于(A)RUS B)R∩S C)R×S D)R-S 3、如下关于索引描述正确的是( ) A) 建立索引将改变记录的物理顺序
B) 建立索引只会提高查询速度、不会提高更新速度 C) 建立索引可以提高查询和更新速度
D) 索引只是一种数据结构,对查询速度和更新速度都没有影响 4、SQL中,谓词EXISTS可用来测试一个集合是否( )
A)有重复元组 B)有重复的列名 C)为非空集合 D)有空值 5、采用二维表格结构表达实体类型及实体间联系的数据模型是( ) A)层次模型 B)网状模型 C)关系模型 D)实体联系模型 6、在数据库中,概念模式和存储模式之间的映像提供了( ) A) 概念数据独立性 B) 存储数据独立性 C) 分布数据独立性 D) 并发数据独立性 7、表在关系数据库中对应于三级模式的( ) A) 存储模式 B) 概念模式 C) 物理模式 D) 外部模式
8、如下关于存储过程叙述正确的是( )
A) 存储过程即传统意义程序中的过程,可以嵌入在程序中使用 B) 存储过程是一种存储在数据库中的程序,用于对数据库进行操作 C) 存储过程是一种存储在数据库之外的程序,用于对数据库进行操作 D) 存储过程描述数据存储到数据库的过程 9、两个实体之间多对多的联系( )
A) 不能够转换成一对多的联系 B) 不一定能够转换成一对多的联系 C) 一定能够转换成一对多的联系 D) 以上说法都不对
10、当关系有多个候选码时,则选定一个作为主码,但若主码为全码时应包含( ) A)单个属性 B)两个属性 C)多个属性 D)全部属性 11、在关系中,“元数”是指( )
A)行数 B)元组个数 C)关系个数 D)列数
12、“一个事务中的诸操作要么全做,要么都不做”,这是事务的什么特性( ) A) 原子性 B) 一致性 C) 隔离性 D) 持久性 13、在SQL中,聚合函数COUNT(列名)用于( ) A)计算元组个数
B)计算属性的个数
第 11 页 共 45 页
)。 C)对一列中的非空值计算个数
D)对一列中的非空值和空值计算个数 下面的14、15小题使用如下表的数据: 仓库
仓库号 城市 面积 WH1 北京 370 WH2 上海 500 WH3 广州 200 WH4 武汉 400 职工
仓库号 职工号 工资 WH2 E1 1220 WH1 E3 1210 WH2 E4 1250 WH3 E6 1230 WH1 E7 1250
14、SQL语句 SELECT * FROM 职工 ORDER BY 工资 DESC 查询结果的第一条记录的工资字段值是( ) A) 1210 B) 1220 C) 1230 D) 1250 15、SQL语句:
SELECT SUM(工资) FROM 职工 的执行结果是( )
A) 工资的最大值 B) 工资的最小值 C) 工资的平均值 D) 工资的合计 二、填空题(每空1分,共计15分)
1、SQL中,利用__________语句将对某类数据的操作权限赋于用户,利用__________语句收回用户对某类数据的操作权限。
2、数据库的体系结构为三级结构,它们是_____________________、____________________和____________________。
3、在关系模式R(D,E,G)中,存在函数依赖关系{E→D,(D,G)→E},则候选关键字是_________,关系模式R(D,E,G)属于_________。 4、在关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},则候选关键字是_________,关系模式R(A,B,C,D)属于_________。
5、数据库的核心任务是数据管理,数据管理经历了人工管理阶段、________________和______________三个阶段。 6、关系模式规范化需要考虑数据间的依赖关系,人们已经提出了多种类型的数据依赖,其中最重要的是_________和_________。
7、如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选关键字,则称R为_________关系模式。 8、SQL语言主要包括数据查询语言、数据定义语言、_________________和数据控制语言。 三、名词解释题(每小题2分,共计10分) 1、候选键:
2、函数依赖:
3、数据库管理系统:
第 12 页 共 45 页
4、事务:
5、死锁:
四、简答题(每小题3分,共计15分) 1、简要概述数据库管理员的职责。
2、试述触发器的概念和作用。
3、解释事务的ACID性质。
4、并发控制都会产生哪些干扰问题?并举例说明。
5、试叙述在备份与恢复技术中数据库日志的作用。
第 13 页 共 45 页
五、写出关系代数表达式(每小题2分,共计10分) 第五题、第六题使用如下的四个关系:
1、检索在仓库WH2工作的职工的工资。
2、检索至少和职工E1、E4、E7都有联系的供应商的名称。
3、检索和北京的所有供应商都有业务联系的职工的工资。
4、检索目前与职工E6有业务联系的供应商的名称。
5、检索在上海工作的职工的工资。
六、写出SQL语句(每小题2分,共计20分) 1、删除目前没有任何订购单的供应商。
2
2、北京的所有仓库增加100m的面积。
3、给低于所有职工平均工资的职工提高5%的工资。
4、检索出目前和华通电子公司有业务联系的每个职工的工资。
5、检索出和职工E1、E3都有联系的北京的供应商信息。
6、检索出目前没有任何订购单的供应商信息。
第 14 页 共 45 页
7、检索出工资低于本仓库平均工资的职工信息。
8、检索出目前与S3供应商没有联系的职工信息。
9、检索出每个仓库中工资多于1220元的职工个数。
10、检索出与工资在1220元以下的职工没有联系的供应商的名称。
七、计算题(第1题9分,第2题6分,共计15分)
1、设关系模式R(A,B,C,D,E,F),函数依赖集F={A→C,C→A,B→AC,D→AC,BD→A}. 1)求出R的侯选码。
2)求出F的最小函数依赖集。
3)将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。
第 15 页 共 45 页
2、设关系模式R(ABCDEG),R上成立的FD集 F={D→G,C→A,CD→E,A→B} 1)求R的所有候选键
2)用ρ3={DG,AC,CDE,AB}替换R,这个分解是无损联接分解吗?
兰州商学院陇桥学院2008—2009学年第二学期期末考试
《数据库系统概论》试卷D
适用班级:信管管理与信息系统07级本科 一、单项选择题(每小题1分,共计15分)
1、在SQL SELECT语句中,实现投影操作的子句是( ) A) WHERE B) FROM C) SELECT D) ORDER BY 2、SQL中备份事务日志文件的命令是( )。
A)BACKUP DATABASE B)BACKUP LOG C)RESTORE DATABASE D)RESTORE LOG 下面的3、4小题基于关系模式R(U, F),其中 U={课程,教师,上课时间,教室,学生} F={课程→教师,
(上课时间,教室)→课程, (上课时间,教师)→课程, (上课时间,学生)→教室}
3、关系模式R的主关键字是( )
A) 课程 B) (上课时间,教室) C) (上课时间,教师) D) (上课时间,学生)
4、将关系模式R分解为R1(上课时间,教室,学生)和其他若干模式,则R1是几范式关系(A) 1NF B) 2NF C) 3NF D) BCNF 下面的5、6、7小题使用如下表的数据: 仓库
仓库号 城市 面积
第 16 页 共 45 页
) WH1 北京 370 WH2 上海 500 WH3 广州 200 WH4 武汉 400 职工
仓库号 职工号 工资 WH2 E1 1220 WH1 E3 1210 WH2 E4 1250 WH3 E6 1230 WH1 E7 1250
5、SQL语句 SELECT * FROM 职工 ORDER BY 工资 DESC 查询结果的第一条记录的工资字段值是( ) A) 1210 B) 1220 C) 1230 D) 1250 6、SQL语句:
SELECT 仓库.仓库号,城市,职工号,工资 FROM 仓库,职工
WHERE 仓库.仓库号 = 职工.仓库号 ORDER BY 仓库.仓库号,工资 DESC
查询结果的第1条记录的职工号是( ) A) E3 B) E4 C) E6 D) E7 7、SQL语句:
SELECT 仓库号,MAX(工资) FROM 职工 GROUP BY 仓库号 查询结果有几条记录( )
A) 0 B) 1 C) 3 D) 5
8、下面关于函数依赖的叙述中,不正确的是( )。
A)若X→Y,Y→Z,则X→YZ B)若XY→Z,则X→Z, Y→Z C)若X→Y,Y→Z,则X→Z D)若X→Y,Y’包含Y,则X→Y’ 9、数据库中的日志文件用于记录( )
A) 对数据的所有查询操作 B) 对数据的所有更新操作 C) 程序运行的所有结果 D) 用户的所有登录信息 10、SQL中创建存储过程应使用( )语句。 A)CREATE PROCEDURE B)CREATE TABLE C)CREATE VIEW D)CREATE DATABASE 11、SQL Server属于( )
A)网状数据库 B)层次数据库 C)桌面数据库 D)关系型数据库
12、SQL提供了4种事务隔离级别,其中隔离级别最低的是( )。 A)READ UNCOMMITTED B)READ COMMITTED C)REPEATABLE READ D)SERIALIZABLE 13、下面有关HAVING子句描述正确的是( ) A) HAVING子句必须与GROUP BY子句一起使用 B) HAVING子句不可以与GROUP BY子句一起使用 C) HAVING子句不可以与WHERE子句一起使用 D) HAVING子句必须与WHERE子句一起使用
第 17 页 共 45 页
14、解决并发操作带来的数据不一致问题通常采用的技术是( ) A) 封锁 B) 恢复 C) 存取控制 D) 协商
15、关系的主属性不可以为空值(NULL),这属于( ) A) 实体完整性规则 B) 参照完整性规则 C) 域完整性规则 D) 用户完整性规则 二、填空题(每空1分,共计15分)
以下两题使用图书、读者和借阅三个表,它们的结构分别如下: 图书(总编号,分类号,书名,作者,出版单位,单价) 读者(借书证号,单位,姓名,性别,职称,地址) 借阅(借书证号,总编号,借书日期) 1、有如下SQL语句:
SELECT 读者.姓名,读者.职称,图书.书名,借阅.借书日期 FROM 读者,借阅,图书
WHERE 借阅.借书证号=读者.借书证号 AND 图书.总编号=借阅.总编号 其中WHERE子句中的两个条件对应的关系操作是_________。 2、如果要查询“郝方”借阅了几册书可以使用如下SQL语句 SELECT COUNT(*) FROM 读者,借阅
WHERE 姓名=\郝方\__________ 借阅.借书证号=读者.借书证号
3、数据库的数据模型有层次模型、_____________、______________和面向对象等模型。
4、数据库的核心任务是数据管理,数据管理经历了人工管理阶段、________________和______________三个阶段。
5、在SQL语句中,WHERE子句的条件表达式中,字符串匹配的操作符是LIKE;与0个或者多个字符匹配的通配符是_________;与单个字符匹配的通配符是___________。
6、两个关系的交运算(R∩S)可以用集合的差运算表示为_________________。
7、在关系模式R(A,C,D)中,存在函数依赖关系{A→C,A→D},则候选关键字是_________,关系模式R(A,C,D)最高可以达到_________。
8、用SELECT语句进行查询时,如果希望查询的结果中不出现重复元组,应在SELECT子句中使用______________________________保留字。
9、实体间的联系有三种,分别是:______________、_____________、___________。 三、名词解释题(每小题2分,共计10分) 1、参照完整性:
2、3NF:
3、共享锁
4、完全函数依赖:
5、事务:
四、简答题(每小题3分,共计15分)
1、试述外部关键字的概念和作用,外部关键字是否允许为空值,为什么?
第 18 页 共 45 页
2、试述GRANT语句中WITH GRANT OPTION子句的作用。
3、试讨论备份系统数据库的重要性。
4、文件系统用于数据管理存在哪些明显的缺陷?
5、简要概述数据库、数据库管理系统和数据库系统各自的含义。
五、写出关系代数表达式(每小题2分,共计10分) 第五题、第六题使用如下的四个关系:
1、检索北京的供应商的名称。
2、检索所有职工的工资都大于1220元的仓库所在的城市。
3、检索和北京的所有供应商都有业务联系的职工的工资。
4、检索目前与职工E6有业务联系的供应商的名称。
5、检索在上海工作的职工的工资。
六、写出SQL语句(每小题2分,共计20分)
1、检索出向S4供应商发出订购单的仓库所在的城市。
第 19 页 共 45 页
2、检索出在上海工作并且向S6供应商发出了订购单的职工号。
3、检索出有最大面积的仓库信息。
4、检索出由工资多于1230元的职工向北京的供应商发出的订购单号。
5、检索出职工E6发给供应商S6的订购单信息。
6、删除由在上海仓库工作的职工发出的所有订购单。
7、检索出和面积最小的仓库有联系的供应商的个数。
8、检索出每个城市的供应商个数。
9、检索出向供应商S3发过订购单的职工的职工号和仓库号。
10、检索出在广州工作并且只向S6供应商发出了订购单的职工号。
七、计算题(第1题6分,第2题9分,共计15分)
1、有一个应用,包括三个实体集。 实体类型“商店”的属性有:商店编号,店名,店址,店经理。 实体类型“会员”的属性有:会员编号,会员名,地址。 实体类型“职工”的属性有:职工编号,职工名,性别,工资 。 每家商店有若干职工,但每个职工只能服务于一家商店。 每家商店有若干会员,每个会员可以属于多家商店。在联系中应反映出职工参加某商店工作的开始时间,会员的加入时间。 1)试画出反映商店、职工、会员实体类型及联系类型的ER图;
2)将ER图转换成关系模式,并指出每个表的主键和外键;
第 20 页 共 45 页
2、设有关系模式R(U,F),U={A,B,C,D,E},F={AB→E,DE→B,B→C,C→E,E→A} 1)计算所有函数依赖左部关于函数依赖集F的属性集闭包;
2)确定关系模式R上的所有侯选关键字;
3)求F的所有最小覆盖。
兰州商学院陇桥学院2008—2009学年第二学期期末考试
《数据库系统概论》试卷E
适用班级:信管管理与信息系统07级本科 一、单项选择题(每小题1分,共计15分)
1、在SQL中,与“NOT IN”等价的操作符是( ) A)=SOME B)<>SOME C)=ALL D)<>ALL
2、设关系R与关系S具有相同的目(或称度),且相对应的属性的值取自同一个域,则R-(R-S)等于(A)RUS B)R∩S C)R×S D)R-S 3、如下关于索引描述正确的是( ) A) 建立索引将改变记录的物理顺序
B) 建立索引只会提高查询速度、不会提高更新速度 C) 建立索引可以提高查询和更新速度
D) 索引只是一种数据结构,对查询速度和更新速度都没有影响 4、SQL中,谓词EXISTS可用来测试一个集合是否( )
A)有重复元组 B)有重复的列名 C)为非空集合 D)有空值 5、采用二维表格结构表达实体类型及实体间联系的数据模型是( ) A)层次模型 B)网状模型 C)关系模型 D)实体联系模型 6、在数据库中,概念模式和存储模式之间的映像提供了( ) A) 概念数据独立性 B) 存储数据独立性 C) 分布数据独立性 D) 并发数据独立性 7、表在关系数据库中对应于三级模式的( ) A) 存储模式 B) 概念模式
第 21 页 共 45 页
)。 C) 物理模式 D) 外部模式
8、如下关于存储过程叙述正确的是( )
A) 存储过程即传统意义程序中的过程,可以嵌入在程序中使用 B) 存储过程是一种存储在数据库中的程序,用于对数据库进行操作 C) 存储过程是一种存储在数据库之外的程序,用于对数据库进行操作 D) 存储过程描述数据存储到数据库的过程 9、两个实体之间多对多的联系( )
A) 不能够转换成一对多的联系 B) 不一定能够转换成一对多的联系 C) 一定能够转换成一对多的联系 D) 以上说法都不对
10、当关系有多个候选码时,则选定一个作为主码,但若主码为全码时应包含( ) A)单个属性 B)两个属性 C)多个属性 D)全部属性 11、在关系中,“元数”是指( )
A)行数 B)元组个数 C)关系个数 D)列数
12、“一个事务中的诸操作要么全做,要么都不做”,这是事务的什么特性( ) A) 原子性 B) 一致性 C) 隔离性 D) 持久性 13、在SQL中,聚合函数COUNT(列名)用于( ) A)计算元组个数
B)计算属性的个数 C)对一列中的非空值计算个数
D)对一列中的非空值和空值计算个数 下面的14、15小题使用如下表的数据: 仓库
仓库号 城市 面积 WH1 北京 370 WH2 上海 500 WH3 广州 200 WH4 武汉 400 职工
仓库号 职工号 工资 WH2 E1 1220 WH1 E3 1210 WH2 E4 1250 WH3 E6 1230 WH1 E7 1250
14、SQL语句 SELECT * FROM 职工 ORDER BY 工资 DESC 查询结果的第一条记录的工资字段值是( ) A) 1210 B) 1220 C) 1230 D) 1250 15、SQL语句:
SELECT SUM(工资) FROM 职工 的执行结果是( )
A) 工资的最大值 B) 工资的最小值 C) 工资的平均值 D) 工资的合计 二、填空题(每小题1分,共计15分)
1、用户选作元组标识的一个候选码为________,其属性不能取________。
2、数据库的体系结构为三级结构,它们是_____________________、____________________和____________________。
第 22 页 共 45 页
3、在关系模式R(D,E,G)中,存在函数依赖关系{E→D,(D,G)→E},则候选关键字是_________,关系模式R(D,E,G)属于_________。 4、在关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},则候选关键字是_________,关系模式R(A,B,C,D)属于_________。
5、数据库的核心任务是数据管理,数据管理经历了人工管理阶段、________________和______________三个阶段。 6、关系模式规范化需要考虑数据间的依赖关系,人们已经提出了多种类型的数据依赖,其中最重要的是_________和_________。
7、如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选关键字,则称R为_________关系模式。 8、SQL语言主要包括数据查询语言、数据定义语言、_________________和数据控制语言。 三、简答题(每小题4分,共计20分) 1、简要概述数据库管理员的职责。
2、试述触发器的概念和作用。
3、试述事务的概念及事务的四个特性。
4、在数据库中为什么要并发控制?
5、试述DBMS的基本功能?
四、应用题(每小题10分,共计20分)
1、设工厂里有一个记录职工每天日产量的关系模式:
R(职工编号,日期,日产量,车间编号,车间主任)。
第 23 页 共 45 页
如果规定:每个职工每天只有一个日产量;
每个职工只能隶属于一个车间; 每个车间只有一个车间主任。
试回答下列问题:
⑴ 根据上述规定,写出模式R的基本FD和关键码; ⑵ 说明R不是2NF的理由,并把R分解成2NF模式集; ⑶ 进而再分解成3NF模式集,并说明理由。
2、某学员为公安局的车辆信息管理系统设计了数据库的ER图,对车辆、车主、驾驶员、制造商、保险公司、警
察、车辆违章和车辆事故等信息进行了管理,其ER图如下所示。 交通管理大队 1 制造商 管理 1 N 制造 N 警察 被盗 违章 M N N M N 车主 车辆 M 1 N N P 拥有 事故 P 驾驶员 保险1 N 保险2 1 1 保险公司 该ER图有7个实体类型,其结构如下: 制造商(制造商编号,名称,地址)
第 24 页 共 45 页
⑤ ⑥
交通管理大队(大队编号,地址,区域,电话) 警察(警号,姓名,性别,出生年月) 车主(身份证号,姓名,地址,电话)
车辆(车辆牌号,型号,发动机号,座位数,登记日期)
驾驶员(驾驶证号,姓名,性别,地址,准驾车型,发证日期) 保险公司(保险公司编号,名称,地址,电话)
该ER图有8个联系类型,其中5个是1:N联系,1个是M:N联系,2个是M:N:P联系。其联系的属性如下: 违章(违章编号,时间,地点,违章行为,处理结果) 事故(事故编号,时间,地点,事故简要,处理结果)
被盗(被盗编号,被盗时间,被盗地点,找回时间,找回地点) 试将上述ER图转换成关系模型:
写出关系模式集,并用下划线和波浪线标识出每个模式的主键和外键。 在上述数据库中,写出主键和外键的总数这两个数字。
五、写出关系代数表达式(每小题2分,共计10分) 第五题、第六题使用如下的四个关系:
第 25 页 共 45 页
1、检索仓库WH2所在的城市。
2、检索和职工E1有联系的供应商的名称。
3、检索和上海的所有供应商都有业务联系的职工所在的仓库。
4、检索与职工E9有业务联系的供应商的地址。
5、检索在深圳工作的职工的工资。
六、写出SQL语句(每小题2分,共计20分)
1、在供应商表中插入一个元组(S6,黎明,广州)。
2、将仓库WH1的面积改为2000。
3、给工资低于800的职工提高8%的工资。
4、检索出在仓库WH1工作的职工平均工资。
5、检索出和职工E3、E6都有联系的上海的供应商信息。
6、检索出目前没有任何订购单的职工信息。
7、检索出工资低于本仓库平均工资的职工信息。
8、检索出目前与供应商S6有联系的职工信息。
第 26 页 共 45 页
9、检索出每个仓库的职工人数和平均工资。
10、按城市检索出仓库的总面积。
兰州商学院陇桥学院2008—2009学年第二学期期末考试
《数据库系统概论》试卷F
适用班级:信管管理与信息系统07级本科 一、单项选择题(每小题1分,共计20分)
1、在SQL SELECT语句中,实现投影操作的子句是( ) A) WHERE B) FROM C) SELECT D) ORDER BY 2、SQL中备份事务日志文件的命令是( )。
A)BACKUP DATABASE B)BACKUP LOG C)RESTORE DATABASE D)RESTORE LOG 下面的3、4小题基于关系模式R(U, F),其中 U={课程,教师,上课时间,教室,学生} F={课程→教师,
(上课时间,教室)→课程, (上课时间,教师)→课程, (上课时间,学生)→教室}
3、关系模式R的主关键字是( )
A) 课程 B) (上课时间,教室) C) (上课时间,教师) D) (上课时间,学生)
4、将关系模式R分解为R1(上课时间,教室,学生)和其他若干模式,则R1是几范式关系(A) 1NF B) 2NF C) 3NF D) BCNF 下面的5、6、7小题使用如下表的数据: 仓库
仓库号 城市 面积 WH1 北京 370 WH2 上海 500 WH3 广州 200 WH4 武汉 400 职工
仓库号 职工号 工资 WH2 E1 1220 WH1 E3 1210 WH2 E4 1250 WH3 E6 1230 WH1 E7 1250
5、SQL语句 SELECT * FROM 职工 ORDER BY 工资 DESC 查询结果的第一条记录的工资字段值是( ) A) 1210 B) 1220 C) 1230 D) 1250
第 27 页 共 45 页
) 6、SQL语句:
SELECT 仓库.仓库号,城市,职工号,工资 FROM 仓库,职工
WHERE 仓库.仓库号 = 职工.仓库号 ORDER BY 仓库.仓库号,工资 DESC
查询结果的第1条记录的职工号是( ) A) E3 B) E4 C) E6 D) E7 7、SQL语句:
SELECT 仓库号,MAX(工资) FROM 职工 GROUP BY 仓库号 查询结果有几条记录( )
A) 0 B) 1 C) 3 D) 5
8、下面关于函数依赖的叙述中,不正确的是( )。
A)若X→Y,Y→Z,则X→YZ B)若XY→Z,则X→Z, Y→Z C)若X→Y,Y→Z,则X→Z D)若X→Y,Y’包含Y,则X→Y’ 9、数据库中的日志文件用于记录( )
A) 对数据的所有查询操作 B) 对数据的所有更新操作 C) 程序运行的所有结果 D) 用户的所有登录信息 10、SQL中创建存储过程应使用( )语句。 A)CREATE PROCEDURE B)CREATE TABLE C)CREATE VIEW D)CREATE DATABASE 11、SQL Server属于( )
A)网状数据库 B)层次数据库 C)桌面数据库 D)关系型数据库
12、SQL提供了4种事务隔离级别,其中隔离级别最低的是( )。 A)READ UNCOMMITTED B)READ COMMITTED C)REPEATABLE READ D)SERIALIZABLE 13、下面有关HAVING子句描述正确的是( ) A) HAVING子句必须与GROUP BY子句一起使用 B) HAVING子句不可以与GROUP BY子句一起使用 C) HAVING子句不可以与WHERE子句一起使用 D) HAVING子句必须与WHERE子句一起使用
14、解决并发操作带来的数据不一致问题通常采用的技术是( ) A) 封锁 B) 恢复 C) 存取控制 D) 协商
15、关系的主属性不可以为空值(NULL),这属于( ) A) 实体完整性规则 B) 参照完整性规则 C) 域完整性规则 D) 用户完整性规则 二、填空题(每小题1分,共计20分)
以下两题使用图书、读者和借阅三个表,它们的结构分别如下: 图书(总编号,分类号,书名,作者,出版单位,单价) 读者(借书证号,单位,姓名,性别,职称,地址) 借阅(借书证号,总编号,借书日期) 1、有如下SQL语句:
SELECT 读者.姓名,读者.职称,图书.书名,借阅.借书日期 FROM 读者,借阅,图书
WHERE 借阅.借书证号=读者.借书证号 AND 图书.总编号=借阅.总编号
第 28 页 共 45 页
其中WHERE子句中的两个条件对应的关系操作是_________。 2、如果要查询“郝方”借阅了几册书可以使用如下SQL语句 SELECT COUNT(*) FROM 读者,借阅
WHERE 姓名=\郝方\__________ 借阅.借书证号=读者.借书证号
3、数据库的数据模型有层次模型、_____________、______________和面向对象等模型。
4、数据库的核心任务是数据管理,数据管理经历了人工管理阶段、________________和______________三个阶段。
5、在SQL语句中,WHERE子句的条件表达式中,字符串匹配的操作符是LIKE;与0个或者多个字符匹配的通配符是_________;与单个字符匹配的通配符是___________。
6、两个关系的交运算(R∩S)可以用集合的差运算表示为_________________。
7、在关系模式R(A,C,D)中,存在函数依赖关系{A→C,A→D},则候选关键字是_________,关系模式R(A,C,D)最高可以达到_________。
8、用SELECT语句进行查询时,如果希望查询的结果中不出现重复元组,应在SELECT子句中使用______________________________保留字。
9、实体间的联系有三种,分别是:______________、_____________、___________。 三、简答题(每小题4分,共计20分)
1、简述关系模型中的实体完整性、参照完整性。
2、试述SQL的数据定义功能及语句。
3、试讨论备份系统数据库的重要性。
4、文件系统用于数据管理存在哪些明显的缺陷?
5、简要概述数据库、数据库管理系统和数据库系统各自的含义。
四、应用题(每小题10分,共计20分)
1.设关系模式R(车间编号,零件编号,数量,仓库编号,仓库地址)。 如果规定:每个车间每需要一种零件只有一个数量;
第 29 页 共 45 页
每种零件只存放在一个仓库里; 每个仓库只有一个地址。
(1)试根据上述规定,写出模式R的基本FD和关键码。 (2)说明R不是2NF的理由,并把R分解成2NF模式集。 (3)再进而分解成3NF模式集,并说明理由。
2、某学员为高校社团信息管理系统设计了数据库的ER图,对学生、社团、社团成员、社团活动、主管老师、对活动和成员的评价等信息进行了管理,其ER图如下所示。 1 主管老师 评价 1 N 活动评价 主管 1 N 社团 有 开展 N 1 1 M 属于 社团活动 M N 具有 N 1 能力状况 N 参加 社团成员 1 1 N N 评语 产生 获得 成为 N 1 奖励信息 学生 该ER 图有9个实体类型,其结构如下:
学生(学号,姓名,性别,出生年月,政治面貌)
社团(社团编号,类别,名称,成员数,组织描述,活动概览)
社团成员(成员编号,在社职务,证件编号,发放日期)
第 30 页 共 45 页
⑦ ⑧
主管老师(教师工号,姓名,性别,政治面貌,职称,电话)
社团活动(社团活动编号,活动日期,主题,参加成员数,活动级别,活动内容) 活动评价(社团活动编号,评价日期,评分,说明) 奖励信息(奖励序号,奖励日期,奖项,奖励描述)
能力状况(序号,日期,健康状况,体育特长,文学特长,艺术特长) 评语(序号,日期,等级,描述,评语教师)
该ER图有10个联系类型,其中1个是1:1联系,7个是1:N联系,2个是M:N联系。其联系的属性如下: 参加(参加情况评级) 开展(开展日期)
试将上述ER图转换成关系模型:
写出关系模式集,并用下划线和波浪线标识出每个模式的主键和外键。 在上述数据库中,写出主键和外键的总数这两个数字。
五、写出关系代数表达式(每小题2分,共计10分) 第五题、第六题使用如下的四个关系:
1、检索上海的供应商的名称。
第 31 页 共 45 页
2、检索有职工E1和E2工作的仓库所在的城市。
3、检索和上海的所有供应商都有业务联系的职工的工资。
4、检索目前与职工E6有业务联系的供应商的名称。
5、检索在上海的仓库的面积。
六、写出SQL语句(每小题2分,共计20分)
1、检索出向地址为ABC的供应商发出订购单的职工号。
2、检索出向S8供应商发出了订购单的职工信息。
3、检索出大于平均面积的仓库信息。
4、检索出由工资多于1800元的职工向上海的供应商发出的订购单号。
5、检索出职工E8发给供应商S9的订购单信息。
6、删除向供应商李铭发出的所有订购单。
7、给工资低于800的职工提高10%的工资。
8、检索出每个城市的供应商个数。
9、检索出向供应商S3发过订购单的职工的职工号和仓库号。
10、检索出在仓库WH2工作的职工的最高工资。
第 32 页 共 45 页
兰州商学院陇桥学院2008—2009学年第二学期期末考试
《数据库系统概论》试卷A 参考答案及评分标准
一、单项选择题(每小题1分,共计15分)
1.C 2.C 3.B 4.D 5.B 6.B 7.C 8.C 9.A 10.B 11.B 12.C 13.B 14.A 15.A 二、填空题(每小题1分,共计15分)
1、属性 记录或元组 2、基本表 视图 3、第一范式(1NF) 4、 A,(B,C) 2NF 5、概念模型 数据模型 6、事务 7、排它锁 共享锁 8、更改 破坏 9、数据字典 三、简答题(每小题4分,共计20分)
1、 答:在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。(2分)但前提条件是该外部码属性不是其所在关系的主属性。(2分)
2、 答:基本表的行列子集视图一般是可更新的。如... 。(2分) 若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。如...。(2分)
3、 答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。(2分)事务具有四个特性:原子性、一致性、隔离性和持续性。(2分)
4、 答:数据库是共享资源,通常有许多个事务同时在运行。 当多个事务并发地存取数据库时就会产生同时修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。
5、 答:DBMS主要是实现对共享数据有效的组织、管理和存取。(1分)DBMS的基本功能有: (1)数据库定义功能; (2)数据存取功能;(3)数据库运行管理功能;(4)数据组织、存储和管理功能; (5)数据库的建立和维护功能;(6)其他功能。(3分) 四、应用题(每小题10分,共计20分) 1.解:
① 基本的FD有3个:
(职工编号,日期)→ 日产量 职工编号 → 车间编号 车间编号 → 车间主任
R的关键码为(职工编号,日期)。 (1分)
② R中有两个这样的FD:
(职工编号,日期)→(车间编号,车间主任) 职工编号 → (车间编号,车间主任)
可见前一个FD是局部依赖,所以R不是2NF模式。 R应分解成R1(职工编号,车间编号,车间主任) R2(职工编号,日期,日产量) 此处,R1和R2都是2NF模式。(3分)
③ R2已是3NF模式。
在R1中,存在两个FD:职工编号 → 车间编号 车间编号 → 车间主任
因此,“职工编号 → 车间主任”是一个传递依赖,R1不是3NF模式。 R1应分解成R11(职工编号,车间编号) R12(车间编号,车间主任)
这样,ρ= { R11,R12,R2 }是一个3NF模式集。(3分) 2、解:
① 根据ER图和转换规则,7个实体类型转换成7个关系模式,1个M:N联系转换成1个关系模式,2个M:N:P
联系转换成2个关系模式。因此,该ER图可转换成10个关系模式,如下: 制造商(制造商编号,名称,地址)
交通管理大队(大队编号,地址,区域,电话) 警察(警号,姓名,性别,出生年月,大队编号) 车主(身份证号,姓名,地址,电话)
第 33 页 共 45 页
车辆(车辆牌号,型号,发动机号,座位数,登记号,制造商编号,保险公司编号,车主身份证号)
驾驶员(驾驶证号,姓名,性别,地址,准驾车型,发证日期,保险公司编号) 保险公司(保险公司编号,名称,地址,电话)
违章(违章编号,时间,地点,违章行为,处理结果,车辆牌号,驾驶证号,警号) 事故(事故编号,时间,地点,事故简要,处理结果,车辆牌号,驾驶证号,警号) 被盗(被盗编号,被盗时间,被盗地点,找回时间,找回地点,车主身份证号,
车辆牌号)(8分)
② 在上述数据库中,主键的总数为10个,外键的总数为13个。(2分) 五、写出关系代数表达式(每小题2分,共计10分) 1、π城市(σ仓库号=\(仓库))
2、π供应商名(σ职工号=\(订购单)?供应商)
3、π职工号,仓库号(职工? (订购单÷π供应商号(σ地址=\上海\(供应商)))) 4、π地址(σ职工号=\(订购单) ?供应商) 5、π职工号,工资(σ城市=\深圳\(仓库) ?职工)
六、写出SQL语句(每小题2分,共计20分) 1、INSERT INTO 供应商 VALUSE (’S6’, ’黎明’,’广州’)
2、UPDATE 仓库 SET 面积=2000 WHERE 仓库号=’WH1’ 3、UPDATE 职工 SET 工资=工资*1.08 WHERE 工资<800 4、SELECT AVG(工资) FROM 职工 WHERE仓库号=’WH1’ 5、SELECT * FROM 供应商 WHERE 供应商号 IN
( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E3’ AND 供应商号 IS NOT NULL ) AND 供应商号 IN
( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E6’ AND 供应商号 IS NOT NULL ) 6、SELECT * FROM 职工 WHERE NOT EXISTS
( SELECT * FROM 订购单 WHERE 职工号=职工.职工号) 7、SELECT * FROM 职工 out WHERE 工资<
(SELECT AVG(工资) FROM 职工 inne WHERE 仓库号=out.仓库号) 8、SELECT * FROM 职工 WHERE 职工号 IN
( SELECT 职工号 FROM 订购单 WHERE 供应商号=’S6’ )
9、SELECT 仓库号, COUNT(*), AVG(工资) FROM 职工 GROUP BY 仓库号 10、SELECT 城市, SUM(面积) FROM 仓库 GROUP BY 城市
兰州商学院陇桥学院2008—2009学年第二学期期末考试
《数据库系统概论》试卷B参考答案及评分标准
一、单项选择题(每小题1分,共计20分)
1.A 2.A 3.C 4.A 5.A 6.D 7.D 8.B 9.A 10.D 11.B 12.C 13.C 14.C 15.C 二、填空题(每小题1分,共计20分)
1、主码 空值 2、数据定义 数据控制 3、完全函数依赖于 4、(E,G),(D,G) 3NF 5、实体 属性 6、数据库的恢复 7、死锁 8、可串行化 9、用户名 口令 10、正确性 三、简答题(每小题4分,共计20分)
1、答:(1)实体完整性规则:若属性A是基本关系的主属性,则属性A不能取空值。(2分)
(2)参照完整性规则:若属性F(或属性组)是基本关系R的外码,它与基本关系S的主码X相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值); 2)或者等于S中某个元组的主码值。(2分)
2、答:SQL的数据定义功能包括定义表、定义视图和定义索引。(2分) SQL语言使用CREATE TABLE语句建立基本表,ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;使用CREATE INDEX语句建立索引, DROP INDEX语句删除索引;使用CREATE VIEW命令建立视图,DROP VIEW语句删除视图。(2分)
3、答:数据库设计过程的主要阶段: (1) 需求分析;(2) 概念结构设计;(3) 逻辑结构设计; (4) 数据库物
第 34 页 共 45 页
理设计。(各1分)
4、答:数据库恢复的基本技术是数据转储和登录日志文件。(1分)转储即DBA按照一定的策略将数据库复制到磁带或另一个磁盘上保存起来的过程。(1分)日志文件是用来记录事务对数据库的所有更新操作的文件,包括数据库内部的更新操作。(1分)不同数据库系统采用的日志文件格式是不同的。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。(1分)
5、答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。(1分)如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。(2分)例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。则可以定义一个事务T,T包括两个操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。(1分) 四、应用题(每小题10分,共计20分) 1、解:
① 基本的FD有3个:
(车间编号,零件编号)→ 数量 零件编号 → 仓库编号 仓库编号 → 仓库地址 R的关键码为(车间编号,零件编号)。
② R中有两个这样的FD:
(车间编号,零件编号)→(仓库编号,仓库地址) 零件编号 → 仓库编号,仓库地址)
可见前一个FD是局部依赖,所以R不是2NF模式。 R应分解成R1(零件编号,仓库编号,仓库地址) R2(车间编号,零件编号,数量) 此处,R1和R2都是2NF模式。
③ R2已是3NF模式。
在R1中,存在两个FD:零件编号 → 仓库编号 仓库编号 → 仓库地址
因此,“零件编号 → 仓库地址”是一个传递依赖,R1不是3NF模式。 R1应分解成R11(零件编号,仓库编号) R12(仓库编号,仓库地址)
这样,ρ= { R11,R12,R2 }是一个3NF模式集。 2、解:
① 根据ER图和转换规则,9个实体类型转换成9个关系模式,2个M:N联系转换成2个关系模式。因此,该ER图可转换成11个关系模式,如下:
学生(学号,姓名,性别,出生年月,政治面貌)
社团(社团编号,类别,名称,成员数,组织描述,活动概览,主管教师工号) 社团成员(成员编号,学号,在社职务,证件编号,发放日期,社团编号) 主管老师(教师工号,姓名,性别,政治面貌,职称,电话)
社团活动(社团活动编号,活动日期,主题,参加成员数,活动级别,活动内容) 活动评价(社团活动编号,评价日期,评分,说明,主管教师工号) 奖励信息(奖励序号,成员编号,奖励日期,奖项,奖励描述)
能力状况(序号,成员编号,日期,健康状况,体育特长,文学特长,艺术特长) 评语(序号,成员编号,日期,等级,描述,评语教师) 参加(社团活动编号,成员编号,参加情况评级) 开展(社团编号,社团活动编号,开展日期)
② 在上述数据库中,主键的总数为11个,外键的总数为12个。 五、写出关系代数表达式(每小题2分,共计10分) 1、π供应商名(σ地址=\上海\(供应商))
第 35 页 共 45 页
2、π城市(σ职工号=’E1’(职工) ?仓库) ∩π城市(σ职工号=’E2’(职工) ?仓库) 3、π职工号,工资(职工? (订购单÷π供应商号(σ地址=\上海\(供应商)))) 4、π供应商名(σ职工号=\(订购单) ? 供应商) 5、π仓库号,面积(σ城市=\上海\(仓库))
六、写出SQL语句(每小题2分,共计20分)
1、SELECT 职工号 FROM 订购单 WHERE 供应商号 IN (SELECT 供应商号 FROM 供应商 WHERE 地址 =’ABC’ ))
2、SELECT * FROM 职工 WHERE 职工号 IN
(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S8’))
3、SELECT * FROM 仓库 WHERE 面积>(SELECT AVG(面积) FROM 仓库) 4、SELECT 订购单号 FROM 订购单 WHERE 职工号 IN
(SELECT 职工号 FROM 职工 WHERE 工资>1800) AND 供应商号 IN (SELECT 供应商号 FROM 供应商 WHERE 地址=’上海’)
5、SELECT * FROM 订购单 WHERE 供应商号=’S9’ AND 职工号=’E8’ 6、DELETE FROM 订购单 WHERE 供应商号 IN
(SELECT 供应商号 FROM 供应商 WHERE 供应商名 =’ 李铭’)) 7、UPDATE 职工 SET 工资=工资*1.1 WHERE 工资<800 8、SELECT 地址,COUNT(*) FROM 供应商 GROUP BY 地址 9、SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN ( SELECT 职工号 FROM 订购单 WHERE 供应商号=’S3’ ) 10、SELECT MAX(工资) FROM 职工 WHERE 仓库号=’WH2’
兰州商学院2007-2008学年第一学期期末考试 数据库系统概论 参考答案及评分标准(C卷)
一、单项选择题(每题1分,共15分)
1、D 6、B 11、D 2、B 7、B 12、A 3、B 8、B 13、C 4、C 9、C 14、D 5、C 10、D 15、D 二、填空题(每空1分,共15分) 1、GRANT、REVOKE
2、存储层、概念层、外部层(顺序可颠倒) 3、EG、DG、3NF 4、A,BC、BCNF
5、文件系统阶段、数据库系统阶段 6、函数依赖、多值依赖 7、3NF
8、数据操纵语言(数据操作语言)
三、名词解释题(每题2分,共10分)
1、如果一个属性集能唯一标识元组,且又不含有多余属性,那么这个属性集称为候选键(candidate key)。 2、在关系模式R(U)中,FD是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称X→Y在关系模式R(U)中成立。
3、是管理或支持数据库的系统软件,是用户和数据库之间的接口。 4、事务是构成单一逻辑单元的操作集合。 5、这种多事务交错等待的僵持局面称为死锁。 四、简答题(每题3分,共15分)
1、数据库管理员的职责可以概括如下: (1) 首先在数据库规划阶段要参与选择和评价与数据库有关的计算机软件和硬件,要与数据库用户共同确定
第 36 页 共 45 页
数据库系统的目标和数据库应用需求,要确定数据库的开发计划;
(2) 在数据库设计阶段要负责数据库标准的制定和共用数据字典的研制,要负责各级数据库模式的设计,负责数据库安全、可靠方面的设计;
(3) 在数据库运行阶段首先要负责对用户进行数据库方面的培训;负责数据库的转储和恢复;负责对数据库中的数据进行维护;负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;继续负责数据库安全系统的管理;在运行过程中发现问题、解决问题。
2、触发器可以看作是一类特殊的存储过程,它在满足某个特定条件时自动触发执行。触发器是为表上的更新、插入、删除操作定义的,也就是说当表上发生更新、插入或删除操作时触发器将执行。
触发器可以用于数据参照完整性和以下一些场合: 1)触发器可以通过级联的方式对相关的表进行修改。比如,对父表的修改,可以引起对子孙表的一系列修改,从而保证数据的一致性和完整性。
2)触发器可以禁止或撤消违反参照完整性的修改。
3)触发器可以强制比用CHECK约束定义更加复杂的限制。 3、事务的ACID性质指事务具有原子性(即不可分割)、一致性(要能保证数据库的一致性)、隔离性(事务的原子性和一致性不受其他事务的影响)和持久性(事务对数据库所施加的所有更新都是永久的)。
4、并发事务可能会存在的干扰问题主要有: 1)丢失更新问题 2)未提交依赖问题 3)不一致分析问题 4)幻象读问题
5、日志则是对备份的补充,它可以看作是一个值班日记,它将记录下所有对数据库的更新操作。这样就可以在备份完成时立刻刷新并启用一个数据库日志,数据库日志是实时的,它将忠实地记录下所有对数据库的更新操作。因此,当磁盘出现故障造成数据库损坏时,就可以首先利用备份恢复数据库(恢复大部分数据),然后再运行数据库日志,即将备份后所做的更新操作再重新做一遍,从而将数据库完全恢复。 五、写出关系代数表达式(每题2分,共10分) 1、π职工号,工资(σ仓库号=\(职工))
2、π供应商名(订购单÷(“E1”,”E4”,”E7”) * 供应商)
3、π职工号,工资(职工 * (订购单÷π供应商号(σ地址=\北京\(供应商)))) 4、π供应商名(σ职工号=\(订购单) * 供应商) 5、π职工号,工资(σ城市=\上海\(仓库) * 职工) 六、写出SQL语句(每题2分,共22分)
1、DELETE FROM 供应商 WHERE 供应商号 NOT IN
(SELECT 供应商号 FROM 订购单 WHERE 供应商号 IS NOT NULL) 2、UPDATE 仓库 SET 面积=面积+100 WHERE 城市=’北京’ 3、UPDATE 职工 SET 工资=工资*1.05 WHERE 工资< (SELECT AVG(工资) FROM 职工)
4、SELECT 职工号,工资 FROM 职工 WHERE 职工号 IN (SELECT 职工号 FROM 订购单 WHERE 供应商号 IN
(SELECT 供应商号 FROM 供应商 WHERE 供应商名=’华通电子公司’)) 5、SELECT * FROM 供应商 WHERE 供应商号 IN
( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E1’ AND 供应商号 IS NOT NULL ) AND 供应商号 IN
( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E3’ AND 供应商号 IS NOT NULL ) 6、SELECT * FROM 供应商 WHERE NOT EXISTS
( SELECT * FROM 订购单 WHERE 供应商号=供应商.供应商号 ) 7、SELECT * FROM 职工 out WHERE 工资<
(SELECT AVG(工资) FROM 职工 inne WHERE 仓库号=out.仓库号) 8、SELECT * FROM 职工 WHERE 职工号 NOT IN
第 37 页 共 45 页
( SELECT 职工号 FROM 订购单 WHERE 供应商号=’S3’ )
9、SELECT 仓库号,COUNT(*) FROM 职工 WHERE 工资>1220 GROUP BY 仓库号 10、SELECT 供应商名 FROM 供应商 WHERE 供应商号 IN (SELECT 供应商号 FROM 订购单 WHERE 职工号 NOT IN (SELECT 职工号 FROM 职工 WHERE 工资 < 1220)) 七、计算题(第1题9分,第2题6分) 1、(1)R的候选码为BD (2分) (2)
a)将F中的函数依赖都分解为右部为单属性的函数依赖。(1分) F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A} b)去掉F中冗余的函数依赖。(3分) 判断A→C是否冗余。
+
设:G1={C→A,B→A,B→C,D→A,D→C,BD→A},得(A)G1=A
+
∵C不属于(A)G1 ∴ A→C不冗余 判断C→A是否冗余。
+
设:G2={A→C,B→A,B→C,D→A,D→C,BD→A},得(A)G2=C
+
∵A不属于(C)G1 ∴ C→A不冗余 判断B→A是否冗余。
+
设:G3={A→C,C→A,B→C,D→A,D→C,BD→A},得(B)G3=BCA
+
∵A属于(B)G3 ∴ B→A冗余 判断B→C是否冗余。
+
设:G4={A→C,C→A,D→A,D→C,BD→A},得(B)G4=B
+
∵C不属于(B)G4 ∴ B→C不冗余 判断D→A是否冗余。
+
设:G5={A→C,C→A,B→C,D→C,BD→A},得(D)G5=DCA
+
∵A不属于(D)G5 ∴ D→A冗余 判断A→C是否冗余。
+
设:G6={A→C,C→A,B→C,BD→A},得(D)G6=D
+
∵C不属于(D)G6 ∴ D→C不冗余 判断BD→A是否冗余。
+
设:G7={A→C,C→A,B→C,D→C},得(BD)G7=BDCA
+
∵A不属于(BD)G7 ∴ BD→A冗余 F={A→C,C→A,B→C,D→C}
c)由于各函数依赖左部都为单属性,故:(2分) Fm={A→C,C→A,B→C,D→C} (3)τ={AC,BC,DC,BDEF} (2分) 2、
(1)求R的所有候选键 关系R的候选键:CD(2分)
(2)用ρ3={DG,AC,CDE,AB}替换R,这个分解是无损联接分解吗?(4分) 使用构造表格的方法来判断(略),结果:该分解是是无损联接的分解。
兰州商学院陇桥学院2008-2009第二学期期末考试 数据库系统概论 参考答案及评分标准(D卷)
一、单项选择题(每题1分,共15分)
1、C 6、D 11、D 2、B 7、C 12、A 3、D 8、B 13、A 第 38 页 共 45 页
4、D 9、B 14、A 5、D 10、A 15、A 二、填空题(每空1分,共15分)
1、连接 2、AND 3、网状模型、关系模型 4、文件系统阶段、数据库系统阶段 5、%、_ 6、R-(R-S) 7、A、BCNF 8、DISTINCT 9、一对一(1:1)、一对多(1:n)、多对多(m:n) 三、名词解释题(每题2分,共10分)
1、参照完整性则是相关联的两个表之间的约束,具体的说,就是从表中每条记录外键的值必须是主表中存在的,因此,如果在两个表之间建立了关联关系,则对一个关系进行的操作要影响到另一个表中的记录。 2、如果R(U,F) ∈2NF,并且所有非主属性都不传递依赖于关键字,则R(U,F) ∈3NF。
3、共享锁又称为读锁。如果事务T对数据对象A加上共享锁,其他事务只能再对A加S锁,不能加X锁,知道事务T释放A上的S锁为止。
4、对于FD W→A,如果存在X?W有X→A成立,那么称W→A是局部依赖(A局部依赖于W);否则称W→A是完全依赖。完全依赖也称为“左部不可约依赖”。 5、事务是构成单一逻辑单元的操作集合。 四、简答题(每题3分,共15分)
1、如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字。外部关键字用于实现表与表之间的参照完整性。
外部关键字是否允许为空值取决于语义的规定。外部关键字的取值或者为空值、或者为被参照关系中的某个关键字字段的值。 2、WITH GRANT OPTION子句说明被授权用户可以将指定的对象权限授予其他用户。该子句仅对对象权限有效,对语句权限无效。
3、系统数据库(在SQL Server上特别是master数据库)是管理用户数据库的数据库,如果系统数据库一旦损坏,整个系统的使用都将受到影响。所以系统数据库的安全和可靠是用户数据库可以正常使用的基础。 4、文件系统用于数据管理明显存在如下缺陷:
(1) 数据冗余大。这是因为每个文件都是为特定的用途设计的,因此就会造成同样的数据在多个文件中重复存储。
(2) 数据不一致性。这往往是由数据冗余造成的,在进行更新时,稍不谨慎就会造成同一数据在不同文件中的不一致。
(3) 程序和数据之间的独立性差。应用程序依赖于文件的存储结构,使得若修改文件的存储结构则必须修改程序。
(4) 数据联系弱。文件与文件之间是独立的,文件之间的联系必须通过程序来构造。因此,文件系统是一个不具有弹性的、无结构的数据集合,不能反映现实世界事物之间的联系。
5、数据库、数据库管理系统和数据库系统是三个不同的概念,数据库强调的是相互关联的数据,数据库管理系统是管理数据库的系统软件,而数据库系统强调的是基于数据库的计算机应用系统。 五、写出关系代数表达式(每题2分,共10分) 1、π供应商名(σ地址=\北京\(供应商))
2、π城市(仓库) -π城市(σ工资<=1220(职工) * 仓库)
3、π职工号,工资(职工 * (订购单÷π供应商号(σ地址=\北京\(供应商)))) 4、π供应商名(σ职工号=\(订购单) * 供应商) 5、π职工号,工资(σ城市=\上海\(仓库) * 职工) 六、写出SQL语句(每题2分,共20分) 1、SELECT 城市 FROM 仓库 WHERE 仓库号 IN (SELECT 仓库号 FROM 职工 WHERE 职工号 IN
(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S4’)) 2、SELECT 职工号 FROM 职工 WHERE 仓库号 IN
(SELECT 仓库号 FROM 仓库 WHERE 城市=’上海’) AND 职工号 IN (SELECT 职工号 FROM 订购单 WHERE 供应商号=’S6’))
3、SELECT * FROM 仓库 WHERE 面积=(SELECT MAX(面积) FROM 仓库) 4、SELECT 订购单号 FROM 订购单 WHERE 职工号 IN
第 39 页 共 45 页
(SELECT 职工号 FROM 职工 WHERE 工资>1230) AND 供应商号 IN (SELECT 供应商号 FROM 供应商 WHERE 地址=’北京’)
5、SELECT * FROM 订购单 WHERE 供应商号=’S6’ AND 职工号=’E6’ 6、DELETE FROM 订购单 WHERE 职工号 IN (SELECT 职工号 FROM 职工 WHERE 仓库号 IN
(SELECT 仓库号 FROM 仓库 WHERE 城市=’上海’)) 7、SELECT COUNT(*) FROM 供应商 WHERE 供应商号 IN (SELECT 供应商号 FROM 订购单 WHERE 职工号 IN (SELECT 职工号 FROM 职工 WHERE 仓库号 IN (SELECT 仓库号 FROM 仓库 WHERE 面积= (SELECT MIN(面积) FROM 仓库))))
8、SELECT 地址,COUNT(*) FROM 供应商 GROUP BY 地址 9、SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN ( SELECT 职工号 FROM 订购单 WHERE 供应商号=’S3’ ) 10、SELECT 职工号 FROM 职工 WHERE 仓库号 IN
(SELECT 仓库号 FROM 仓库 WHERE 城市=’广州’) AND 职工号 IN
(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S6’) AND 职工号 NOT IN (SELECT 职工号 FROM 订购单 WHERE 供应商号!=’S6’) 七、计算题(第1题6分,第2题9分) 1、
(1) (3分)
(2) (3分) 关系模式:
商店(商店编号,店名,店址,店经理) 主键:商店编号
职工(职工编号,职工名,性别,工资,商店编号,开始时间) 主键:职工编号 外键:商店编号 会员(会员编号,会员名,地址) 主键:会员编号
SM(会员编号,商店编号,会员加入时间) 主键:会员编号,商店编号 外键:会员编号;商店编号
2、计算所有函数依赖左部关于函数依赖集F的属性集闭包;
+
1)(AB)={A,B,C,E}(3分)
+
(DE)={A,B,C,D,E} +
B={A,B,C,E} +
C={A,C,E} +
E={A,E} 2) 确定关系模式R上的所有侯选关键字;(2分)
第 40 页 共 45 页
DE,BD,CD
3)求F的所有最小覆盖。(4分) 计算过程(略) Fm=F-{AB->E}
兰州商学院陇桥学院2008—2009学年第二学期期末考试
《数据库系统概论》试卷E 参考答案及评分标准
一、单项选择题(每小题1分,共计15分)
1、D 6、B 11、D 2、B 7、B 12、A 3、B 8、B 13、C 4、C 9、C 14、D 5、C 10、D 15、D 二、填空题(每小题1分,共计15分) 1、主码 空值
2、存储层、概念层、外部层(顺序可颠倒) 3、EG、DG、3NF 4、A,BC、BCNF
5、文件系统阶段、数据库系统阶段 6、函数依赖、多值依赖 7、3NF
8、数据操纵语言(数据操作语言)
三、简答题(每小题4分,共计20分) 1、数据库管理员的职责可以概括如下:
(1) 首先在数据库规划阶段要参与选择和评价与数据库有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库应用需求,要确定数据库的开发计划;
(2) 在数据库设计阶段要负责数据库标准的制定和共用数据字典的研制,要负责各级数据库模式的设计,负责数据库安全、可靠方面的设计;
(3) 在数据库运行阶段首先要负责对用户进行数据库方面的培训;负责数据库的转储和恢复;负责对数据库中的数据进行维护;负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;继续负责数据库安全系统的管理;在运行过程中发现问题、解决问题。
2、触发器可以看作是一类特殊的存储过程,它在满足某个特定条件时自动触发执行。触发器是为表上的更新、插入、删除操作定义的,也就是说当表上发生更新、插入或删除操作时触发器将执行。
触发器可以用于数据参照完整性和以下一些场合: 1)触发器可以通过级联的方式对相关的表进行修改。比如,对父表的修改,可以引起对子孙表的一系列修改,从而保证数据的一致性和完整性。
2)触发器可以禁止或撤消违反参照完整性的修改。
3)触发器可以强制比用CHECK约束定义更加复杂的限制。
3、 答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。(2分)事务具有四个特性:原子性、一致性、隔离性和持续性。(2分)
4、 答:数据库是共享资源,通常有许多个事务同时在运行。 当多个事务并发地存取数据库时就会产生同时修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。
5、 答:DBMS主要是实现对共享数据有效的组织、管理和存取。(1分)DBMS的基本功能有: (1)数据库定义功能; (2)数据存取功能;(3)数据库运行管理功能;(4)数据组织、存储和管理功能; (5)数据库的建立和维护功能;(6)其他功能。(3分) 四、应用题(每小题10分,共计20分) 1.解:
① 基本的FD有3个:
(职工编号,日期)→ 日产量
第 41 页 共 45 页
职工编号 → 车间编号 车间编号 → 车间主任
R的关键码为(职工编号,日期)。 (1分) ② R中有两个这样的FD:
(职工编号,日期)→(车间编号,车间主任) 职工编号 → (车间编号,车间主任)
可见前一个FD是局部依赖,所以R不是2NF模式。 R应分解成R1(职工编号,车间编号,车间主任) R2(职工编号,日期,日产量) 此处,R1和R2都是2NF模式。(3分)
③ R2已是3NF模式。
在R1中,存在两个FD:职工编号 → 车间编号 车间编号 → 车间主任
因此,“职工编号 → 车间主任”是一个传递依赖,R1不是3NF模式。 R1应分解成R11(职工编号,车间编号) R12(车间编号,车间主任)
这样,ρ= { R11,R12,R2 }是一个3NF模式集。(3分) 2、解:
① 根据ER图和转换规则,7个实体类型转换成7个关系模式,1个M:N联系转换成1个关系模式,2个M:N:P
联系转换成2个关系模式。因此,该ER图可转换成10个关系模式,如下: 制造商(制造商编号,名称,地址)
交通管理大队(大队编号,地址,区域,电话) 警察(警号,姓名,性别,出生年月,大队编号) 车主(身份证号,姓名,地址,电话)
车辆(车辆牌号,型号,发动机号,座位数,登记号,制造商编号,保险公司编号,车主身份证号)
驾驶员(驾驶证号,姓名,性别,地址,准驾车型,发证日期,保险公司编号) 保险公司(保险公司编号,名称,地址,电话)
违章(违章编号,时间,地点,违章行为,处理结果,车辆牌号,驾驶证号,警号) 事故(事故编号,时间,地点,事故简要,处理结果,车辆牌号,驾驶证号,警号) 被盗(被盗编号,被盗时间,被盗地点,找回时间,找回地点,车主身份证号,
车辆牌号)(8分)
② 在上述数据库中,主键的总数为10个,外键的总数为13个。(2分) 五、写出关系代数表达式(每小题2分,共计10分) 1、π城市(σ仓库号=\(仓库))
2、π供应商名(σ职工号=\(订购单)?供应商)
3、π职工号,仓库号(职工? (订购单÷π供应商号(σ地址=\上海\(供应商)))) 4、π地址(σ职工号=\(订购单) ?供应商) 5、π职工号,工资(σ城市=\深圳\(仓库) ?职工)
六、写出SQL语句(每小题2分,共计20分) 1、INSERT INTO 供应商 VALUSE (’S6’, ’黎明’,’广州’)
2、UPDATE 仓库 SET 面积=2000 WHERE 仓库号=’WH1’ 3、UPDATE 职工 SET 工资=工资*1.08 WHERE 工资<800 4、SELECT AVG(工资) FROM 职工 WHERE仓库号=’WH1’ 5、SELECT * FROM 供应商 WHERE 供应商号 IN
( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E3’ AND 供应商号 IS NOT NULL ) AND 供应商号 IN
( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E6’ AND 供应商号 IS NOT NULL )
第 42 页 共 45 页
6、SELECT * FROM 职工 WHERE NOT EXISTS
( SELECT * FROM 订购单 WHERE 职工号=职工.职工号) 7、SELECT * FROM 职工 out WHERE 工资<
(SELECT AVG(工资) FROM 职工 inne WHERE 仓库号=out.仓库号) 8、SELECT * FROM 职工 WHERE 职工号 IN
( SELECT 职工号 FROM 订购单 WHERE 供应商号=’S6’ )
9、SELECT 仓库号, COUNT(*), AVG(工资) FROM 职工 GROUP BY 仓库号 10、SELECT 城市, SUM(面积) FROM 仓库 GROUP BY 城市
兰州商学院陇桥学院2008—2009学年第二学期期末考试
《数据库系统概论》试卷F参考答案及评分标准
一、单项选择题(每小题1分,共计20分) 1、C 6、D 11、D 2、B 7、C 12、A 3、D 8、B 13、A 4、D 9、B 14、A 5、D 10、A 15、A 二、填空题(每小题1分,共计20分) 1、连接 2、AND
3、网状模型、关系模型
4、文件系统阶段、数据库系统阶段 5、%、_ 6、R-(R-S) 7、A、BCNF 8、DISTINCT
9、一对一(1:1)、一对多(1:n)、多对多(m:n) 三、简答题(每小题4分,共计20分)
1、答:(1)实体完整性规则:若属性A是基本关系的主属性,则属性A不能取空值。(2分)
(2)参照完整性规则:若属性F(或属性组)是基本关系R的外码,它与基本关系S的主码X相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值); 2)或者等于S中某个元组的主码值。(2分)
2、答:SQL的数据定义功能包括定义表、定义视图和定义索引。(2分) SQL语言使用CREATE TABLE语句建立基本表,ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;使用CREATE INDEX语句建立索引, DROP INDEX语句删除索引;使用CREATE VIEW命令建立视图,DROP VIEW语句删除视图。(2分) 3、系统数据库(在SQL Server上特别是master数据库)是管理用户数据库的数据库,如果系统数据库一旦损坏,整个系统的使用都将受到影响。所以系统数据库的安全和可靠是用户数据库可以正常使用的基础。 4、文件系统用于数据管理明显存在如下缺陷:
(1) 数据冗余大。这是因为每个文件都是为特定的用途设计的,因此就会造成同样的数据在多个文件中重复存储。
(2) 数据不一致性。这往往是由数据冗余造成的,在进行更新时,稍不谨慎就会造成同一数据在不同文件中的不一致。
(3) 程序和数据之间的独立性差。应用程序依赖于文件的存储结构,使得若修改文件的存储结构则必须修改程序。
(4) 数据联系弱。文件与文件之间是独立的,文件之间的联系必须通过程序来构造。因此,文件系统是一个不具有弹性的、无结构的数据集合,不能反映现实世界事物之间的联系。
5、数据库、数据库管理系统和数据库系统是三个不同的概念,数据库强调的是相互关联的数据,数据库管理系统是管理数据库的系统软件,而数据库系统强调的是基于数据库的计算机应用系统。 四、应用题(每小题10分,共计20分) 1、解:
第 43 页 共 45 页
① 基本的FD有3个:
(车间编号,零件编号)→ 数量 零件编号 → 仓库编号 仓库编号 → 仓库地址 R的关键码为(车间编号,零件编号)。
② R中有两个这样的FD:
(车间编号,零件编号)→(仓库编号,仓库地址) 零件编号 → 仓库编号,仓库地址)
可见前一个FD是局部依赖,所以R不是2NF模式。 R应分解成R1(零件编号,仓库编号,仓库地址) R2(车间编号,零件编号,数量) 此处,R1和R2都是2NF模式。
③ R2已是3NF模式。
在R1中,存在两个FD:零件编号 → 仓库编号 仓库编号 → 仓库地址
因此,“零件编号 → 仓库地址”是一个传递依赖,R1不是3NF模式。 R1应分解成R11(零件编号,仓库编号) R12(仓库编号,仓库地址)
这样,ρ= { R11,R12,R2 }是一个3NF模式集。 2、解:
① 根据ER图和转换规则,9个实体类型转换成9个关系模式,2个M:N联系转换成2个关系模式。因此,该ER图可转换成11个关系模式,如下:
学生(学号,姓名,性别,出生年月,政治面貌)
社团(社团编号,类别,名称,成员数,组织描述,活动概览,主管教师工号) 社团成员(成员编号,学号,在社职务,证件编号,发放日期,社团编号) 主管老师(教师工号,姓名,性别,政治面貌,职称,电话)
社团活动(社团活动编号,活动日期,主题,参加成员数,活动级别,活动内容) 活动评价(社团活动编号,评价日期,评分,说明,主管教师工号) 奖励信息(奖励序号,成员编号,奖励日期,奖项,奖励描述)
能力状况(序号,成员编号,日期,健康状况,体育特长,文学特长,艺术特长) 评语(序号,成员编号,日期,等级,描述,评语教师) 参加(社团活动编号,成员编号,参加情况评级) 开展(社团编号,社团活动编号,开展日期)
② 在上述数据库中,主键的总数为11个,外键的总数为12个。 五、写出关系代数表达式(每小题2分,共计10分) 1、π供应商名(σ地址=\上海\(供应商))
2、π城市(σ职工号=’E1’(职工) ?仓库) ∩π城市(σ职工号=’E2’(职工) ?仓库) 3、π职工号,工资(职工? (订购单÷π供应商号(σ地址=\上海\(供应商)))) 4、π供应商名(σ职工号=\(订购单) ? 供应商) 5、π仓库号,面积(σ城市=\上海\(仓库))
六、写出SQL语句(每小题2分,共计20分)
1、SELECT 职工号 FROM 订购单 WHERE 供应商号 IN (SELECT 供应商号 FROM 供应商 WHERE 地址 =’ABC’ ))
2、SELECT * FROM 职工 WHERE 职工号 IN
(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S8’))
3、SELECT * FROM 仓库 WHERE 面积>(SELECT AVG(面积) FROM 仓库) 4、SELECT 订购单号 FROM 订购单 WHERE 职工号 IN
第 44 页 共 45 页
(SELECT 职工号 FROM 职工 WHERE 工资>1800) AND 供应商号 IN (SELECT 供应商号 FROM 供应商 WHERE 地址=’上海’)
5、SELECT * FROM 订购单 WHERE 供应商号=’S9’ AND 职工号=’E8’ 6、DELETE FROM 订购单 WHERE 供应商号 IN
(SELECT 供应商号 FROM 供应商 WHERE 供应商名 =’ 李铭’)) 7、UPDATE 职工 SET 工资=工资*1.1 WHERE 工资<800 8、SELECT 地址,COUNT(*) FROM 供应商 GROUP BY 地址 9、SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN ( SELECT 职工号 FROM 订购单 WHERE 供应商号=’S3’ ) 10、SELECT MAX(工资) FROM 职工 WHERE 仓库号=’WH2’
第 45 页 共 45 页