《数据库原理》部分习题解析1
1. 名词解释
(1)关系(2)属性(3)域(4)元组(5)码(6)分量(7)关系模式
(8)模式(9)外模式(10)内模式
答:
(1)关系:表示现实世界的实体以及实体间的各种练习的单一结构类型,通常是一张二维表。
(2)属性:实体所具有的某一特性,通常是二维表的一列。
(3)域:某一属性的取值范围。
(4)元组:二维表中的一行。
(5)码:唯一标识实体的属性集,通常是二维表中的某一个属性或一组属性。
(6)分量:元组中的一个属性值。
(7)关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n)
(8)模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。在三层数据库系统的三层模式结构中,模式是所有用户的公共数据视图。
(9)外模式:也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。
(10)内模式:也称物理模式或存储模式,一个数据库只有一个内模式。它是对数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
2. 综合题一
一个公司的人事数据库包含以下关系模式:
职工—Employee (Eid, name, sex, age) //属性是职工编码,姓名,性别,年龄
部门—Department(Did, name, Eid) //属性是部门编码,部门名称,部门经理的职工码
工作—Job(Eid, Did, pay, year) //属性是职工码,部门码,工资,入职年份
该数据库包含的各关系具体信息如下:
Employee
Eid |
Ename |
sex |
age |
E1 |
张三 |
男 |
36 |
E2 |
李四 |
男 |
32 |
E3 |
王五 |
女 |
28 |
E4 |
赵六 |
女 |
25 |
Department
Did |
Dname |
Eid |
D1 |
生产部 |
E1 |
D2 |
销售部 |
E3 |
D3 |
研发部 |
NULL |
Job
Eid |
Did |
pay |
Year |
E1 |
D1 |
8000 |
2011 |
E2 |
D1 |
5500 |
2013 |
E3 |
D2 |
6200 |
2015 |
要求使用关系代数表示以下每个查询,并给出查询结果。
(注:关系代数符号选用:自然连接;左外连接
;右外连接
;投影
;选择:
)
(1)找出工资少于7000的所有职工姓名。
Ename(
pay<7000(Job)
Employee)
=
Ename |
李四 |
王五 |
(2)找出不在销售部的职工编码。
Eid (
Did(
Dname< >’销售部’(Department))
Job))
=
Eid |
E1 |
E2 |
(3)找出部门经理E1所管理的职工姓名
- Ename(
Eid< > E1(
Eid=E1(Department)
Job)
Employee)
=
Ename |
李四 |
(4)列出所有职工的姓名以及对应所在的部门名称(提示:采用左外连接)
Ename,Did(
Eid,Ename(Employee)
Eid,Did(Job)
Did,Dname(Department))
=
Ename |
Dname |
张三 |
生产部 |
李四 |
生产部 |
王五 |
销售部 |
赵六 |
NULL |
(5)列出所有部门的名称以及对应包含的职工姓名(提示:采用右外连接)
Dname,Ename(
Eid,Ename(Employee)
Eid,Did(Job)
Did,Dname(Department))
=
Dname |
Ename |
生产部 |
张三 |
生产部 |
李四 |
销售部 |
王五 |
研发部 |
NULL |
3. 综合题二
若有两个关系R(A,B,C)和S(B,C,D),分别包括n1和n2个元组,n2>n1>0,对于以下各个关系代数表达式,计算在表达式有意义的情况下,可以得到的最大、最小元组的数目以及列的数目。
编号 |
表达式 |
最大元组数目 |
最小元组数目 |
列的数目 |
1 |
R∪S |
n1+n2 |
n2 |
4 |
2 |
R∩S |
n1 |
0 |
4 |
3 |
R-S |
n1 |
0 |
4 |
4 |
R╳S |
n1*n2 |
n1*n2 |
6 |
5 |
|
n1 |
0 |
3 |
6 |
|
n1 |
1 |
1 |
7 |
R |
n1*n2 |
0 |
4 |
8 |
|
n1*n2 |
n2 |
5 |