现有关系数据库如下: 学生(学号,姓名,性别,专业) 课程(课程号,课程名,先修课,学分) 学习(学号,课程号,分数) (1)用关系代数表达式实现: 检索所有选修了课程号为“C111”的课程的学生的学号、姓名和分数(2)用SQL语句实现: 创建课程表,课程号为主码,课程名不允许为空,先修课参照课程号。 (3)用SQL语句实现:向课程表中插入一条记录,课程号为“C111”,课程名为数据库原理,先修课为空,学分为4. (4) 用SQL语句实现: 将课程号为“C111”的课程的学分修改为5; (5) 用SQL语句实现:检索“网工"专业学生所学课程的信息,包括学号、姓名、课程名和分数;(6) 用SQL语句实现: 删除选修了"数据库原理”并且分数为空的选课信息。
时间: 2024-04-05 18:34:01 浏览: 1026
关系数据库、关系演算、关系代数
(1) 关系代数表达式:
π 学生.学号, 学生.姓名, 学习.分数 (σ 课程.课程号='C111' ∧ 学生.学号=学习.学号 ∧ 课程.课程号=学习.课程号)
(2) SQL语句:
CREATE TABLE 课程 (
课程号 VARCHAR(20) PRIMARY KEY,
课程名 VARCHAR(50) NOT NULL,
先修课 VARCHAR(20) REFERENCES 课程(课程号)
);
(3) SQL语句:
INSERT INTO 课程 (课程号, 课程名, 先修课, 学分) VALUES ('C111', '数据库原理', NULL, 4);
(4) SQL语句:
UPDATE 课程 SET 学分=5 WHERE 课程号='C111';
(5) SQL语句:
SELECT 学生.学号, 学生.姓名, 课程.课程名, 学习.分数
FROM 学生, 课程, 学习
WHERE 学生.学号=学习.学号
AND 课程.课程号=学习.课程号
AND 学生.专业='网工';
(6) SQL语句:
DELETE FROM 学习 WHERE 课程号='C111' AND 分数 IS NULL;
阅读全文