关于教学数据库的关系模式如下:
S(S#,SNAME,AGE,SEX):S表示学生,各属性依次为:学号、姓名、年龄、性别
SC(S#,C#,GRADE):SC表示成绩,个属性依次为:学号、课程号、成绩
C(C#,CNAME,TEACHER)C表示课程,个属性依次为:课程号、课程名、教师
试用SQL语句完成下列查询:
(1)检索年龄大于22岁的男学生的学号和姓名
(2)检索至少选修王老师所授课程中一门课程的女学生姓名
(3)检索至少选修两门课程的学生学号
(4)检索选修课程包含王老师所授课程的学生学号
第1题
公车的行驶时间只能在工作时间内,因此规定调度表中每天安排发车的时间在上午07:00:00至下午18:00:00范围内。(
【问题1】(4分) 请将下面创建调度关系的SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及调度表中每天安排发车的时间在上午07:00:00至下午18:00:00范围内的约束(由函数 Time Get_time(DATETIME StartTime)返回出车的时间)。 CREATE TABLE SCHEDULE( Sno CHAR(10), Eno CHAR(10) (a) , Cno CHAR(8) (b) , StartTime DATETIME (c) , EndTime DATETIME, PRIMARY KEY (d) ); 【问题2】(6分) (1)创建所有&39;奥迪&39;品牌汽车的调度信息的视图AudiSCHEDULE,属性有Eno、Ename、Cno、Brand、StartTime和EndTime,请将下面SQL语句的空缺部分补充完整。 CREATE (e) AS SELECT EMP,Eno,Ename, CAR,Cno,Brand, StartTime, EndTime FROM EMP,CAR, SCHEDULE WHERE (f) (2)驾驶员的奖金在收车时间写入时,由出车时间段自动计算,并用触发器来实现奖金的自动维护,函数float Bonus_value(DATETIME StartTime, DATETIME EndTime)依据发车时间和收车时间来计算本次出车的奖金。系统在每月初自动增加一条该员工的当月奖金记录,初始金额为零。请将下面SQL语句的空缺部分补充完整。 CREATE (g) Bonus_TRG AFTER (h) ON SCHEDULE REFERENCING new row AS nrow FOR EACH ROW BEGIN UPDATE BONUS SET (i) WHERE (j) AND Year=Get_Year(nrow.StartTime) AND Month= Get_Month(nrow.StartTime) ; END 【问题3】(5分) 请将下面SQL语句的空缺郜分补充完整。 (1)查询调度次数最多的汽车车牌号及其品牌。 SELECT CAR.Cno,Brand FROM CAR, SCHEDULE WHERE CAR.Cno =SCHEDULE.Cno GROUP BY (k) HAVING (l) (SELECT COUNT(*) FROM SCHEDULE CROUP BY Cno); (2)查询所有在调度表中没有安排过“大金龙”品牌车辆的驾驶员工员和姓名。 SELECT Eno,Ename FROM EMP WHERE Eno (m) ( SELECT Eno FROM (n) WHERE (o) AND brand= ‘大金龙&39;);
第2题
第3题
S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。为了提高查询学生成绩的查询速度,对关系SC创建惟一索引,应该创建在()属性上。
A、S#
B、C#
C、GRADE
D、(S#,C#)
第4题
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
试用SQL的查询语句表达下列查询:
(1)检索年龄大于23岁的男学生的学号和姓名。
(2)检索WANG同学不学的课程的课程号。
(3)检索全部学生都选修的课程的课程号与课程名。
第5题
学生表: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;
试写出与此语句等价的汉语查询语句。
第6题
设教学数据库中有三个关系: 学生关系 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’)
第7题
设有一个 SPJ数据库,包括 S,P,J,SPJ四个关系模式:
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
1、供应商表 S 由供应商代码 (SNO) 、供应商姓名 (SNAME) 、供应
商状态 (STATUS) 、供应商所在城市 (CITY) 组成;
2、零件表 P 由零件代码 (PNO) 、零件名 (PNAME) 、颜色 (COLOR) 、
重量 (WEIGHT) 组成;
3、工程项目表 J 由工程项目代码 (JNO)、工程项目名 (JNAME) 、
工程项目所在城市 (CITY) 组成;
4、供应情况表 SPJ由供应商代码 (SNO) 、零件代码 (PNO) 、工程项
目代码 (JNO)、供应数量 (QTY) 组成,表示某供应商供应某种零件
给某工程项目的数量为 QTY 。试用关系代数语言完成如下查询:
1)找出所有供应商的姓名和所在城市;
2)找出所有零件的名称、颜色、重量;
3)找出使用供应商 S1 所供应零件的工程号码 ;
4)找出工程项目 J2 使用的各种零件的名称及其数量;
5)找出上海厂商供应的所有零件号码;
6)找出使用上海产的零件的工程号码;
7)找出没有使用天津产的零件的工程号码 ;
8)把全部红色零件的颜色改成蓝色;
9)由 S5 供给 J4 的零件 P6 改为由 S3 供应,请作必要的修改;
10)从供应商关系中删除 S2 的记录,并从供应情况关系中删除相
应的记录;
11)求供应工程 J1 零件的供应商号码 SNO;
12)求供应工程 J1 零件 P1 的供应商号码 SNO;
13)求供应工程 J1 零件为红色的供应商号 SNO;
14)求没有使用天津供应商生产的红色零件的工程号 JNO;
15)求 S1 提供的零件名 PNAME;
16)求给工程 J1 和 J2 提供零件的供应商号码 SNO;
第8题
学生:S(Sno,Sname,Ssex,Sage, Sdept)其中:Sno:学号,Sname:姓名,Ssex:性别,Sage:年龄,Sdept:系名;
课程:C(Cno, Cname,Teacher)其中:Cno:课程号,Cname:课程名,Teacher:教师;
选课:SC(Sno,Cno,Grade)其中:Sno:学号,Cno:课程号,Grade:成绩,
用关系代数表达式实现下列1,2小题:
(1)检索年龄为19岁的女同学的学号和姓名
(2)检索不学课程号为“C135”课程的学生信息,包括学号,姓名和系名
第9题
学生:S(Sno,Sname,Ssex,Sage, Sdept)其中:Sno:学号,Sname:姓名,Ssex:性别,Sage:年龄,Sdept:系名;
课程:C(Cno, Cname,Teacher)其中:Cno:课程号,Cname:课程名,Teacher:教师;
选课:SC(Sno,Cno,Grade)其中:Sno:学号,Cno:课程号,Grade:成绩,
用SQL语言完成1-2小题操作:
(1)查询每个学生的学号、姓名和相应的平均成绩
(2)用CREATE TABLE 语句定义基本表选课(需定义主码和外码,设Sno,长度为6,Cno为字符型,长度为8,Grade为短整数)
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!