《数据库原理》部分习题解析1
《数据库原理》部分习题解析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 |