按要求完成视图设计与创建实验任务在 student 数据库中,以student 、course 和 sc 表为基础完成下列视图的设计与创建.表结构如下: student(sno,sname,sdept,sex,sage)sc(sno,cno,grade) cource(cno,cname,credit,th)(1)创建学生的基本情况视图 V STUO (2)创建视图 V Sco,显示学生成绩信息。 (3)创建视图 V SCORE, 要求只显示学生的学号、姓名、系别、课号、课程名称及成绩各系学生人数、平均年龄创建视图 V NUM AVG。
时间: 2024-03-11 14:50:05 浏览: 204
根据要求,我们可以设计和创建以下三个视图:
1. 创建学生的基本情况视图 V_STUO:
```sql
CREATE VIEW V_STUO AS
SELECT sno, sname, sdept, sex, sage
FROM student;
```
2. 创建视图 V_Sco,显示学生成绩信息:
```sql
CREATE VIEW V_Sco AS
SELECT s.sno, s.sname, c.cno, c.cname, sc.grade
FROM student s, course c, sc
WHERE s.sno = sc.sno AND c.cno = sc.cno;
```
3. 创建视图 V_SCORE,要求只显示学生的学号、姓名、系别、课号、课程名称及成绩,以及各系学生人数、平均年龄:
```sql
CREATE VIEW V_SCORE AS
SELECT s.sno, s.sname, s.sdept, c.cno, c.cname, sc.grade,
COUNT(s.sno) OVER (PARTITION BY s.sdept) AS dept_student_count,
AVG(s.sage) OVER (PARTITION BY s.sdept) AS dept_avg_age
FROM student s, course c, sc
WHERE s.sno = sc.sno AND c.cno = sc.cno;
```
以上三个视图的创建语句已经完成,您可以在数据库中执行这些语句来创建对应的视图。
阅读全文