1。设有关系模式R(A,B,C,D,E),F是R上成立的函数依赖集,F={ABC→DE, BC→D,D→E}
。
(1)试问R是3范式吗,如果是请说明理由,如果不是请将R分解为3范式。
(2)试问R是BC范式吗,如果是请说明理由,如果不是请将R分解为BC范式。
2.设有系、教师、学生、课程等实体,其中:
每一个系包括系名、系址、系主任姓名、办公电话等属性;
教师实体包括工作证号码、教师名、出生日期、党派等属性;
学生实体包括学号、姓名、出生日期、性别等属性;
课程实体包括课程号、课程名、预修课号等属性。
设一个系可以有多名教师,每个教师教多门课程, 一门课程由一个教师教。每一个学生可
选多门课程,每门课程只有一个预修课程,每一个学生选修一门课程有一个成绩,试根据以
上语义完成下述要求。
1)画出E-R图。
2)将以上的实体及实体集间的联系用关系模型表示出来
3)写出各关系模式中的函数依赖集
4)写出各关系的关键字。
5)写出各关系模式的规范化级别。
6)所有的关系模式的规范化级别都达到3NF了吗?若没有达到请将其分解以达到3NF。
1.现有关系数据库如下:
部门(部门号,名称,负责人编号,联系电话)
职工(职工号,姓名,出生日期,性别,工资,部门号,职称)
医疗(职工号,就医日期,医疗费用,医院名称,诊断结果)
用关系代数表达式实现下列1—4小题:
(1)。
检索职工“卢仪”作为部门负责人所在部门的名称和联系电话;
(2)。检索部门“市场部”中所有工程师的姓名、工资、就医日期和医疗费用;
(3)。检索在“红会医院”中没有就医记录的职工号、姓名和职称;
(4)。检索每次医疗费用都不超过100元的医疗记录的职工号、姓名;
2.根据上题的关系数据库,用SQL语言实现下列1—4小题:
(1)。
检索职工“卢仪”作为部门负责人所在部门的名称和联系电话;
(2)。检索在“红会医院”中没有就医记录的职工号、姓名和部门名称;
(3)。将所有职称是“工程师”的女职工每次的医疗费用减半;
(4)。定义一个没有任何医疗记录的男职工的职工号、姓名视图AAA。
3.设教学数据库中有三个基本表:
S(SNO,SNAME, AGE, SEX),其属性分别表示学号、学生姓名、年龄、性别。
C(CNO, CNAME, TEACHER),其属性分别表示课程号、课程名、上课教师名。
SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。
有如下SQL查询语句:
SELECT CNO
FROM C
WHERE CNO NOT IN
(SELECT CNO
FROM S, SC
WHERE S。
SNO=SC。SNO
AND SNAME= `GU')
请完成下列问题:
(1)用汉语句子阐述上述SQL语句的查询结果。
(2)用等价的关系代数表达式表示上述SQL查询语句。
(3)请用SQL语句创建一个 STU的角色,并为该角色赋予所有基本表的查询权限和S表的删
除、插入和更新的权限。
(4)请分别用关系代数和SQL语句 查询所有课程的间接先行课。
3.设教学数据库中有三个基本表:
S(SNO,SNAME, AGE, SEX),其属性分别表示学号、学生姓名、年龄、性别。
C(CNO, CNAME, TEACHER),其属性分别表示课程号、课程名、上课教师名。
SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。
有如下SQL查询语句:
SELECT CNO
FROM C
WHERE CNO NOT IN
(SELECT CNO
FROM S, SC
WHERE S。
SNO=SC。SNO
AND SNAME= `GU')
请完成下列问题:
(1)用汉语句子阐述上述SQL语句的查询结果。
(2)用等价的关系代数表达式表示上述SQL查询语句。
(3)请用SQL语句创建一个 STU的角色,并为该角色赋予所有基本表的查询权限和S表的删
除、插入和更新的权限。
(4)请分别用关系代数和SQL语句 查询所有课程的间接先行课。
。