高分求一道数据库题目的答案 高手快来啊

设有学生-课程关系数据库,其数据库关系模式为:学生S(学号Sno,姓名SN,所在系SD,年龄SA),其中Sno为主码。课程C(课程号Cno,课程名称CN,先修课号PCno... 设有学生-课程关系数据库,其数据库关系模式为:
学生S(学号Sno,姓名SN,所在系SD,年龄SA),其中Sno为主码。
课程C(课程号Cno,课程名称CN,先修课号PCno),其中Cno为主码。
学生选课SC(学号Sno,课程号Cno,成绩Grade),其中主码为(Sno,Cno)。
1) 写出创建S、C、SC表的SQL语句,并定义每个表的主码
2) 试用关系代数、SQL语言分别写出下列查询:
(1) 查询学生'95001'(为学号)所选的成绩为60以上的课程号
(2) 查询选读了“数据库概论”,并成绩为80或90的学生学号和姓名
(3) 查询选修了全部课程的学生学号、姓名及其所在系名
3) 试用SQL语言写出下列操作:
(1) 找出没有学生选修的课程号及课程名称
(2) 更新表S数据(2005115,Wang,CS,20),将学号改为2004115
(3) 建立视图IS_VIEW(Sno,CN)
展开
 我来答
snygq
2011-05-12 · TA获得超过671个赞
知道小有建树答主
回答量:317
采纳率:0%
帮助的人:269万
展开全部
好长。。。这不是书上的题目么。。==我先写写
建表
S表
create table S
(Sno char(9) primary key ,
SN char(20) unique,
SA smallint ,
SD char (20)
);

C表

create table C
(Cno char(4) primary key, //列级完整性约束条件
CN char (40),
Pcno char(4),
FOREIGN KEY Cpno REFERENCES C(Cno) //表级完整性约束条件
);

SC
create table SC
(Sno char (9),
Cno char(4),
Grade smallint,
primary key (Sno,Cno),
FOREIGN KEY (Sno) REFERENCES S(Sno), //表级完整性约束条件
FOREIGN KEY (Cno) REFERENCES C(Cno)
);

(1) 查询学生'95001'(为学号)所选的成绩为60以上的课程号

select Cno
from SC
where Sno='95001' and Grade>=60

2) 查询选读了“数据库概论”,并成绩为80或90的学生学号和姓名
select S.Sno , SN
from SC,S,C
where S.Sno=SC.Sno and
SC.Cno=C.Cno and
C.CN='数据库概论' and
Grade=80 or Grade=90 ;

(3) 查询选修了全部课程的学生学号、姓名及其所在系名
SELECT Sno,SN,SD
FROM S
WHERE NOT EXISTS
( SELECT *
FROM C
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE Sno=S.Sno
AND Cno=C.Cno

));

1) 找出没有学生选修的课程号及课程名称

不会,,怕写错了 就不写了

!!!!!!!!!!!!!!!!!!!!!!!
(2) 更新表S数据(2005115,Wang,CS,20),将学号改为2004115
DELETE
FROM S
WHERE Sno='2005115';

INSERT
INTO S(Sno,SN,SD,SA)
VALUES('2005114','Wang','CS',20);

3) 建立视图IS_VIEW(Sno,CN

CREATE VIEW IS_VIEW
AS
SELECT Sno,CN
FROM S
WHERE SD='IS';

一些标点写的时候要注意
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式