高手请进!帮我做一下SQL server的题!在线等

来源:百度知道 编辑:UC知道 时间:2024/05/22 05:13:44
1.现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金),课程(课程号,名称,学分),学习(学号,课程号,分数)
用关系代数表达式实现下列要求:
(1) 检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数;
(2) 检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数;
(3) 检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;
(4) 检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业;
用SQL语言实现下列要求:
(5) 检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;
(6) 检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专业。

2.用SQL的有关语句定义
(1) 学生关系S,包括SNo,姓名SN,系列SD,家庭电话TEL;
(2) 课程关系C,包括课程好CNo,课程名CN,任课教室TN;
(3) 学生选课关系SC,包括SNo,CNo和成绩G。
注意:说明主键码和外键码。

3.结合上题的数据库、用SQL的有关语句实现
对于学生选课SC,授予学生林凌查询查询权限以及对SNo和CNo的插入权限;
在学生关系S的主码属性上建立索引;
删除学号为06002138的学生的所有有关数据;
从学生选课关系SC中,删除孙小林(学生关系中可能有重名)的所有选课。

关系代数式因为符号比较特殊 还有下标 这上面不好打 就先解决以下问题了 希望对你有帮助
(5)select 学生.学号,姓名,专业
from 学生,学习
where 学生.学号=学习.学号 AND 课程号<>'C135';
(6)select 学生.学号,姓名,专业
from 学生,学习
where 学生.学号=学习.学号 AND 课程号='C135'
intersect
select 学生.学号,姓名,专业
from 学生,学习
where 学生.学号=学习.学号 AND 课程号='C219';
2(1)create table S
(SNo char(9) primary key,
SN char(10),
SD ch(20),
TEL char(10)
);
(2)create table C
(CNo char(4) primary key,
CN char(20),
TN char(5)
);
(3)create table SC
(SNo char(9),
CNo char(4),
G SMALLINT,
primary key (SNo,CNo),
froeign key (SNo) references S(SNo)
on delete cascade,
froeign key (CNo) references C(CNo)
);
3.grant select,insert(SNo,CNo)
on table SC
to 林凌;

create unique index Ssno on S(SNo);

delete
from S
where SNo='06002138';

delete
from SC
where SNo