欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库小班讨论3-第四五六七章部分习题

程序员文章站 2022-05-08 17:37:57
...

数据库小班讨论3

第4章习题7

今有以下两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,地址,电话号)
请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:
( a )用户王明对两个表有SELECT 权力。

GRANT SELECT ON 职工,部门
TO 王明

( b )用户李勇对两个表有INSERT 和DELETE 权力。

GRANT INSERT,DELETE ON 职工,部门
TO 李勇

( c ) 每个职工只对自己的记录有SELECT 权力。

GRANT SELECT ON 职工
WHEN USER()=NAME
TO ALL;

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

GRANT SELECT,UPDATE(工资) ON 职工
TO 刘星

( e )用户张新具有修改这两个表的结构的权力。

GRANT ALTER TABLE ON 职工,部门
TO 张新;

( f )用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。

GRANT ALL PRIVILIGES ON 职工,部门
TO 周平
WITH GRANT OPTION;

( g )用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。

    CREATE VIEW 部门工资 AS
        SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资)
        FROM 职工,部门
        WHERE 职工.部门号=部门.部门号
        GROUP BY 职工.部门号

    GRANT SELECT ON 部门工资
    TO 杨兰;

第五章习题6

6 .假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;
部门(部门号,名称,经理名,电话),其中部门号为主码。
用 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<=60),
    Job VARCHAR(9),
    Sal NUMBER(7,2),
    Deptno NUMBER(2),
    CONSTRAINT FK_DEPTNO FOREIGN KEY(Deptno) REFFERENCES DEPT(Deptno)
);

第六章习题2

2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。

  • 学生:学号、姓名、出生年月、系名、班号、宿舍区。
  • 班级:班号、专业名、系名、人数、入校年份。
  • 系:系名、系号、系办公地点、人数。
  • 学会:学会名、成立年份、办公地点、人数。

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

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


关系模式:

关系名 关系模式
学生 S(S#, SN, SB, DN, C#, SA)
班级 C(C#, CS, DN, CNUM, CDATE)
D(D#, DN, DA, DNUM)
学会 P(PN, PDATE, PA, PNUM)
学生-学会 SP(S#, PN, SPDATE)

根据语义,以及实际情况,得出每个关系模式的极小函数依赖集如下:

S:
S# -> SN, S# -> SB, S# ->C#, C# ->DN, DN -> SA

C:
C# -> CS, C# -> CNUM, C# -> CDATE, CS -> DN, (CS, CDATE) -> C#

d:
D# -> DN, DN -> D#, D# -> DA, D# -> DNUM

P:
PN -> PDATE, PN -> PA, PN -> PNUM

SP:
(S#, PN) -> SPDATE

S中存在的传递函数依赖有:
C# -> DN
C# -> SA
S# -> SA
C# -> DN

函数依赖左部是多属性的依赖集:
(CS, CDATE) -> C#
(S#, PN) -> SPDATE
两个都是完全函数依赖。

各关系的候选码、外部码、以及是否存在全码:

关系 候选码 外部码 全码
S S# C#,DN
C C#,(CS,CDATE) DN
D D#,DN
P PN
SP (S#,PN) S#,PN

关系数据理论习题(2)

【例5.49】设属性集x={BG},函数依赖集F有下列9个函数依赖组成:
{AC->PE,PG->A,B->CE,A->P,A->B,GC->A,PAB->G,AG->BG,ABCP->H}
求X关于F的属性闭包X+。

答:

设X0 = BG,逐一扫描F集合的各个函数依赖,找左部为B、G或BG的函数依赖

  1. B->CE X1 = BCEG
  2. GC->A X2 = ABCEG
  3. AC->PE,A->P,A->B,AG->BG X3 = ABCEGP
  4. PG->A,PAB->G,ABCP->H X4 = ABCEGHP

此时 X4已等于全部属性集合,所以x关于F的属性闭包X+ = {A,B,C,E,G,H,P}

关系数据理论习题(3)

【例5.52】指出下列关系模式是第几范式?并说明理由。

某女老师:再没有多值依赖的情况下,只用判断到BCNF,4NF可以不予理会

1.R(X,Y,Z)
F=(XY->Z}

候选码:XY,
非主属性:Z

Z完全函数依赖于XY –> 2NF
不存在传递依赖 –> 3NF
每一个决定因素都包含码 –> BCNF

2.R(X,Y,Z)
F={Y->Z,XZ->Y}

候选码:XY,XZ
无非主属性

所以为3NF

3.R(X,Y,Z)
F={Y->Z,Y->X,X->YZ}

候选码:Y,X
非主属性:Z

Z直接由Y决定,所以不存在传递依赖 –> 3NF
每一个决定因素都包含码 –> BCNF

4.R(X,Y,Z)
F={X->Y,X->Z}

推断X为码:

Y,Z完全函数依赖于X –> 2NF
不存在传递依赖 –> 3NF
每个决定因素都包含码 –> BCNF

5.R(W,X,Y,Z)
F={X->Z,WX->Y}

候选码:WX

Z部分函数依赖于WX,所以不属于2NF

该关系模式为1 NF

第七章习题7

7.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E 一 R 图画出此学校的概念模型。
答:

数据库小班讨论3-第四五六七章部分习题

各实体属性为:
- 系:系编号,系名
- 班级:班级号,班级名
- 教研室:教研室号,教研室
- 学生:学号,姓名,学历
- 课程:课程号,课程名
- 教员:职工号,姓名,职称
- 联系的属性:“选修”的属性为“成绩”
- 转换为关系模型如下:
- 系(系编号,系名,学校名)
- 班级(班级号,班级名,系编号)
- 教研室(教研室号,教研室,系编号)
- 学生(学号,姓名,学历,班级号,导师职工号)
- 课程( 课程号,课程名)
- 教员(职工号,姓名,职称,教研室号)
- 选修(学号,课程号,成绩)

第七章习题8

8 .某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用 E 一 R 图画出此工厂产品、零件、材料、仓库的概念模型。
答:
数据库小班讨论3-第四五六七章部分习题

各实体属性为:
产品:产品号,产品名
零件:零件号,零件名
原材料:原材料号,原材料名,类别
仓库:仓库号,仓库名
各联系的属性为:
产品组成:使用零件量
零件制造:使用原材料量
零件存储:存储量
材料存放:存储量
转换为关系模型如下:
产品(产品号,产品名,仓库号)
零件:零件号,零件名
原材料:原材料号,原材料名,类别,仓库号,存放量)
仓库(仓库号,仓库名)
产品组成(产品号,零件号,使用零件量)
零件组成(零件号,原材料号,使用原材料量)
零件储存(零件号,仓库号,存储量)

补充练习1

【例6.42】嘉定一个部门的数据包括以下信息:

  • 职工的信息:职工号、姓名、地址和所在部门
  • 部门的信息:部门所有职工、部门名、经理和销售的产品
  • 产品的信息:产品名、制造商、价格、型号及产品内部编号
  • 制造商的信息:制造商名称、地址、生产的产品名和价格

试画出这个数据库的E-R图。

补充练习2