设教学数据库中有三个关系: 学生关系 S(S#,SNAME,AGE,SEX) 选课关系 SC(S#,C#,GRADE) 课程关系 C(C#,CNAME,TEACHER) 用SQL语句实现下面查询: 1.查询不学C2课的学生姓名与年龄。 2.求刘老师所授课程的每门课程的平均成绩。 3.求年龄大于女同学平均年龄的男学生姓名和年龄。 4.检索学习全部课程的学生姓名; 即在表S中找学生,要求这个学生学了全部课程。换言之,在S表中找学生,在C中不存在一门课程,这个学生没有学。 5.往关系C中插入一个课程元组(‘C8’,‘VC++’,‘BAO’)
设某汽车运输公司数据库中有三个实体集,一是“车队”实体集,属性有车队编号、车队名;二是“车辆”实体集,属性有牌照号、厂家、出厂日期;三是“司机”实体集,属性有司机编号、姓名、电话。 设车队与车辆间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;车队与司机间存在“聘用”联系,每个车队可聘用多个司机,每个司机只能在一个车队工作,车队聘用司机有聘期和工资,司机与车辆之间存在“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。 (1)试画出E-R图,并注明联系的类型。 (2)将E-R图转换成最少数目的关系模型,并注明主码和外码。
一、设有一学生-课程数据库,其中关系表如下所示: 学生关系表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表关系:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 请用SQL语句实现下列各题: (1)建立一个“学生”表SC。 (2)为学生-课程数据库中的SC建立索引,SC表按学号升序和课程号降序建索引。 (3)查询全体学生的详细记录。 (4)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。 (5)查询名字中第2个字为"明"字的学生的姓名和学号。 (6)查询学生总人数。 (7)查询选修了课程M01或者选修了课程M02的学生。 (8)将学生08001的年龄改为23岁。
设学生---社团数据库有三个基本表:
学生(学号,姓名,年龄,性别);
社团(编号,名称,负责人,办公地点);
参加(学号,编号,参加日期);
其中:
学生表的主码为学号;社团表的主码为编号;外码为负责人,被参照表为学生表,对应属性为学号;参加表的学号和编号为主码;学号为外码,其被参照表为职工表,对应属性为学号;编号为外码,其被参照表为社团表,对应属性为编号。
试用SQL语句表达下列操作。
(1)定义社团表,说明其主码和参照关系
(2)建立视图:社团负责人(社团编号,名称,负责人学号,负责人姓名,负责人性别);
(3)查询参加科协的学生学号、姓名和性别。
设教学数据库中,有两个基本表:
学生表:S(S#,SNAME,AGE,SEX)
学习表:SC(S#,C#,GRADE)
现有一个SQL语句:
SELECT SEX,AGE,AVG(GRADE)
FROM S,SC
WHERE S.S# = SC.S#
GROUP BY SEX,AGE
ORDER BY 3 DESC;
试写出与此语句等价的汉语查询语句。
设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),(S#,CNAME)为候选码,设关系中有如下函数依赖:
(S#,CNAME)→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
(S#,CNAME)→GRADE
SDEPT→MNAME
关系STUDENT属于第几范式?并说明理由。
对于教学数据库的三个基本表学生 S(S#,SNAME,AGE,SEX)
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
试用SQL的查询语句表达下列查询:
(1)检索年龄大于23岁的男学生的学号和姓名。
(2)检索WANG同学不学的课程的课程号。
(3)检索全部学生都选修的课程的课程号与课程名。
设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和为生选修课程表SC(SNO,CNO,CN,G)(SNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各题:
(1)建立一个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序
(2)从视图V-SSC上查询平均成绩在90分以上的SN、CN和G
(1)设S=(a,b,c},则集合T={a,b}的特征函数是,属于SS的函数是。
(2)在S上定义等价关系R=IsU{<a,b>,<b,a>},那么该等价关系对应的划分中有个划分块,作自然映射g:S→S/R,g(x)=[x]R,那么g的表达式是,g(b)=。