对于教学数据库的三个基本表 学生 S(S#,SNAME,AGE,SEX) 选课 SC(S#,C#,GRADE) 课程 C(C#,CNAME,TEACHER)
1、根据上面的学生关系S、课程关系C和学生选课关系SC,试用关系代数式表达如下运算:(每小题3分, 共9分)
(1) 检索选修了“陈红”老师所授课程的学生的学号与姓名。
(2) 检索至少有一门课不及格的学生的姓名。 (3) 检索“张三”同学不学的课程的课程号。
2、 根据上面的学生关系S、课程关系C和学生选课关系SC,试用SQL语句完成以下各小题:(每小题3分, 共15分)
(1) 求与“张三”同学年龄相同的学生姓名和年龄。 2) 统计每门课程各有多少人选修。
(3)检索至少选修陈红老师所授课程中一门课的男学生姓名。
(4)根据S表建立所有20岁以下男同学的按年龄降序排列的视图s_view。 (5)删除“李芳”同学的所有成绩记录。 五、求解题(共1小题,共6分) 设有下面两个关系模式
职工(职工号,姓名,工资,部门号) 部门(部门号,名称,经理名,电话)
用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义: (1) 通过SQL语句定义职工表和部门表,其中职工号和部门号为主码(2分) (2) 通过SQL语句定义职工表和部门表之间的联系即定义参照完整性;(2分 (3) 当取消一个部门时,这个部门的所有职工也应被删除(2分) 六、 综合设计题(共1题,共10分)
设某汽车运输公司数据库中有三个实体集.一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。
设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘用期属性;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
请画出该运输公司管理系统的E-R图。并设计出满足3NF的关系模式集。(10分)

