3、现有反映学生情况的关系数据库如下(包含三个表): S (SNO, SNAME, SSEX, SAGE, SDEPT) C (CNO, CNAME, CPNO, TEACHER) SC (SNO, CNO, GRADE) 现查询选修了‘0708’ 号课程号的学生姓名和性别。试画出能体现这两条最重要的两条原则优化后的查询树
时间: 2023-07-30 10:08:02 浏览: 63
根据题目要求,我们需要从 SC 表中查询选修了 ‘0708’ 号课程号的学生姓名和性别。因此,我们需要连接 SC 表和 S 表,然后通过条件筛选出选修了 ‘0708’ 号课程号的学生,最后选择学生姓名和性别两个属性。优化查询的两条原则是:先选后投影和等值连接优先。
以下是优化后的查询树:
```
PROJECT(SNAME, SSEX)
|
SELECT(CNO='0708')
|
JOIN(SNO)
/ \
SC S
```
相关问题
① student1 表数据输入 Sno Sname Ssex Sage Sdept 3005 赵达 女 14 SX 3006 杨红 南 21 JSJ
可以使用 SQL 语句向 student1 表中插入数据:
```
INSERT INTO student1(Sno, Sname, Ssex, Sage, Sdept) VALUES
('3005', '赵达', '女', 14, 'SX'),
('3006', '杨红', '男', 21, 'JSJ');
```
执行完上述语句后,student1 表中就会有两条数据。
2 实体完整性验证 (1)Student1 表数据输入 Sno Sname Ssex Sage Sdept 3001 赵达 男 20 SX 3002 杨丽 女 21 JSJ 3003 李寅 女 21 SX 3004 周强 女 21 SX 3001 刘美 女 19 SX
在这个学生表中,我们可以看到每个学生都有一个唯一的学号(Sno),所以我们可以在输入数据之前先验证一下Sno是否重复。如果有重复的Sno,将会导致数据异常或错误。
除此之外,还需要验证每个学生的年龄(Sage)是否合理,比如说是否小于18岁或者大于40岁等等。如果年龄不合理,也需要提示用户进行修改或者进行其他操作。
最后,还需要验证每个学生所属的学院(Sdept)是否在系统中存在,如果不存在需要提示用户进行修改或者添加该学院的信息。