数据库原理及应用_期末考试试题及答案

数据库系统原理及应用 2011年期末考试

///////////////////////////////////////////////////

一、选择题

• 第(1)至(3)题基于以下的叙述:有关系模式A (C ,T ,H ,R ,S ),基中各属性的含义是:

• C :课程T :教员H :上课时间R :教室S :学生

• 根据语义有如下函数依赖集:• F={C→T ,(H ,R )→C ,(H ,T )→R ,(H ,S )→R} • 1、关系模式A 的码是(D )

• A. C B. (H ,R ) C. (H ,T ) D.H ,S )

• 2、关系模式A 的规范化程度最高达到(B )

• A. 1NF B. 2NF C. 3NFD. BCNF

• 3、现将关系模式A 分解为两个关系模式A1(C ,T ),A2(H ,R ,S ),则其中A1的规范化程度达到(D )

• A. 1NF B. 2NF C. 3NF D. BCNF

• 4. 设有关系R (A ,B ,C )和S (C ,D )。与SQL 语句• select A,B,D from R,S where R.C=S.C • 等价的关系代数表达式是(B )

• A. σR.C=S.C(πA,B,D(R×S)) • B. πA,B,D(σR,C= S.C (R×S))

• C. σR.C=S.C((πA,B R)×(πDS)) • D. σR,C=S.C(πD((πA,BR) ×S)

• 5、设关系R 和关系S 的元数分别是3和4,关系T 是R 与S 的广义笛卡尔积,即:T=R×S ,则关系T 的元数是(C )

• A. 7 B. 9 C. 12 D. 16

• 6、数据库设计阶段分为(B )

• A. 物理设计阶段、逻辑设计阶段、编程和调试阶段

• B. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段

• C. 方案设计阶段、总体设计阶段、个别设计和编程阶段

• D. 模型设计阶段、程序设计阶段和运行阶段

• 7、设U 是所有属性的集合,X 、Y 、Z 都是U 的子集,且Z=U-X-Y。下面关于多值依赖的叙述中,不正确的是(C )

• A. 若X →→Y ,则X →→Z B. 若X →Y ,则X →→Y

• C. 若X →→Y ,且Y ′⊂Y ,则X →→Y ′ D. 若Z=Φ,则X →→Y

• 8、查询优化策略中,正确的策略是(D )

A .尽可能早地执行笛卡尔积操作 B .尽可能早地执行并操作

C .尽可能早地执行差操作 D .尽可能早地执行选择操作

• 9、语句delete from sc 表明(A )

A. 删除sc 中的全部记录 B. 删除基本表sc •

C. 删除基本表sc 中的列数据 D. 删除基本表sc 中的部分行

• 10、在DB 应用中,一般一条SQL 语句可产生或处理一组记录,而DB 主语言语句一般一次只能处理一条记录,其协调可通过哪种技术实现(B )

• A. 指针 B. 游标 C. 数组 D. 栈

11、五种基本关系代数运算是( A )

• A. ∪,-,×,π和σ B. ∪,-,⋈,π和σ

• C. ∪,∩,×,π和σ D. ∪,∩,⋈,π和σ

• 12、下列聚合函数中不忽略空值(null) 的是 ( C )

• A. SUM (列名) B. MAX (列名) • C. COUNT ( * ) D. AVG (列名)

• 13、在数据库设计中,将ER 图转换成关系数据模型的过程属于(B )

• A. 需求分析阶段 B. 逻辑设计阶段• C. 概念设计阶段D. 物理设计阶段

• 第(14)至(16)题是基于如下两个关系,其中雇员信息表关系EMP 的主键是雇员号,部门信息 表关系DEPT 的主键是部门号。

• 14、若执行下面列出的操作,哪个操作不能成功执行?(D )

• A. 从EMP 中删除行(„010‟,„王宏达‟,„01‟,1200)

• B. 在EMP 中插入行(„102‟,„赵敏‟,„01‟,1500)

• C. 将EMP 中雇员号=„056‟的工资改为1600元

• D. 将EMP 中雇员号=„101‟的部门号改为„05‟

• 15、若执行下面列出的操作,哪个操作不能成功执行?(C )

• A. 从DEPT 中删除部门号=„03‟的行 • B. 在DEPT 中插入行(„06‟,„计划部‟,„6号楼‟) • C. 将DEPT 中部门号=„02‟的部门号改为„10‟

• D. 将DEPT 中部门号=„01‟的地址改为„5号楼‟

• 16、在雇员信息表关系EMP 中,哪个属性是外键(foreign key)?(C )

A. 雇员号 B. 雇员名 C. 部门号 D. 工资

• 17、在SQL 语言的SELECT 语句中,实现投影操作的是哪个子句?(A )

• A. select B. from C. Where D. group by

• 18、设属性A 是关系R 的主属性,则属性A 不能取空值(NULL )。这是(A )

• A. 实体完整性规则 B. 参照完整性规则

• C. 用户定义完整性规则 D. 域完整性规则

/////////////////////////////////////////////////// 填空题

• 1、用树型结构表示实体类型及实体间联系的数据模型称为 层次模型。

• 2、关系数据库的关系演算语言是以为基础的DML 语言。

• 3、从数据库管理系统角度看,数据库系统通常采用三级模式结构,即数据库系统由式、外模式和 模式 组成。

• 4、RDMBS 查询处理可分为、查询检查、和 四个阶段。

• 5、概念结构设计是对现实世界的一种抽象,一般有分析 、聚集、概括共三种抽象机制。 • 6、物理优化就是要选择高效合理的操作算法或 以求得优化的查询计划。

• 7、将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计,概念结构设计通常有四类方法:自顶向上、自底向下、逐步扩张和混合策略。

• 8、在关系模式R中若不存在这样的码X ,属性组Y 及非属性组Z (Z 不是Y 的子集)使得X →Y ,Y →Z 成立,且YX ,则称R ∈3NF 。

简答题

• 1、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?

答:数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据 类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不

变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻

辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了, 由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也

不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三

级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理

独立性。

• 2、数据库的完整性概念与数据库的安全性概念有什么区

别和联系?

答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存 在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出( Garba : e In

Garba : e out )所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的 存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是

不合语义的数据。

• 3、试给出多值依赖、和4NF 的定义。

• 4、试给出函数依赖、BCNF 的定义。

• 5、简述嵌入式SQL 语句与主语言之间的通信。

首先用SQL 通信区(SQL Communication Area,简称SQLCA )向主语言传递SQL 语句的执行状态信息,使主语言能够据此控制程序流程;在程序运行中,主语言向SQL 语句提供参数,使用主变量(host variable )输入数据;同时,程序把SQL 语句查询数据库的结果交主语言进一步处理,其中使用主变量和游标(cursor )向主语言输出数据,从而实现了SQL 语言的过程化工作。

SQL 语句执行后,系统要反馈给应用程序若干信息,主要包括描述系统当前工作状态和运行环境的各种数据,这些信息将送到SQL 通信区SQLCA 中。应用程序从SQLCA 中取出这些状态信息,据此决定接下来执行的语句。

• 6、试述RDBMS 查询优化的一般步骤。

( l )把查询转换成

某种内部表示,通常用的内部表示是语法树。 ( 2 )把语法树转换成标准(优化)形式。即

利用优化算法,把原始的语法树转换成优化的形式。 ( 3 )选择低层的存取路径。 ( 4 )生 成查询计划,选择代价最小的。

• 7、试述RDBMS 查询优化的一般准则。

答:下面的优化策略一般能提高查询效率: ( l )选择运算应尽可能先做; ( 2 )把投影运 算和选择运算同时进行; ( 3 )把投影同其前或其后的双目运算结合起来执行; ( 4 )把

某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算; ( 5 )找出公共子表

达式; ( 6 )选取合适的连接算法。

• 8、什么是数据库的逻辑结构设计?试述其设计步骤。

答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E 一 R 图转换为与选

用的 DBMS 产品所支持的数据模型相符合的逻辑结构。设计步骤为 : ( l )将概念结构转换

为一般的关系、网状、层次模型; ( 2 )将转换来的关系、网状、层次模型向特定 DBMS 支持 下的数据模型转换; ( 3 )对数据模型进行优化。

• 9、数据字典的内容和作用是什么?

答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括: ( l )数据项;

( 2 )数据结构; ( 3 )数据流; ( 4 )数据存储; ( 5 )处理过程五个部分。其中数据项是 数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据

结构的定义来描述数据流和数据存储的逻辑内容。数据字典的作用:数据字典是关于数据库

中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过

程中不断修改、充实、完盖。

设计题

1、今有两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号)Person(pno, pname, page, ptitle, psal, dno) 部门 (部门号,名称,经理名,地址,电话号)Depart(dno, dname, dmanager, daddress, dtel) 请用SQL 的GRANT 和REVOKE 语句(加上视图机制) 完成以下授权定义或存取控制功能:

(1)用户yong 对两个表有INSERT 和DELETE 权力。

GRANT INSERT,DELETE ON Person , Depart

TO yong

(2)用户liu 对职工表有SELECT 权力,对工资字段具有更新权力。

GRANT SELECT,UPDATE(psal ) ON Person

TO liu

(3)用户zhang 具有修改这两个表的结构的权力。

GRANT ALTER TABLE ON Person , Depart

TO zhang;

(4)用户yang 具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资,并具有给其他用户授权的权力。

CREATE VIEW psal AS

SELECT Depart . dname ,MAX(psal ),MIN(psal ),AVG(psal )

FROM Person , Depart

WHERE Person .dno=Depart . dno

GROUP BY Person . dno

GRANT SELECT ON psal

TO yang with grant option ;

(5)撤销各用户yang 所授予的权力

REVOKE ALL PRIVILIGES ON Person, Depart FROM YANG;

• 2、假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门 号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号

为主码。用SQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条 件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。 答

CREATE TABLE DEPT

(Deptno NUMBER(2),

Deptname VARCHAR(10),

Manager VARCHAR(10),

PhoneNumber Char(12)

CONSTRAINT PK_SC RIMARY KEY(Deptno));

CREATE TABLE EMP

(Empno NUMBER(4),

Ename VARCHAR(10),

Age NUMBER(2),

CONSTRAINT C1 CHECK ( Aage

Job VARCHAR(9),

Sal NUMBER(7,2),

Deptno NUMBER(2),

CONSTRAINT FK_DEPTNO

FOREIGN KEY(Deptno)

REFFERENCES DEPT(Deptno));

• 3、设某商业集团关于商店销售商品的数据库中有三个基本表:

• 商店SHOP (S#,SNAME ,AREA ,MGR_NAME)其属性是商店编号,商店名称,区域名,经理姓名。

销售SALE (S#,G#, QUANTITY )其属性是商店编号,商品编号,销售数量。 商品GOODS (G#,GNAME ,PRICE )

• 其属性是商品编号,商品名称,单价。

• (1)试写出下列查询的关系代数表达式、元组表达式和关系逻辑规则:检索销售“冰箱”的商店的编号和商店名称。

解:关系代数表达式:π

S#,SNAME (σGNAME='冰箱' (SHOP ⋈SALE ⋈GOODS )) 元组表达式:{ t | (∃u) (∃v) (∃w) (SHOP (u)∧SALE (v)∧GOODS (w)

∧u[1]=v[1]∧v[2]=w[1]∧w[2]= ' 冰箱' ∧t[1]=u[1]∧

t[2]=u[2])}

关系逻辑规则:W(u1,u 2) ←SHOP(u1,u 2,u 3,u 4) ∧SALE(u1,v 2,v 3) ∧GOODS(v2, '冰箱',w 3)

• (2)试写出上面第(1)问的SELECT 语句表达形式。

解:SELECT 语句如下:

SELECT A.S#,SNAME FROM SHOP A,SALE B,GOODS C

WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱' ;

• (3)试写出下列操作的SQL 语句:从SALE 表中,把“开开商店”中销售单价高于1000元的商品的销售元组全部删除。

解:DELETE FROM SALE

WHERE S# IN(SELECT S# FROM SHOP WHERE SNAME='开开商店' ) AND G# IN(SELECT G#

FROM GOODS

WHERE PRICE>1000);

• (4)写一个断言,要求区域名为“EAST”的商店里销售商品的单价不能低于100元。 解:CREATE ASSERTION ASSE8 CHECK

(100

AND AREA='EAST' AND PRICE

• (5)试写出下列操作的SQL 语句:

• 统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。

• 要求显示(G#,GNAME ,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、商品名称、销售数量、销售价值。

解:SELECT C.G#,GNAME ,SUM (QUANTITY )AS SUM_QUANTITY,

PRICE*SUM(QUANTITY )AS SUM_VALUE

FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST' GROUP BY C.G#,GNAME ; (注:SELECT 子句中的属性C.G#,GNAME 应在分组子句中出现)

4、今有一个层次数据库实例,试用子女一兄弟链接法和层次序列链接法画出它的存储结构示意图。

• 5、请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者 号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社。对 每本被借出的书存有读者号、借出日期和应还日期。要求:给出E 一R 图,再将其转换为关系模型。

答:

关系模型为:读者(读者号,姓名,地址,性别书(书号,书名,作者,出版社)借书 (读者号,书号,借出日期,年龄,单位)应还日期)

• 6、设有一个SPJ 数据库,包括S ,P ,J ,SPJ 四个关系模式:供应商(供应商代码,供应商姓名,供应商状态,供应商所在城市)

S(SNO,SNAME,STATUS,CITY)

•零件(零件代码,零件名,颜色,重量)

•P(PNO,PNAME ,COLOR 。WEIGHT)

• 工程项目(工程项目代码,工程项目名,工程项目所在城市)

• J(JNO,JNAME,CITY)

• 供应情况(供应商代码,零件代码,工程项目代码,供应数量)

• SPJ(SNO,PNO,JNO,QTY)

• 试用关系代数和SQL 语言完成下列查询。

• (1)求供应工程J1零件的供应商号码SNO :

SELECT DIST SNO FROM SPJ WHERE JNO='J1'

• (2)求供应工程J1零件P1的供应商号码SNO :

SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1';

• (3)求供应工程J1零件为红色的供应商号码SNO :

SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ PNO=P PNO AND COLOR='红' ; • (4)求没有使用天津供应商生产的红色零件的工程号JNO :

SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM

SPJ,P,S WHERE S.CITY=' 天津 ' AND COLOR=' 红 ' AND S.SNO=SPJ.SNO AND

P.PNO=SPJ.PNO);

• (5)求至少用了供应商S1所供应的全部零件的工程号JNO :

由于 VFP 不允许子查询嵌套太深,将查询分为两步

A 、查询S1 供应商供应的零件号

SELECT DIST PNO FROM SPJ WHERE SNO='S1'结果是(P1,P2);

B 、查询哪一个工程既使用 P1 零件又使用 P2 零件。

SELECT JNO FROM SPJ WHERE PNO='P1'

AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2');

• 7、设有一个SPJ 数据库,包括S ,P ,J ,SPJ 四个关系模式:

• 供应商(供应商代码,供应商姓名,供应商状态,供应商所在城市)

• S(SNO,SNAME,STATUS,CITY)

• 零件(零件代码,零件名,颜色,重量)

• P(PNO,PNAME ,COLOR 。WEIGHT)

• 工程项目(工程项目代码,工程项目名,工程项目所在城市)

• J(JNO,JNAME,CITY)

• 供应情况(供应商代码,零件代码,工程项目代码,供应数量)

• SPJ(SNO,PNO,JNO,QTY)

• 试用SQL 语言完成以下各项操作:

• (1)找出所有供应商的姓名和所在城市。

SELECT SNAME,CITY FROM S

• (2)找出所有零件的名称、颜色、重量。

SELECT PNAME,COLOR,WEIGHT FROM P

• (3)找出使用供应商S1所供应零件的工程号码。

SELECT DIST JNO FROM SPJ WHERE SNO='S1'

• (4)找出工程项目J2使用的各种零件的名称及其数量。

SELECT PNAME,QTY FROM SPJ,P

WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'

• (5)找出上海厂商供应的所有零件号码。

SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'

• (6)找出使用上海产的零件的工程名称。

SELECT JNAME FROM SPJ,S,J

WHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO

• (8)把全部红色零件的颜色改成蓝色。

UPDATE P SET COLOR='蓝' WHERE COLOR='红'

• (9)由S5供给J4的零件P6改为由S3供应。

UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'

• (10)请将(S2,J6,P4,200) 插入供应情况关系。

INSERT INTO SPJ VALUES(‘S2’,‘J6’,‘P4’,200)

综合题

• 1、假设某商业集团数据库中有一关系模式R 如下:

• R (商店编号,商品编号,数量,部门编号,负责人)

• 如果规定:

• (1) 每个商店的每种商品只在一个部门销售;

• (2) 每个商店的每个部门只有一个负责人;

• (3) 每个商店的每种商品只有一个库存数量。

• 试回答下列问题:

• (1) 根据上述规定,写出关系模式R 的基本函数依赖;

(商店编号,商品编号)→ 部门编号

(商店编号,商品编号)→ 数量

(商店编号,部门编号)→ 负责人

• (2) 找出关系模式R 的候选码;

候选码(商店编号,商品编号)

• (3) 试问关系模式R 最高已经达到第几范式?为什么?

1NF ,存在部分函数和传递函数依赖。

• (4) 如果R 不属于3NF ,请将R 分解成3NF 模式集。

R1(商店编号,商品编号,商品库存数量,部门编号);R2(商店编号,负责人) • 2、建立一个关于系、学生、班级、学会等诸信息的关系数据库。

• 学生:学号、姓名、出生年月、系名、班号、宿舍区。

• 班级:班号、专业名、系名、人数、入校年份。

• 系:系名、系号、系办公地点、人数。

• 学会:学会名、成立年份、办公地点、人数。

• 语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。

• 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各

关系模式的候选码、外部码,有没有全码存在?

解:(1)关系模式如下:

学生:S(Sno,Sname ,Sbirth ,Dept ,Class ,Rno)

班级:C(Class,Pname ,Dept ,Cnum ,Cyear)

系:D(Dept,Dno ,Office ,Dnum)

学会:M(Mname,Myear ,Maddr ,Mnum)

(2)每个关系模式的最小函数依赖集如下:

A 、学生S (Sno,Sname ,Sbirth ,Dept ,Class ,Rno) 的最小函数依赖集如

下:Sno Sname ,Sno Sbirth ,Sno Class ,Class Dept ,DEPT Rno

传递依赖如下:

由于Sno Dept ,而Dept Sno ,Dept Rno (宿舍区)

所以Sno 与Rno 之间存在着传递函数依赖。

由于Class Dept ,Dept Class ,Dept Rno

所以Class 与Rno 之间存在着传递函数依赖。

由于Sno Class ,Class Sno ,Class Dept

所以Sno 与Dept 之间存在着传递函数依赖。

B 、班级C(Class,Pname ,Dept ,Cnum ,Cyear) 的最小函数依赖集如下:

Class Pname ,Class Cnum ,Class Cyear ,Pname Dept.

由于Class Pname ,Pname Class ,Pname Dept

所以C1ass 与Dept 之间存在着传递函数依赖。

C 、系D(Dept,Dno ,Office ,Dnum) 的最小函数依赖集如下:

Dept Dno ,Dno Dept ,Dno Office ,Dno Dnum

根据上述函数依赖可知,Dept 与Office ,Dept 与Dnum 之间不存在传递依赖。

D 、学会M(Mname,Myear ,Maddr ,Mnum) 的最小函数依赖集如下:

Mname Myear ,Mname Maddr ,Mname Mnum

该模式不存在传递依赖。

(3)各关系模式的候选码、外部码,全码如下:

A 、学生S 候选码:Sno ;外部码:Dept 、Class ;无全码

B 、班级C 候选码:Class ;外部码:Dept ;无全码

C 、系D 候选码:Dept 或Dno ;无外部码;无全码

D 、学会M 候选码:Mname ;无外部码;无全码

• 3、现有一个未规范化的表,包含了项目、部件和部件向项目已提供的数量信息。请采用规范化方法,将该表规范化到3NF 要求。

江西农业大学----数据库系统概论

答:原表存在的函数依赖关系为:

部件号→部件名,部件号→现有数量,

项目代号→项目内容,项目代号→项目负责人,

(项目代号,部件号)→已提供数量。

关系键为(项目代号,部件号)。(2分)

存在部分函数依赖:

(项目代号,部件号)p →部件名,(项目代号,部件号)p →现有数量,

(项目代号,部件号)p →项目内容,(项目代号,部件号)p →项目负责人。(1分)

消除部分函数依赖,分解得到以下的三个关系模式:

部件(部件号,部件名,现有数量)

项目(项目代号,项目内容,项目负责人)

提供(项目代号,部件号,已提供数量)

该关系达到2NF 。由于不存在传递函数依赖,也达到3NF 。(3分)

• 4、涉及到学生、教师和课程的关系模式

STC(SNo,SN ,SA ,TN ,CN ,G) ,其中6个属性分别为学生的学号、姓名、年龄、教师的姓名、课程名以及学生的成绩。假设学生有重名,课程名也可能有重名。又假设每个教师只教一门课,但一门课可有几个教师开设。当某个学生选定某门课后,其上课教师就固定了。 • (1)写出键码和函数依赖;

• (2)分解关系模式使之属于BC 范式。

答:

1) 键码:{SNo,CN}和{SNo,TN}

函数依赖:SNo SN,SA (BC 范式违例) TN CN (BC 范式违例)

SNo,CN TN,G

a) SNo,CN SN,SA

SNo,TN G

b) SNo,TN CN

c) SNo,TN SN,SA (a,b,c为部分依赖,可不写)

2) STC1(SNo,SN,SA)

STC2(TN,CN)

STC3(SNo,TN,G)

Create by www.easyulife.com

数据库系统原理及应用 2011年期末考试

///////////////////////////////////////////////////

一、选择题

• 第(1)至(3)题基于以下的叙述:有关系模式A (C ,T ,H ,R ,S ),基中各属性的含义是:

• C :课程T :教员H :上课时间R :教室S :学生

• 根据语义有如下函数依赖集:• F={C→T ,(H ,R )→C ,(H ,T )→R ,(H ,S )→R} • 1、关系模式A 的码是(D )

• A. C B. (H ,R ) C. (H ,T ) D.H ,S )

• 2、关系模式A 的规范化程度最高达到(B )

• A. 1NF B. 2NF C. 3NFD. BCNF

• 3、现将关系模式A 分解为两个关系模式A1(C ,T ),A2(H ,R ,S ),则其中A1的规范化程度达到(D )

• A. 1NF B. 2NF C. 3NF D. BCNF

• 4. 设有关系R (A ,B ,C )和S (C ,D )。与SQL 语句• select A,B,D from R,S where R.C=S.C • 等价的关系代数表达式是(B )

• A. σR.C=S.C(πA,B,D(R×S)) • B. πA,B,D(σR,C= S.C (R×S))

• C. σR.C=S.C((πA,B R)×(πDS)) • D. σR,C=S.C(πD((πA,BR) ×S)

• 5、设关系R 和关系S 的元数分别是3和4,关系T 是R 与S 的广义笛卡尔积,即:T=R×S ,则关系T 的元数是(C )

• A. 7 B. 9 C. 12 D. 16

• 6、数据库设计阶段分为(B )

• A. 物理设计阶段、逻辑设计阶段、编程和调试阶段

• B. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段

• C. 方案设计阶段、总体设计阶段、个别设计和编程阶段

• D. 模型设计阶段、程序设计阶段和运行阶段

• 7、设U 是所有属性的集合,X 、Y 、Z 都是U 的子集,且Z=U-X-Y。下面关于多值依赖的叙述中,不正确的是(C )

• A. 若X →→Y ,则X →→Z B. 若X →Y ,则X →→Y

• C. 若X →→Y ,且Y ′⊂Y ,则X →→Y ′ D. 若Z=Φ,则X →→Y

• 8、查询优化策略中,正确的策略是(D )

A .尽可能早地执行笛卡尔积操作 B .尽可能早地执行并操作

C .尽可能早地执行差操作 D .尽可能早地执行选择操作

• 9、语句delete from sc 表明(A )

A. 删除sc 中的全部记录 B. 删除基本表sc •

C. 删除基本表sc 中的列数据 D. 删除基本表sc 中的部分行

• 10、在DB 应用中,一般一条SQL 语句可产生或处理一组记录,而DB 主语言语句一般一次只能处理一条记录,其协调可通过哪种技术实现(B )

• A. 指针 B. 游标 C. 数组 D. 栈

11、五种基本关系代数运算是( A )

• A. ∪,-,×,π和σ B. ∪,-,⋈,π和σ

• C. ∪,∩,×,π和σ D. ∪,∩,⋈,π和σ

• 12、下列聚合函数中不忽略空值(null) 的是 ( C )

• A. SUM (列名) B. MAX (列名) • C. COUNT ( * ) D. AVG (列名)

• 13、在数据库设计中,将ER 图转换成关系数据模型的过程属于(B )

• A. 需求分析阶段 B. 逻辑设计阶段• C. 概念设计阶段D. 物理设计阶段

• 第(14)至(16)题是基于如下两个关系,其中雇员信息表关系EMP 的主键是雇员号,部门信息 表关系DEPT 的主键是部门号。

• 14、若执行下面列出的操作,哪个操作不能成功执行?(D )

• A. 从EMP 中删除行(„010‟,„王宏达‟,„01‟,1200)

• B. 在EMP 中插入行(„102‟,„赵敏‟,„01‟,1500)

• C. 将EMP 中雇员号=„056‟的工资改为1600元

• D. 将EMP 中雇员号=„101‟的部门号改为„05‟

• 15、若执行下面列出的操作,哪个操作不能成功执行?(C )

• A. 从DEPT 中删除部门号=„03‟的行 • B. 在DEPT 中插入行(„06‟,„计划部‟,„6号楼‟) • C. 将DEPT 中部门号=„02‟的部门号改为„10‟

• D. 将DEPT 中部门号=„01‟的地址改为„5号楼‟

• 16、在雇员信息表关系EMP 中,哪个属性是外键(foreign key)?(C )

A. 雇员号 B. 雇员名 C. 部门号 D. 工资

• 17、在SQL 语言的SELECT 语句中,实现投影操作的是哪个子句?(A )

• A. select B. from C. Where D. group by

• 18、设属性A 是关系R 的主属性,则属性A 不能取空值(NULL )。这是(A )

• A. 实体完整性规则 B. 参照完整性规则

• C. 用户定义完整性规则 D. 域完整性规则

/////////////////////////////////////////////////// 填空题

• 1、用树型结构表示实体类型及实体间联系的数据模型称为 层次模型。

• 2、关系数据库的关系演算语言是以为基础的DML 语言。

• 3、从数据库管理系统角度看,数据库系统通常采用三级模式结构,即数据库系统由式、外模式和 模式 组成。

• 4、RDMBS 查询处理可分为、查询检查、和 四个阶段。

• 5、概念结构设计是对现实世界的一种抽象,一般有分析 、聚集、概括共三种抽象机制。 • 6、物理优化就是要选择高效合理的操作算法或 以求得优化的查询计划。

• 7、将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计,概念结构设计通常有四类方法:自顶向上、自底向下、逐步扩张和混合策略。

• 8、在关系模式R中若不存在这样的码X ,属性组Y 及非属性组Z (Z 不是Y 的子集)使得X →Y ,Y →Z 成立,且YX ,则称R ∈3NF 。

简答题

• 1、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?

答:数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据 类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不

变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻

辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了, 由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也

不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三

级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理

独立性。

• 2、数据库的完整性概念与数据库的安全性概念有什么区

别和联系?

答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存 在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出( Garba : e In

Garba : e out )所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的 存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是

不合语义的数据。

• 3、试给出多值依赖、和4NF 的定义。

• 4、试给出函数依赖、BCNF 的定义。

• 5、简述嵌入式SQL 语句与主语言之间的通信。

首先用SQL 通信区(SQL Communication Area,简称SQLCA )向主语言传递SQL 语句的执行状态信息,使主语言能够据此控制程序流程;在程序运行中,主语言向SQL 语句提供参数,使用主变量(host variable )输入数据;同时,程序把SQL 语句查询数据库的结果交主语言进一步处理,其中使用主变量和游标(cursor )向主语言输出数据,从而实现了SQL 语言的过程化工作。

SQL 语句执行后,系统要反馈给应用程序若干信息,主要包括描述系统当前工作状态和运行环境的各种数据,这些信息将送到SQL 通信区SQLCA 中。应用程序从SQLCA 中取出这些状态信息,据此决定接下来执行的语句。

• 6、试述RDBMS 查询优化的一般步骤。

( l )把查询转换成

某种内部表示,通常用的内部表示是语法树。 ( 2 )把语法树转换成标准(优化)形式。即

利用优化算法,把原始的语法树转换成优化的形式。 ( 3 )选择低层的存取路径。 ( 4 )生 成查询计划,选择代价最小的。

• 7、试述RDBMS 查询优化的一般准则。

答:下面的优化策略一般能提高查询效率: ( l )选择运算应尽可能先做; ( 2 )把投影运 算和选择运算同时进行; ( 3 )把投影同其前或其后的双目运算结合起来执行; ( 4 )把

某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算; ( 5 )找出公共子表

达式; ( 6 )选取合适的连接算法。

• 8、什么是数据库的逻辑结构设计?试述其设计步骤。

答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E 一 R 图转换为与选

用的 DBMS 产品所支持的数据模型相符合的逻辑结构。设计步骤为 : ( l )将概念结构转换

为一般的关系、网状、层次模型; ( 2 )将转换来的关系、网状、层次模型向特定 DBMS 支持 下的数据模型转换; ( 3 )对数据模型进行优化。

• 9、数据字典的内容和作用是什么?

答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括: ( l )数据项;

( 2 )数据结构; ( 3 )数据流; ( 4 )数据存储; ( 5 )处理过程五个部分。其中数据项是 数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据

结构的定义来描述数据流和数据存储的逻辑内容。数据字典的作用:数据字典是关于数据库

中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过

程中不断修改、充实、完盖。

设计题

1、今有两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号)Person(pno, pname, page, ptitle, psal, dno) 部门 (部门号,名称,经理名,地址,电话号)Depart(dno, dname, dmanager, daddress, dtel) 请用SQL 的GRANT 和REVOKE 语句(加上视图机制) 完成以下授权定义或存取控制功能:

(1)用户yong 对两个表有INSERT 和DELETE 权力。

GRANT INSERT,DELETE ON Person , Depart

TO yong

(2)用户liu 对职工表有SELECT 权力,对工资字段具有更新权力。

GRANT SELECT,UPDATE(psal ) ON Person

TO liu

(3)用户zhang 具有修改这两个表的结构的权力。

GRANT ALTER TABLE ON Person , Depart

TO zhang;

(4)用户yang 具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资,并具有给其他用户授权的权力。

CREATE VIEW psal AS

SELECT Depart . dname ,MAX(psal ),MIN(psal ),AVG(psal )

FROM Person , Depart

WHERE Person .dno=Depart . dno

GROUP BY Person . dno

GRANT SELECT ON psal

TO yang with grant option ;

(5)撤销各用户yang 所授予的权力

REVOKE ALL PRIVILIGES ON Person, Depart FROM YANG;

• 2、假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门 号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号

为主码。用SQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条 件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。 答

CREATE TABLE DEPT

(Deptno NUMBER(2),

Deptname VARCHAR(10),

Manager VARCHAR(10),

PhoneNumber Char(12)

CONSTRAINT PK_SC RIMARY KEY(Deptno));

CREATE TABLE EMP

(Empno NUMBER(4),

Ename VARCHAR(10),

Age NUMBER(2),

CONSTRAINT C1 CHECK ( Aage

Job VARCHAR(9),

Sal NUMBER(7,2),

Deptno NUMBER(2),

CONSTRAINT FK_DEPTNO

FOREIGN KEY(Deptno)

REFFERENCES DEPT(Deptno));

• 3、设某商业集团关于商店销售商品的数据库中有三个基本表:

• 商店SHOP (S#,SNAME ,AREA ,MGR_NAME)其属性是商店编号,商店名称,区域名,经理姓名。

销售SALE (S#,G#, QUANTITY )其属性是商店编号,商品编号,销售数量。 商品GOODS (G#,GNAME ,PRICE )

• 其属性是商品编号,商品名称,单价。

• (1)试写出下列查询的关系代数表达式、元组表达式和关系逻辑规则:检索销售“冰箱”的商店的编号和商店名称。

解:关系代数表达式:π

S#,SNAME (σGNAME='冰箱' (SHOP ⋈SALE ⋈GOODS )) 元组表达式:{ t | (∃u) (∃v) (∃w) (SHOP (u)∧SALE (v)∧GOODS (w)

∧u[1]=v[1]∧v[2]=w[1]∧w[2]= ' 冰箱' ∧t[1]=u[1]∧

t[2]=u[2])}

关系逻辑规则:W(u1,u 2) ←SHOP(u1,u 2,u 3,u 4) ∧SALE(u1,v 2,v 3) ∧GOODS(v2, '冰箱',w 3)

• (2)试写出上面第(1)问的SELECT 语句表达形式。

解:SELECT 语句如下:

SELECT A.S#,SNAME FROM SHOP A,SALE B,GOODS C

WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱' ;

• (3)试写出下列操作的SQL 语句:从SALE 表中,把“开开商店”中销售单价高于1000元的商品的销售元组全部删除。

解:DELETE FROM SALE

WHERE S# IN(SELECT S# FROM SHOP WHERE SNAME='开开商店' ) AND G# IN(SELECT G#

FROM GOODS

WHERE PRICE>1000);

• (4)写一个断言,要求区域名为“EAST”的商店里销售商品的单价不能低于100元。 解:CREATE ASSERTION ASSE8 CHECK

(100

AND AREA='EAST' AND PRICE

• (5)试写出下列操作的SQL 语句:

• 统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。

• 要求显示(G#,GNAME ,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、商品名称、销售数量、销售价值。

解:SELECT C.G#,GNAME ,SUM (QUANTITY )AS SUM_QUANTITY,

PRICE*SUM(QUANTITY )AS SUM_VALUE

FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST' GROUP BY C.G#,GNAME ; (注:SELECT 子句中的属性C.G#,GNAME 应在分组子句中出现)

4、今有一个层次数据库实例,试用子女一兄弟链接法和层次序列链接法画出它的存储结构示意图。

• 5、请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者 号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社。对 每本被借出的书存有读者号、借出日期和应还日期。要求:给出E 一R 图,再将其转换为关系模型。

答:

关系模型为:读者(读者号,姓名,地址,性别书(书号,书名,作者,出版社)借书 (读者号,书号,借出日期,年龄,单位)应还日期)

• 6、设有一个SPJ 数据库,包括S ,P ,J ,SPJ 四个关系模式:供应商(供应商代码,供应商姓名,供应商状态,供应商所在城市)

S(SNO,SNAME,STATUS,CITY)

•零件(零件代码,零件名,颜色,重量)

•P(PNO,PNAME ,COLOR 。WEIGHT)

• 工程项目(工程项目代码,工程项目名,工程项目所在城市)

• J(JNO,JNAME,CITY)

• 供应情况(供应商代码,零件代码,工程项目代码,供应数量)

• SPJ(SNO,PNO,JNO,QTY)

• 试用关系代数和SQL 语言完成下列查询。

• (1)求供应工程J1零件的供应商号码SNO :

SELECT DIST SNO FROM SPJ WHERE JNO='J1'

• (2)求供应工程J1零件P1的供应商号码SNO :

SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1';

• (3)求供应工程J1零件为红色的供应商号码SNO :

SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ PNO=P PNO AND COLOR='红' ; • (4)求没有使用天津供应商生产的红色零件的工程号JNO :

SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM

SPJ,P,S WHERE S.CITY=' 天津 ' AND COLOR=' 红 ' AND S.SNO=SPJ.SNO AND

P.PNO=SPJ.PNO);

• (5)求至少用了供应商S1所供应的全部零件的工程号JNO :

由于 VFP 不允许子查询嵌套太深,将查询分为两步

A 、查询S1 供应商供应的零件号

SELECT DIST PNO FROM SPJ WHERE SNO='S1'结果是(P1,P2);

B 、查询哪一个工程既使用 P1 零件又使用 P2 零件。

SELECT JNO FROM SPJ WHERE PNO='P1'

AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2');

• 7、设有一个SPJ 数据库,包括S ,P ,J ,SPJ 四个关系模式:

• 供应商(供应商代码,供应商姓名,供应商状态,供应商所在城市)

• S(SNO,SNAME,STATUS,CITY)

• 零件(零件代码,零件名,颜色,重量)

• P(PNO,PNAME ,COLOR 。WEIGHT)

• 工程项目(工程项目代码,工程项目名,工程项目所在城市)

• J(JNO,JNAME,CITY)

• 供应情况(供应商代码,零件代码,工程项目代码,供应数量)

• SPJ(SNO,PNO,JNO,QTY)

• 试用SQL 语言完成以下各项操作:

• (1)找出所有供应商的姓名和所在城市。

SELECT SNAME,CITY FROM S

• (2)找出所有零件的名称、颜色、重量。

SELECT PNAME,COLOR,WEIGHT FROM P

• (3)找出使用供应商S1所供应零件的工程号码。

SELECT DIST JNO FROM SPJ WHERE SNO='S1'

• (4)找出工程项目J2使用的各种零件的名称及其数量。

SELECT PNAME,QTY FROM SPJ,P

WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'

• (5)找出上海厂商供应的所有零件号码。

SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'

• (6)找出使用上海产的零件的工程名称。

SELECT JNAME FROM SPJ,S,J

WHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO

• (8)把全部红色零件的颜色改成蓝色。

UPDATE P SET COLOR='蓝' WHERE COLOR='红'

• (9)由S5供给J4的零件P6改为由S3供应。

UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'

• (10)请将(S2,J6,P4,200) 插入供应情况关系。

INSERT INTO SPJ VALUES(‘S2’,‘J6’,‘P4’,200)

综合题

• 1、假设某商业集团数据库中有一关系模式R 如下:

• R (商店编号,商品编号,数量,部门编号,负责人)

• 如果规定:

• (1) 每个商店的每种商品只在一个部门销售;

• (2) 每个商店的每个部门只有一个负责人;

• (3) 每个商店的每种商品只有一个库存数量。

• 试回答下列问题:

• (1) 根据上述规定,写出关系模式R 的基本函数依赖;

(商店编号,商品编号)→ 部门编号

(商店编号,商品编号)→ 数量

(商店编号,部门编号)→ 负责人

• (2) 找出关系模式R 的候选码;

候选码(商店编号,商品编号)

• (3) 试问关系模式R 最高已经达到第几范式?为什么?

1NF ,存在部分函数和传递函数依赖。

• (4) 如果R 不属于3NF ,请将R 分解成3NF 模式集。

R1(商店编号,商品编号,商品库存数量,部门编号);R2(商店编号,负责人) • 2、建立一个关于系、学生、班级、学会等诸信息的关系数据库。

• 学生:学号、姓名、出生年月、系名、班号、宿舍区。

• 班级:班号、专业名、系名、人数、入校年份。

• 系:系名、系号、系办公地点、人数。

• 学会:学会名、成立年份、办公地点、人数。

• 语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。

• 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各

关系模式的候选码、外部码,有没有全码存在?

解:(1)关系模式如下:

学生:S(Sno,Sname ,Sbirth ,Dept ,Class ,Rno)

班级:C(Class,Pname ,Dept ,Cnum ,Cyear)

系:D(Dept,Dno ,Office ,Dnum)

学会:M(Mname,Myear ,Maddr ,Mnum)

(2)每个关系模式的最小函数依赖集如下:

A 、学生S (Sno,Sname ,Sbirth ,Dept ,Class ,Rno) 的最小函数依赖集如

下:Sno Sname ,Sno Sbirth ,Sno Class ,Class Dept ,DEPT Rno

传递依赖如下:

由于Sno Dept ,而Dept Sno ,Dept Rno (宿舍区)

所以Sno 与Rno 之间存在着传递函数依赖。

由于Class Dept ,Dept Class ,Dept Rno

所以Class 与Rno 之间存在着传递函数依赖。

由于Sno Class ,Class Sno ,Class Dept

所以Sno 与Dept 之间存在着传递函数依赖。

B 、班级C(Class,Pname ,Dept ,Cnum ,Cyear) 的最小函数依赖集如下:

Class Pname ,Class Cnum ,Class Cyear ,Pname Dept.

由于Class Pname ,Pname Class ,Pname Dept

所以C1ass 与Dept 之间存在着传递函数依赖。

C 、系D(Dept,Dno ,Office ,Dnum) 的最小函数依赖集如下:

Dept Dno ,Dno Dept ,Dno Office ,Dno Dnum

根据上述函数依赖可知,Dept 与Office ,Dept 与Dnum 之间不存在传递依赖。

D 、学会M(Mname,Myear ,Maddr ,Mnum) 的最小函数依赖集如下:

Mname Myear ,Mname Maddr ,Mname Mnum

该模式不存在传递依赖。

(3)各关系模式的候选码、外部码,全码如下:

A 、学生S 候选码:Sno ;外部码:Dept 、Class ;无全码

B 、班级C 候选码:Class ;外部码:Dept ;无全码

C 、系D 候选码:Dept 或Dno ;无外部码;无全码

D 、学会M 候选码:Mname ;无外部码;无全码

• 3、现有一个未规范化的表,包含了项目、部件和部件向项目已提供的数量信息。请采用规范化方法,将该表规范化到3NF 要求。

江西农业大学----数据库系统概论

答:原表存在的函数依赖关系为:

部件号→部件名,部件号→现有数量,

项目代号→项目内容,项目代号→项目负责人,

(项目代号,部件号)→已提供数量。

关系键为(项目代号,部件号)。(2分)

存在部分函数依赖:

(项目代号,部件号)p →部件名,(项目代号,部件号)p →现有数量,

(项目代号,部件号)p →项目内容,(项目代号,部件号)p →项目负责人。(1分)

消除部分函数依赖,分解得到以下的三个关系模式:

部件(部件号,部件名,现有数量)

项目(项目代号,项目内容,项目负责人)

提供(项目代号,部件号,已提供数量)

该关系达到2NF 。由于不存在传递函数依赖,也达到3NF 。(3分)

• 4、涉及到学生、教师和课程的关系模式

STC(SNo,SN ,SA ,TN ,CN ,G) ,其中6个属性分别为学生的学号、姓名、年龄、教师的姓名、课程名以及学生的成绩。假设学生有重名,课程名也可能有重名。又假设每个教师只教一门课,但一门课可有几个教师开设。当某个学生选定某门课后,其上课教师就固定了。 • (1)写出键码和函数依赖;

• (2)分解关系模式使之属于BC 范式。

答:

1) 键码:{SNo,CN}和{SNo,TN}

函数依赖:SNo SN,SA (BC 范式违例) TN CN (BC 范式违例)

SNo,CN TN,G

a) SNo,CN SN,SA

SNo,TN G

b) SNo,TN CN

c) SNo,TN SN,SA (a,b,c为部分依赖,可不写)

2) STC1(SNo,SN,SA)

STC2(TN,CN)

STC3(SNo,TN,G)

Create by www.easyulife.com


相关文章

  • 郑州大学信息计量学期末考试整理答案
  • 文献计量学: 1).洛特卡经验规律: a .是揭示文献著者与数量关系的基本定律. b .数字表达式为:f(x)=c/x的平方,x 表示科学工作者发表的论文数量,f(x)表示发表x 篇论文的著者出现的频率.上式也称倒数平方定律.发表一篇论文的 ...查看


  • 计算机网络_期末考试题与答案
  • 一.选择题(每个1分,共20分) 1.在同一个信道上的同一时刻,能够进行双向数据传送的通信方式是( ). A .单工 B .半双工 C .全双工 D .上述三种均不是 2.交换机和网桥属于OSI 模型的( ). A .数据链路层 B .传输 ...查看


  • 单片机期末考试试卷及答案
  • 一. 填空题 1.设X=5AH,Y=36H,则X与Y"或"运算为7EH,X与Y的"异或"运算为6CH. 2.若机器的字长为8位,X=17,Y=35,则X+Y=110100,X-Y=11101110(要 ...查看


  • [教育学原理]期末考试试卷A及答案
  • ‥ ‥‥ ‥‥‥ 题 ‥‥‥ ‥‥ 答 证号‥准考‥‥ ‥‥ 准 ‥ ‥‥‥‥ 不 ‥‥ ‥‥‥ 内 姓名‥‥ ‥‥ 线 ‥‥‥ ‥‥ 封 ‥ ‥‥ 班级 密‥‥‥‥‥‥‥ ‥‥期末考试试卷 学年学期: A 卷 课程名称: <教育学原 ...查看


  • 会计从业资格考试电算化模拟试题及答案
  • 会计从业资格考试电算化模拟试题及答案 第一部分 实务操作题 (满分:100分时限:60分钟)首先,建立账套,账套信息如下: 账套编码:01:账套名称:广州顺达科技公司:采用默认账套路径:启用会计期:2008年1月:会计期间设置:1月1日至1 ...查看


  • 大连海事大学软件工程期末试题库
  • 一. 填空题 1.适配器模式,分为类的适配器和对象的适配器两种实现.其中类的适配器采用的是( )关系,而对象适配器采用的是()关系. 2.创立型模式的根本意图是要把( )和( )的责任进行分离,从而降低系统的( ). 3.MVC模型的基本工 ...查看


  • 六年级上科学期末教学质量检测试题-冲刺满分-清港镇中心小学[小学学科网]
  • xiaoxue.xuekeedu.com 2013学年第一学期期末教学质量检测 六年级 科学试卷 (时间:40分钟) 一.填空题: 1.由 和 组成的装置叫电磁铁. 2.把 _ _和 组合在一起使用就构成了滑轮组,使用滑轮组既能 , 又能 ...查看


  • [现代城市生态与环境学]2016期末考试答案
  •  <现代城市生态与环境学>期末考试(20) 姓名:xxx 班级:2班 成绩: 92.0分 一. 单选题(题数:50,共 50.0 分) 1 现代城市生态设计原理不包括().(1.0分) 0.0 分  A. 遵循合理的生态位 ...查看


  • 期末试题4及答案_计量经济学
  • 计量经济学 一.判断题(每小题2分,共10分) 1. 间接最小二乘法适用于过度识别方程.( ) 2. 假设模型存在一阶自相关,其他条件都满足,则仍用OLS法估计参数,得到的估计量仍是无偏的,不再是有效的,显著性检验失效,预测失效.() 3. ...查看


热门内容