sjk作业九

插入数据
1.插入元组在这里插入图片描述2.插入子查询结果(可以一次插入多个元组)
在这里插入图片描述
RDBMS在执行插入语句时会自动检查所插元组是否破坏表上已定义的完整性规则(实体完整性、参照完整性、用户定义的完整性)。
将学生201215121的年龄改为22岁在这里插入图片描述将计算机科学系全体学生的成绩置零。在这里插入图片描述数据删除
1.删除某一个元组的值
2.删除多个元组的值
3.带子查询的删除语句![在这里插入图片描述](https://img-blog.csdnimg.cn/20200329140437531.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dqcGVpMTIz,size_16,color_FFFFFF,t_70有外键约束,要先把SC表里的删除在这里插入图片描述在这里插入图片描述在这里插入图片描述空值的处理
空值就是“不知道”或“不存在”或“无意义”的值。
空值是一个很特殊的值,含有不确定性。对关系运算带来特殊的问题,需要做特殊的处理。

约束条件:属性定义(或者域定义)中,有NOT NULL约束条件的不能取空值,加了UNIQUE限制的属性不能取空值,码属性不能取空值。

1.空值的产生
一般有以下几种情况:
· 该属性应该有一个值,但目前不知道它的具体值
· 该属性不应该有值
· 由于某种原因不便于填写

向SC表中插入一个元组,学生号是”201215126”,课程号是”1”,成绩为空。
【例3.80】将Student表中学生号为”201215200”的学生所属的系改为空值。在这里插入图片描述将Student表中学生号为”201215200”的学生所属的系改为空值。在这里插入图片描述2.空值的判断
判断一个属性的值是否为空值,用IS NULL或IS NOT NULL来表示。

从Student表中找出漏填了数据的学生信息在这里插入图片描述3.空值的算术运算、比较运算和逻辑运算
找出选修1号课程的不及格的学生。在这里插入图片描述查询结果不包括Grade值为NULL的学生。在这里插入图片描述在这里插入图片描述选出选修1号课程的不及格的学生以及缺考的学生在这里插入图片描述视图
视图的特点
· 虚表,是从一个或几个基本表(或视图)导出的表
· 只存放视图的定义,不存放视图对应的数据
· 基表中的数据发生变化,从视图中查询出的数据也随之改变

定义视图组成视图的属性列名:全部省略或全部指定
全部省略: 由子查询中SELECT目标列中的诸字段组成
全部指定:(明确指定所有列名)某个目标列是聚集函数或列表达式、多表连接时选出了几个同名列作为视图的字段、需要在视图中为某个列启用新的更合适的名字。

关系数据库管理系统执行CREATE VIEW语句时只是把视图定义存入数据字典,并不执行其中的SELECT语句。在对视图查询时,按视图的定义从基本表中将数据查出。

若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了主码,我们称这类视图为行列子集视图。下边例子里的IS_Student视图就是一个行列子集视图。
建立IS系学生的视图在这里插入图片描述

建立视图后,查看视图在这里插入图片描述
在这里插入图片描述在视图中修改数据不会影响视图,影响源表中的数据,视图存储的也就是SELECT语句,操作视图时,也就是操作其封装的SELECT语句,SELECT结果不改变,视图结果也不改变

基于多个基本表建立的视图
建立信息系选修了1号课程的学生的视图(包括学号、姓名、成绩)。在这里插入图片描述如果该视图上还导出了其他视图,使用CASCADE级联删除语句,把该视图和由它导出的所有视图一起删除
查询视图
对于用户,查询基本表和查询视图相同。
RDBMS采用视图消解法对视图进行查询。

进行有效性检查,转换为等价的对基本表的查询
,执行转化后的查询

在信息系学生的视图中找出年龄小于20岁的学生。
![在这里插入图片描述](https://img-blog.cs有些情况下,视图消解法不能生成正确的查询,因为试图消解法是把条件直接放到WHERE中

在S_G视图中查询平均成绩在90分以上的学生学号和平均成绩。dnimg.cn/20200329141949313.png)在这里插入图片描述有些情况下,视图消解法不能生成正确的查询,因为试图消解法是把条件直接放到WHERE中

在S_G视图中查询平均成绩在90分以上的学生学号和平均成绩。在这里插入图片描述修改视图

将信息系学生视图IS_Student中学号为‘201215122’的学生姓名改为刘辰在这里插入图片描述插入之后,如果直接SELECT *FROM IS_Student,是看不到刚才插入的语句的,原因很简单,在前边建立信息系学生视图的时候也说过这个问题了,只要记住视图是对SELECT语句的封装就可以了。在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值