四、设计题(本大题共5小题,每小题4分,共20分)
36.某农场有多名饲养员(Worker),每名饲养员可以饲养多只动物(Animal),每只动物都有一个动物编号,每只动物只由一名饲养员饲养,其关系模式如下:
Worker(wID,wName,wSex,wAge,wPhone),分别表示(编号,姓名,性别,年龄,电话)
Animal(aID,wID,aType,aAge),分别表示(动物编号,饲养员编号,种类,年龄)
实现下列操作:
用关系代数语言查询没有饲养过牛的饲养员的姓名和年龄。
37.根据题36给出的关系模式,实现下列操作:
写出创建饲养员表的SQL语句,其中wID定义为主码。
38.根据题36给出的关系模式,实现下列操作:
用SQL语言查询由姓吴的饲养员饲养的所有动物的个数。
39.根据题36给出的关系模式,实现下列操作:
用SQL语言查询饲养过牛或者年龄大于40岁的饲养员的编号。
40.根据题36给出的关系模式,实现下列操作:
用SQL语言创建视图VW:没有饲养过牛的饲养员的姓名和年龄。
五、综合题(本大题共2小题,每小题5分,共10分)
41.设有关系模式R(学号Sno,课程号Cno,成绩G,任课教师TN,教师工作单位TD),基于R的函数依赖集F={(Sno,Cno) →G, Cno→TN, TN→TD}根据上述规定
(1)写出模式R的关键码。
(2)判断R最高为第几范式?为什么?
(3)若R不为3NF,试将R分解成等价的3NF模式。
42.某学生管理系统,涉及如下信息:
学生:学号、姓名、性别、年龄;
课程:课程号、课程名、学分;
教师:教师号、姓名、职称、专业;
学会:学会名称、成立时间、负责人姓名、会费。
假设每门课程可由多位教师讲授,每位教师只讲授一门课程;每个学生可加入多个学会,学生进入学会有一个入会年份。学生可选修多门课程,每个学生选修的每门课程有一个成绩。
(1)根据以上叙述,设计优化的ER模型,要求标注联系类型(可省略实体的属性)。
(2)将ER模型转换成关系模型,要求标注每个关系模型的主键和外键(如果存在)。