您好,欢迎来到小奈知识网。
搜索
您的当前位置:首页数据库设计

数据库设计

来源:小奈知识网


1、设有以下三个关系:

学生关系:student(sno,sname,dep,age,sex)

选课关系:scourse(sno,cno,grade)

课程关系:course(cno,cname,score)

1)建数据库,在数据库中建立以上三个关系。

要求:

学生关系中:sno为主键,sname不允许为空,age默认值18,sex取值范围’男’、’女’、默认为’男’。

课程关系中:cno为主键,cname不为空,在cname上建立唯一索引。

选课关系中:sno、cno组合为主键,grade允许为空,sno为外键(参照学生关系的sno,删除、修改),cno为外键(参照课程关系的cno,级联删除、级联修改)。

2)试用SQL的查询语句表示下列查询。

(1) 检索学分score等于4的所有课程的课程号和课程名。

(2) 检索年龄在20和23岁之间的学生的学号与姓名。

(3) 检索Wang同学不学的课程的课程号。

(4) 检索所有姓李的学生情况。

(5) 检索所有学生情况及其选课情况。

(6) 检索所有选修了课程的学生情况和选课情况。

(7) 检索至少选修两门课程的学生学号和姓名。

(8) 统计有学生选修的课程门数。

(9) 查询选修了C2课程的学生的平均年龄。

(10) 检索成绩为空值的学生姓名和课程名。

(11) 将所有成绩为空值的学生成绩置为0。

(12) 删除课程名为“DB”的课程和所有成绩的元组。

(13) 平均成绩大于60分的课程的课程号和平均成绩存入关系G1(C#,AVG_G)中。

(14) 把课程名为“OS”的课程的学生成绩提高5%。

(15) 关系student中插入一个学生元组(02201101,“李平”,“CS”),AGE、SEX分别以默认值插入。

(16) 为“CS”系创建一个视图:CS_S(sno,sname,cname,grade)。

(17) 查询选课门数超过10门的学生的姓名和选课门数。查询结果按选课门数降序排列,若选课门数相同,按姓名升序排列。

(18) 查询“1002”课程考试成绩排名为7-10名的学生的学号和成绩。

3)建立成绩变更记录表grade_log:学号、课号、修改前成绩、修改后成绩、当前时间。

定义AFTER行级触发器,当选课表的成绩发生变化后就自动在成绩变更记录表grade_log中增加一条相应记录。

4)假设有另一个表sc,表sc和表scourse的结构完全相同,表sc和表scourse中既存在sno相同的记录,也存在sno不同的记录。现要求将sno只存在于表sc中而不存在于表scourse中的记录全部插入到scourse表中,并用表sc中的记录更新表scourse中相同的sno的记录,请写出完成这一功能的存储过程。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo3.com 版权所有 蜀ICP备2023022190号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务