数据库实验三

实验过程

1、基于实验二数据库中的三个表Student,Course,SC,进行如下的查询:

(1) 查询每个学生及其选修课情况(使用自然连接)。
在这里插入图片描述
(2) 查询每个学生的学号、姓名、选修的课程及成绩。在这里插入图片描述
(3) 查询选修了2号课程且成绩在80分以上的学生姓名,年龄。在这里插入图片描述
(4) 查询选修了课程名为“操作系统”的学生学号和姓名。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5) 查询与“王敏”在同一个系学习的学生。(用IN嵌套实现)
在这里插入图片描述
(6) 查询其它系中比信息系某一学生年龄大的学生姓名和年龄。在这里插入图片描述

(7) 查询选修了课程1或者选修了课程2的学生。(写出2种形式的查询语句)
1>自然连接
在这里插入图片描述
2>嵌套循环
在这里插入图片描述
(8) 查询没有选修2号课程的学生姓名。
在这里插入图片描述
(9) 查询选修课程1的学生集合与选修课程2的学生集合的交集。
在这里插入图片描述
(10) 查询信息系的学生与年龄不大于19岁的学生的差集。在这里插入图片描述
2、用SQL语句实现“Student_DB_姓名首字母缩写”数据库中数据表的更新(给出查询语句或截图):
(1)删除信息系(IS)所有学生的选课记录。
在这里插入图片描述
(2)修改Cno为“1”的记录的课程名为“数据库原理及应用”。在这里插入图片描述
在这里插入图片描述
(3)将信息系全体学生的成绩改为80。
在这里插入图片描述
(4)删除姓名为张立的学生记录。
在这里插入图片描述
在这里插入图片描述
(5)将自己的信息添加到学生表中,院系写成IS(信息系)。(注:若学号太长超过9位,则从左边删除使其保留9位即可。)
在这里插入图片描述
在这里插入图片描述
(6)使用SQL增加一条记录到course表中,增加的记录内容如下:
(’9’,’数据挖掘’,’1’,5)
在这里插入图片描述
在这里插入图片描述
3、用SQL语句建立视图并对视图做相应的操作:
(1)建立计算机系学生的视图CS_View,要求视图中包含学生表中的所有属性,并要求进行修改和插入操作时仍须保证该视图只有计算机系的学生。
在这里插入图片描述
(2)建立计算机系选修了’3’号课程且成绩在90分以下的学生视图CS_SC_View,并对此视图进行查询。
1> 建立视图
在这里插入图片描述
2>查询视图
在这里插入图片描述
(3)将学生的学号和平均成绩定义为一个视图。
在这里插入图片描述
(4)利用所建立的视图,查询选修了2号课程的计算机系的学生。
在这里插入图片描述
(5)将视图CS_View中学号为201215122的学生姓名改为“刘留”,并查看Student表中此学生姓名是否有变化,如有变化请说明原因。
1>修改数据
在这里插入图片描述
在这里插入图片描述
姓名改变原因:
未执行with check option条件,可以插入非计算机系的学生数据
(6)向视图CS_View中插入一条新的学生记录,其中学号为201215126,姓名为李三,年龄为20岁,院系为IS,若未能执行成功,则分析下执行结果。
在这里插入图片描述
未执行成功原因:
插入值未与视图属性列一一对应,所以导致无法插入
(7)将视图CS_View中学号为201215121的学生院系改为IS,查看Student表中此学生院系是否发生变化。
在这里插入图片描述
无法修改原因:
因为不满足视图创建时定义的with check option 条件,即只是可以操作为cs系学生。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值