华东师大数据库系统概论作业Word文档下载推荐.docx
《华东师大数据库系统概论作业Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《华东师大数据库系统概论作业Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
外模式通常是模式的子集。
一个数据库可以有多个外模式。
(1分)内模式也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
第二章 关系数据库
设有如下图所示的关系R,W和D:
计算下列代数表达式的结果:
(1)R1=πY,T(R)
(2)R2=бp>
5^T=’e’(R)
(3)R3=(R
W)
(4)R4=R÷
D
2、设有如下图所示的关系S,SC,C:
关系S
S#
SNAME
AGE
SEX
1
李强
23
男
2
刘丽
22
女
3
张友
关系C
C#
CNAME
TEACHER
K1
C语言
王华
K5
数据库原理
程军
K8
编译原理
关系SC
S#
GRADE
83
85
92
90
84
80
请用关系代数表达式表示下列查询语句:
(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME).
(2)检索“李强”同学不学课程的课程号。
(3)检索既选修了K1课程,也选修了K5课程的学生学号(S#).
(4)检索选修了课程表中的全部课程的学生姓名(SNAME)。
(5)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。
3.在关系中,“元数"
(arity)是指(列数)
(A).行数(B).元组个数(C).关系个数(D).属性个数
4.在关系中,“基数”(cardinality)是指(行数)
(A).列数(B).元组个数(C).关系个数(D).属性个数
5.设W=RS,且W、R、S的元组个数分别为p、m、n,那么三者之间满足( D )
(A).p<(m+n) (B).p≤(m+n)
(C).p<(m×
n) (D).p≤(m×
n)
6.下列式子中,不正确的是(D )
(A).R-S=R-(R∩S)(B).R=(R-S)∪(R∩S)
(C).R∩S=S-(S-R)(D).R∩S=S-(R-S)
7.如果两个关系没有公共属性,那么其自然联接操作(A)
(A).转化为笛卡尔积操作(B).转化为联接操作
(C).转化为外部并操作(D).结果为空关系
8.一个关系只有一个( D )
(A)、候选码 (B)、外码
(C)、超码 (D)、主码
9.下面的选项不是关系的基本特征( A )
(A)、不同的列有不同的数据类型 (B)、不同的列有不同的列名
(C)、及行的次序无关 (D)、及列的次序无关
第三章SQL语言
有两个基本表:
表EMP(ENO,ENAME,SALARY,DNO)
其属性分别表示职工的工号、姓名、工资和所在部门的编号
表DEPT(DNO,DNAME)
其属性分别表示部门的编号和部门名
有一SQL语句:
SELECTDNO,COUNT(DISTINCTENO)
FROM EMP
GROUPBY DNO;
该SQL语句实现了以下哪个功能?
( C )
(A).统计职工的总人数
(B).统计每一部门的职工人数
(C).统计职工服务的部门数目
(D).统计每一职工服务的部门数目
2.有一个SQL语句:
SELECTENO,ENAME
FROMEMP
WHEREDNONOTIN
(SELECTDNO
FROMDEPT
WHEREDNAME=’金工车间’;
其等价的关系代数表达式是:
(C)
(A).πENO,ENAME(бDNAME≠'
金工车间'
(EMP⋈DEPT))
DNAME≠’金工车间'
(B).πENO,ENAME(EMP⋈DEPT)
(C).πENO,ENAME(EMP)-πENO,ENAME(бDNAME='
金工车间’(EMP⋈DEPT))
(D).πENO,ENAME(EMP)-πENO,ENAME(бDNAME≠’金工车间'
3.有一个SQL语句:
UPDATEEMP
SETSALARY=SALARY*1.05
WHEREDNO=’D6'
ANDSALARY<
(SELECTAVG(SALARY)
FROMEMP);
其等价的修改语句为(C)
(A).为工资低于D6部门平均工资的所有职工加薪5%
(B).为工资低于整个企业平均工资的职工加薪5%
(C).为在D6部门工作、工资低于整个企业平均工资的职工加薪5%
(D).为在D6部门工作、工资低于本部门平均工资的职工加薪5%
4.SQL中,谓词EXISTS可用来测试一个集合是否(C)
(A).有重复元组(B).有重复的列名
(C).为非空集合(D).有空值
5.SQL中,及“NOTIN”等价的操作符是(B)
(A).=SOME(B).<
〉SOME
(C).=ALL (D).<
>
ALL
6.下列关于索引的叙述,正确的是(A)。
(A)、可以根据需要在基本表上建立一个或多个索引,从而提高系统的查询效率.
(B)、一个基本表最多只能有一个索引。
(C)、建立索引的目的是为了给数据表中的元素指定别名,从而使别的表也可以引用这个元素。
(D)、一个基本表至少要存在一个索引。
7。
下面列出的关于视图的条目中,不正确的是(C).
(A)、视图是外模式
(B)、视图是虚表
(C)、使用视图可以加快查询语句的执行速度
(D)、使用视图可以简化查询语句的编写
8.设数据库中有三个关系:
职工表EMP(E#,ENAME,AGE,SEX,ECITY),
其属性分别表示职工工号、姓名、年龄、性别和籍贯.
工作表WORKS(E#,C#,SALARY),
其属性分别表示职工工号、工作的公司编号和工资。
公司表COMP(C#,CNAME,CITY),
其属性分别表示公司编号、公司名称和公司所在城市。
请写出完成下列操作的SQL语句:
①用CREATETABLE语句创建上述三个表,需定义出各表的主键和外键。
②检索超过50岁的男职工的工号和姓名。
③假设每个职工只能在一个公司工作,检索工资超过1000元的男性职工工号和姓名。
④假设每个职工可在多个公司工作,检索在编号为C4和C8公司兼职的职工工号和姓名.
⑤检索在“联华公司"
工作、工资超过1000元的男性职工的工号和姓名。
⑥假设每个职工可在多个公司工作,检索每个职工的兼职公司数目和工资总数,查询结果显示为(E#,NUM,SUM_SALARY),分别表示工号、兼职的公司数目和工资总数。
⑦工号为E6的职工在多个公司工作,试检索至少在E6职工兼职的所有公司工作的职工工号。
⑧检索联华公司中低于本公司平均工资的职工工号和姓名。
⑨在每一公司中为50岁以上职工加薪100元(若职工为多个公司工作,可重复加)。
⑩在EMP表和WORKS表中删除年龄大于60岁的职工有关元组.
解:
①
CREATE
TABLE
EMP
(
E#
CHAR(4)
NOT
NULL,
ENAME
CHAR(8)
NULL,
AGE
SMALLINT,
SEX
CHAR
(1),
ECITY
CHAR(20),
PRIMARY
KEY(E#));
COMP
C#
CNAME
CHAR(20)
CITY
KEY(C#));
WORKS
SALARY
SMALLINT,
KEY(E#,
C#),
FOREIGN
KEY(E#)
REFERENCES
EMP(E#),
KEY(C#)
COMP(C#));
②
SELECT
E#,
FROM
WHERE
AGE〉50
AND
SEX='
M’;
③
EMP。
E#,
EMP,
EMP.E#=WORKS。
SALARY〉1000;
④
A。
E#,
A,
B,
C
E#=B.E#
B。
E#=C.E#
C#=’C4'
C。
C#=’C8'
;
⑤
E#,
A.ENAME
A,
E#=B。
B.C#=C.C#
CNAME=’联华公司'
SALARY>
1000
M'
;
⑥
COUNT(C#)
AS
NUM,
SUM(SALARY)
SUM_SALARY
GROUP
BY
E#;
⑦
X。
E#
X
EXISTS
(SELECT
*
Y
E#='
E6’
Z
Z.E#=X。
Z。
C#=Y。
C#));
⑧
A.E#,
B,
CNAME='
联华公司'
SALARY<
AVG(SALARY)
WORKS,
WORKS。
C#=COMP。
CNAME=’联华公司’);
⑨
UPDATE
SET
SALARY=SALARY+100
IN
AGE>
50);
⑩
DELETE
AGE〉60);
60;
第四章数据库安全性
1.以下(D)不属于实现数据库安全性的主要技术和方法。
(A)、存取控制技术(B)、视图技术
(C)、审计技术(D)、出入机房登记和加锁
2.把对关系SC的GRADE属性的修改权授予用户ZHAO的SQL语句是(C)。
(A)、GRANTGRADEONSCTOZHAO
(B)、GRANTUPDATEONSCTOZHAO
(C)、GRANTUPDATE(GRADE)ONSCTOZHAO
(D)、GRANTUPDATEONSC(GRADE)TOZHAO
3.保护数据库、防止XX的或不合法的使用造成的数据泄露、更改破坏.这是数据库的(A).
(A)、安全性(B)、完整性
(C)、并发控制(D)、恢复
4.今有两个关系模式:
(1)职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;
部门号为外码;
(2)部门(部门号,名称,经理名,地址,电话),其中部门号是主码;
请用SQL语言的GRANT语句(加上视图机制)完成以下授权定义:
用户杨兰具有SELECT每个部门的职工最高工资,最低工资,平均工资的权力,但他不能查看每个人的工资.
VIEW
部门工资
AS
SELECT
部门.名称,MAX(工资),MIN(工资),AVG(工资)
FROM
职工,部门
职工。
部门号=部门。
部门号
部门号
GRANT
ON
部门工资
TO
杨兰;
第五章数据库完整性
1.关于主码约束以下说法错误的是(C)
A.一个表中只能设置一个主码约束
B.允许空值的字段上不能定义主码约束
C.允许空值的字段上可以定义主码约束
D.可以将包含多个字段的字段组合设置为主码
2.在SQLServer中,可以使用(C)语句创建存储过程.
A.CreateTriggerB.InstallProcedure
C.CreateProcedureD.CreateView
3.SQLServer为每个触发器创建了两个临时表,它们是(B).
A.Updated和DeletedB.Inserted和Deleted
C.Inserted和UpdatedD.Seleted和Inserted
4.设有供应商关系S和零件关系P,如下图所示,S和P的主码分别是“供应商号”和“零件号"
,P的外码是“供应商号”。
分析下列4个操作能否被正确执行,并说明理由。
(1)在P中插入元组(′P2′,′白′,′A2′)
(2)在P中插入元组(NULL,′绿′,′A1′)
(3)在P中插入元组(′P4′,′白′,′A5′)
(4)在P中插入元组(′P4′,′绿′,′A2′)
(1)不能正确执行,插入操作破坏了实体完整性约束,待插入的元组的“零件号”属性值“P2"
,在P表中已经存在。
“零件号”作为主键,其值不能重复,必须唯一。
(2)不能正确执行,插入操作破坏了实体完整性约束,待插入的元组的“零件号"
属性值为空,“零件号"
作为主属性,其值不能为空。
(3)不能正确执行,插入操作破坏参照完整性约束,待插入的元组的“供应商号”属性值“A5"
在S中找不到没有相应的主键值。
(4)
能正确执行,因为满足数据库的实体完整性和参照完整性。
5.假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;
部门号为外码。
部门(部门号,名称,经理名,电话),其中部门号为主码,经理名为外码
请用SQL语言定义这两个关系模式,要求在关系模式中完成以下完整性约束条件的定义:
(1)定义每个模式的主码;
(2)定义参照完整性;
职工关系模式中的部门号属性参照部门关系模式中的主码部门号;
部门关系模式中的经理名属性参照职工关系模式中的姓名属性。
(3)定义职工年龄不超过60岁。
DEPT
(
Deptno
NUMBER
(2),
Deptname
VARCHAR(10),
Manager
PhoneNumber
Char(12),
CONSTRAINT
PK_SC
RIMARY
KEY(Deptno)
);
Empno
NUMBER(4),
Ename
Age
NUMBER
(2)
C1
CHECK
Age〈=60),
Job
VARCHAR(9),
Sal
NUMBER(7,2),
PK_EMP
KEY(Empno),
FK_DEPTNO
FOREIGN
REFFERENCES
DEPT(Deptno)
);
第六章关系数据理论
1.为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是(A)
(A)、关系规范化理论(B)、关系代数理论
(C)、数理逻辑(D)、关系运算理论
2.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:
每一个属性都是(B)
(A)、长度不变的(B)、不可分解的
(C)、互相关联的(D)、互不相关的
3.已知关系模式R(A,B,C,D,E),及其上的函数相关性集合F={A→D,B→C,E→A},该关系模式的候选码是(B)
(A)、AB(B)、BE(C)、CD(D)、DE
4.关系数据库规范化是为了解决关系数据库中的(A)问题而引入的。
(A)、插入、删除、更新异常和数据冗余
(B)、提高查询速度
(C)、减少数据操作的复杂性
(D)、保证数据的安全性和完整性
5.数据库中的冗余数据是指(D)的数据。
(A)、容易产生错误
(B)、容易产生冲突
(C)、无关紧要
(D)、由基本数据导出
6.在关系规范化过程中,分解关系的基本原则是(B)
I。
实现无损失连接
II。
分解后的关系相互独立
III.保持原有的函数依赖关系
(A)、I和II(B)、I和III(C)、I(D)、II
7.设关系模式R(A,B,C),F是R上成立的函数依赖集合,F={B→C},则分解P={AB,BC}相对于F(A)。
(A)、是无损失联接,也是保持函数依赖的分解
(B)、是无损失联接,但不保持函数依赖的分解
(C)、不是无损失联接,但保持函数依赖的分解
(D)、既不是无损失联接,也不保持函数依赖的分解
第8到第9题基于以下的叙述:
有关系模式A(C,T,H,R,S),其中各属性的含义是:
属性C代表课程名,属性T代表教师姓名,属性H代表上课时间,属性R代表上课教室,属性S代表学生姓名。
根据语义有如下函数依赖集:
F={C→T,(H,R)→C,(H,T)→R,
(H,S)→R}.
8.请问该关系模式A的候选码是(D)
(A)、C(B)、(H,R)
(C)、(H,T)(D)、(H,S)
9.关系模式A的规范化程度最高达到(B)
(A)、1NF(B)、2NF(C)、3NF(D)、BCNF
10.设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。
如果规定:
每个职工每天只有一个营业额;
每个职工只在一个部门工作;
每个部门只有一个经理.
试回答下列问题:
(1)根据上述规定,写出模式R的基本函数依赖和候选码;
(2)说明R不是2NF的理由,并把R分解成2NF模式集;
(3)进而分解成3NF模式集。
(1)基本的FD有三个:
(职工编号,日期)->
日营业额
职工编号->
部门编号
部门名—>
部门经理
R的关键码为(职工编号,日期)
(2)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模式集
第七章数据库设计
1.数据库设计中