最新要闻
- 精选!特斯拉前脸被完全撞烂 气囊没弹!车主:可以去维权吗?
- 当前聚焦:《地下城与勇士》大面积更改名称、美术素材 玩家喊话中消协:退钱
- 环球通讯!特斯拉创始人:自动驾驶是胡扯 汽车不应像iPhone
- 【天天新要闻】AMD、NV把显卡卖到万元 Intel成救星:下代能冲RTX 4080
- 手机预置软件影响用户体验 央媒揭秘幕后原因:厂商利益驱动
- 全球视点!苹果上新348元省电保护膜!网友:觉得贵的不是目标客户
- 如果我种一个橄榄核,它会长成一棵树吗?
- 天天即时:全球第10 三星Galaxy S23 Ultra相机DXO等分140:不敌小米11 Ultra
- 《塞尔达传说:王国之泪》日本最新海报曝光:腐朽大师剑现身
- 讯息:《生化危机4:重制版》硬件要求出炉:开光追 A卡很受伤
- 仰望银河背后 吉利是真着急了
- 散片就是这么来的?男子腰缠155片CPU入境被海关查获
- 当前报道:安卓机皇!三星Galaxy S23 Ultra下周首销:价格对标iPhone 14 Pro Max
- 环球热讯:蜜雪冰城门店没关音响扰民一宿 客服:门店整改 向周围居民送冰淇淋致歉
- RTX 40系移动平台性能测试出炉:RTX 4080与RTX 4090差距极小
- 世界新消息丨日本新生儿数量首次跌破80万 创有统计以来最低值:789万老人还在打零工
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
今日热门!(数据库系统概论|王珊)第五章数据库完整性-第一、二、三节:数据库三大完整性
- pdf下载:密码7281
- 专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解
@
目录- 一:数据库完整性概述
- (1)数据库完整性的基本概念
- (2)数据库完整性和安全性的区别
- (3)为维护完整性DBMS必须要实现的功能
- 二:实体完整性
- (1)定义实体完整性
- (2)实体完整性检查和违约处理
- 三:参照完整性
- (1)定义参照完整性
- (2)参照完整性检查和违约处理
- A:破坏完整性的行为
- B:违约处理措施
- ①:拒绝
- ②:级联
- ③:设为空值
- C:SQL实现
- 四:用户自定义完整性
- (1)属性上的约束条件
- A:不允许取空值(NOT NULL)
- B:列值唯一(UNIQUE)
- C:满足指定条件(CHECK)
- (2)元组上的约束条件
- (1)属性上的约束条件
在(数据库系统概论|王珊)第二章关系数据库-第二节、第三节:关系操作和关系完整性这一节中对数据库的三大完整性已有介绍,而本章的内容就是如何在SQL语言中实现这些完整性规则
一:数据库完整性概述
(1)数据库完整性的基本概念
数据库完整性:数据库的完整性是指数据的正确性和相容性
(资料图片)
- 正确性:数据是符合现实世界语义、反映当前实际状况的。例如性别只能是男或女
- 相容性:是指数据库同一对象在不同关系表中的数据是符合逻辑的。比如说年龄一般都在1-100岁,当然也有超过一百岁的,反正没有两百岁,三百岁成仙的人类
(2)数据库完整性和安全性的区别
完整性:是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。因此,完整性检查和控制的防范对象是不合语义的、不正确的数据,防止它们进入数据库
安全性:是保护数据库防止恶意破坏和非法存取。因此,安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取
(3)为维护完整性DBMS必须要实现的功能
1.提供定义完整性约束条件的机制
- 完整性约束条件:是数据库中数据必须满足的语义条件规则
- SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性
2.提供完整性检查的方法
- 完整性检查:检查数据是否满足完整性规则的机制
3.进行违约处理
二:实体完整性
实体完整性:若属性A是基本关系\(R\)的主属性,则属性A不能取空值
(1)定义实体完整性
定义方法:关系模型的实体完整性在CREATE TABLE
中用PRIMARY KEY
定义。注意
- 如果主码仅有一个属性(单属性):可以定义为列级约束条件也可以定义为表级约束条件
- 如果主码有多个属性:注意仅能定义为表级约束条件
演示:
如下有几个典型的例子
将Student表中的Sno属性定义为码(1)在列级定义主码CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) NOT NULL, Ssex CHAR(2) ,Sage SMALLINT,Sdept CHAR(20));(2)在表级定义主码CREATE TABLE Student(Sno CHAR(9), Sname CHAR(20) NOT NULL,Ssex CHAR(2) ,Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY (Sno)); (3)将SC表中的Sno,Cno属性组定义为码CREATE TABLE SC(Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT,PRIMARY KEY (Sno,Cno) /*只能在表级定义主码*/);
(2)实体完整性检查和违约处理
每当插入或对主码列进行更新操作时,DBMS按照实体完整性规则自动进行检查,包括
- 检查主码值是否唯一,如果不唯一则拒绝插入或修改
- 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改
其中检查记录中主码值是否唯一有两种方法
全表扫描:十分耗时
建立索引:关系数据库管理系统一般都会在主码上自动建立一个索引
三:参照完整性
(1)定义参照完整性
定义方法:关系模型的参照完整性在CREATE TABLE
中用FOREIGN KEY
定义,同时用REFERENCES
短语指明这些外码参照哪些表的主码
演示:
定义sc
表的时候,其(Sno,Cno)
是主码,分别参照Sudent
的主码和Course
表的主码
CREATE TABLE SC(Sno CHAR(9) NOT NULL,Sno CHAR(4) NOT NULL,Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno),FOREIGN KEY(Cno) REFERENCES Course(Cno));
(2)参照完整性检查和违约处理
A:破坏完整性的行为
参照完整性将表与表联系在了一起,所以对其中一个表的修改很可能会影响到另外一张表
举个例子,被参照表是Student
,参照表是sc
,破坏参照完整性的行为及其违约处理如下表所示
对于参照表sc
的行为
- 向
sc
表(参照表)中插入一个元组,这是会被拒绝的。因为有可能你所插入的元组的Sno
(外码)无法在Student
表中找到,这就意味着在成绩表中插入了一个非本班同学的成绩,这显然是不合理的 - 修改
sc
表(参照表)中的一个元组,这是会被拒绝的。因为有可能你会修改该元组的Sno
(外码),这就可能导致Sno
无法在Student
表中好到 - 删除
sc
表(参照表)中的一个元组,这是可行的。因为它无非就是一条成绩信息
对于被参照Student
的行为
- 删除
Student
表(被参照表)中的一个元组,这是会被拒绝(也有可能级联删除或设为NULL
)的。因为删除一个元组后,该元组所对应的Sno
(主码)将不复存在,这就有可能导致sc
表(参照表)中某些元组的Sno
(外码)在Student
表中找不到 - 修改
Student
表(被参照表)中的一个元组,这是会被拒绝(也有可能级联删除或设为NULL
)的。因为一旦修改了该元组的Sno
属性,就会发生和上面一样的问题 - 向
Student
表(被参照表)插入一个元组,这是可行的。因为它无非就是一个新同学嘛
B:违约处理措施
①:拒绝
拒绝:不允许该操作执行,为默认策略
②:级联
级联:当删除或修改Student
表(被参照表)的一个元组导致与sc
表(参照表)不一致时,则会删除或修改sc表(参照表)中的所有导致不一致的元组
- 比如删除
Student
表中Sno
为“201215121”的元组后,则会从sc
表中级联删除sc.Sno="201215121"
的所有元组 - 注意:在这个例子中,按照语义环境选择级联删除是正确的,因为学生信息一旦删除了,那么成绩信息就没有存在的意义了
③:设为空值
假设有下面两个关系(划线为主码)
- 参照表为
学生
表 - 被参照表为
专业
表
设为空值:当删除或修改专业
表(被参照表)的一个元组时造成了不一致,则将学生
表(参照表)中的所有造成不一致的元组的对应属性(专业号)设为空值
- 比如删除
专业
表中专业号为12的专业,那么接着就要把学生
表中专业号=12的所有元组的专业号设置为空值 - 注意:在这个例子中,按照语义环境选择设置为空值是正确的,因为专业一旦删除,表明该学生需要重新分配专业,除非该学生毕业,否则不可能把学生信息给删除
其中关于外码是否可以取空值,在前面的文章已经有详细介绍:(数据库系统概论|王珊)第二章关系数据库-第二节、第三节:关系操作和关系完整性
C:SQL实现
综上,在定义完整性约束时还要给出相应的处理策略
CREATE TABLE SC(Sno CHAR(9)Sno CHAR(4) Grade SMALLINT,//是外码也是主码,故不能取空值,实体完整性PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno)ON DELETE CASCADE //删除Student表的元组时,级联删除本表相应元组ON UPDATE CASCADE, //更新Student表中的Sno时,级联更新本表相应元组FOREIGN KEY(Cno) REFERENCES Course(Cno)ON DELETE NO ACTION //删除Course表的元组造成不一致时,拒绝执行ON UPDATE CASCADE //更新Course表中的Cno时,级联更新本表相应元组);
- 策略可以根据具体环境、语义选择
四:用户自定义完整性
用户自定义完整性针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求
(1)属性上的约束条件
A:不允许取空值(NOT NULL)
演示
CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT NOT NULL,PRIMARY KEY(Sno,Cno)//定义了实体完整性,隐含了不允许取空值,在列级中可不写);
B:列值唯一(UNIQUE)
演示
CREATE TABLE DEPT(Deptno NUMERIC(2),Dname CHAR(9) UNIQUE NOT NULL, //唯一且不能取空值Location CHAR(10),PRIMARY KEY(Depto));
C:满足指定条件(CHECK)
演示
例如Ssex
只能取“男”或“女”
CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(8) NOT NULL,Ssex CHAR(2) CHECK(Ssex IN ("男","女")),Sage SMALLINT,Sdept CHAR(20));
例如Grade
的取值范围为[0,100]
CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT CHECK(Grade >= 0 AND Grade <= 100),PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno),FOREIGN KEY(Cno) REFERENCES Course(Cno));
(2)元组上的约束条件
同属性值限制相比,元组级的限制可以设置不同属性之间的取值的相互约束条件
演示
例如,规定插入男性时,其名字不能以Ms.
开头
CREATE TABLE Student(Sno Char(9),Sname CHAR(8) NOT NULL,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY(Sno),CHECK(Ssex="女" OR Sname NOT LIKE "Ms.%"));
- 是女性时条件成立可以插入
- 是男性时,同时还要判断其姓名不能以
Ms.
开头
-
今日热门!(数据库系统概论|王珊)第五章数据库完整性-第一、二、三节:数据库三大完整性
pdf下载:密码7281专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目...
来源: 今日热门!(数据库系统概论|王珊)第五章数据库完整性-第一、二、三节:数据库三大完整性
精选!特斯拉前脸被完全撞烂 气囊没弹!车主:可以去维权吗?
当前聚焦:《地下城与勇士》大面积更改名称、美术素材 玩家喊话中消协:退钱
环球通讯!特斯拉创始人:自动驾驶是胡扯 汽车不应像iPhone
【天天新要闻】AMD、NV把显卡卖到万元 Intel成救星:下代能冲RTX 4080
手机预置软件影响用户体验 央媒揭秘幕后原因:厂商利益驱动
全球视点!苹果上新348元省电保护膜!网友:觉得贵的不是目标客户
读Java实战(第二版)笔记14_CompletableFuture及反应式编程背后的概念
如果我种一个橄榄核,它会长成一棵树吗?
天天即时:全球第10 三星Galaxy S23 Ultra相机DXO等分140:不敌小米11 Ultra
《塞尔达传说:王国之泪》日本最新海报曝光:腐朽大师剑现身
讯息:《生化危机4:重制版》硬件要求出炉:开光追 A卡很受伤
仰望银河背后 吉利是真着急了
散片就是这么来的?男子腰缠155片CPU入境被海关查获
【全球热闻】SpringBoot中统一API返回格式的两种方式
焦点消息!C#两个特殊的集合类StringCollection与StringDictionary
每日聚焦:03-数据类型
快播:期末复习——虚拟内存
速讯:04-数据类型转换
当前报道:安卓机皇!三星Galaxy S23 Ultra下周首销:价格对标iPhone 14 Pro Max
环球热讯:蜜雪冰城门店没关音响扰民一宿 客服:门店整改 向周围居民送冰淇淋致歉
RTX 40系移动平台性能测试出炉:RTX 4080与RTX 4090差距极小
世界新消息丨日本新生儿数量首次跌破80万 创有统计以来最低值:789万老人还在打零工
全球快播:iPhone 14最高降1600元 苹果经销商贴本卖机:谁还买安卓?
九型性格系统_0型血女生的性格
世界快资讯丨首届中国非遗保护年会开幕 四川非遗项目精彩亮相
简讯:超过年限要报废!老人用高压锅炖肉脸部被重伤
女子网购奶粉4个月吃剩半罐退货:被店家吐槽似乞丐
官方称《狂飙》拍摄地拍照收费算勒索: “刀哥”回应不是我 行为不可取
头条焦点:伸展树(Splay)详解
当前简讯:期末复习——内存管理
报道:django连接ubuntu22下的mysql8
打造自己的ChatGPT:逐字打印的流式处理
从矩阵的谱半径到神经网络梯度消失
当前速读:女子厨房接水时速热水龙头突然爆炸冒白烟:爆炸声堪比雷响
【天天时快讯】特斯拉Model 3追尾公交1死1伤 事故已影响销售:网友关心刹车问题
全球快资讯丨女子屋内湿度表1年数值不变 好奇拆下检查后无语:还以为是坏的
世界时讯:【JS】Pug调用自定义JS函数
头条:Java正则匹配域名白名单
曾经很火但消失了的APP!网友第一个想到的是”腾讯微博“
环球即时:女子入住网红酒店发现床垫有尿渍:满房一股味
防AI越界!微软将出手:把必应聊天回复限制在5条以内
天天热文:全球最高安全标准 我国自研华龙一号技术:太平岭核电预计2025年投产发电
天天热资讯!挑战全网最土的“公主下午茶” 让人看饿:网友感慨羞辱多少爱装腔作势人
【新要闻】组合数学_第1章_排列与组合
每日消息!称霸意甲的非洲新一代神锋,奥斯梅恩正在征服足坛
让NV对30系显卡降价不可能!厂商清仓RTX 3080:2年后价格重回首发价
全球观速讯丨《文明6》已玩腻 等了7年的《文明7》官宣:主管大换血
环球关注:tui.editor一款功能强大的markdown编辑器
热消息:关于python中将字典的所有key组成一个列表的方式
【环球报资讯】Cesium CallbackProperty(十五)
【世界独家】全天候显示能掉多少电?iOS 16.4告诉你
环球观速讯丨公司回应要求员工扫厕所:这是福利 每月有几十元奖励
焦点日报:冲击40亿有望!《流浪地球2》累计票房已超38亿
女子情人节翻垃圾桶捡到金链:最后被前主人要回 网友热议
全球速读:【算法训练营day48】LeetCode198. 打家劫舍 LeetCode213. 打家劫舍II LeetCode337. 打家劫舍III
GitHub 入门 与 2023年2月18日10:29:02
观天下!假的!马斯克否认修改算法推荐自己帐号 将追责说谎员工
环球微动态丨颠覆性创新 潍柴全球首发大功率SOFC燃料电池:研发花了20亿
环球新资讯:学习笔记——尚好房项目的数据库建表文件
VirtualBox 配置虚拟机 Host-only 和 Nat
世界百事通!win系统提示请插入多卷集的最后一张磁盘解决方法
第三章 计算机进行小数运算时出错的原因
全球聚焦:北江纺织:拟冲刺上交所IPO上市,预计募资4.22亿元,近年综合毛利率逐年下降
【环球速看料】五菱会玩!城市玩乐潮品SUV悦也“小书包”是块屏:可自定义内容
天天看点:打造名族品牌!杨元庆:联想核心生产制造还是立足中国
天天快播:[数据结构] AVL树
全球头条:超越GPS主导国内导航定位 北斗日定位量超3000亿次
焦点简讯:努比亚Z50 Ultra保护壳泄漏:后置摄像模组巨大无比
全球快看:院士称我国已经具备ChatGPT算力基础 关键在如何爆发
全球新消息丨工作至死:日本789万老人还在打零工
资讯:菲律宾一飞机早上起飞后失联:近期第二起
(数据库系统概论|王珊)第四章数据库安全性:习题
快播:橙色奶油冰淇淋层蛋糕食谱
世界要闻:精装版吉利星越L?领克DX11最新谍照曝光:首上魅族车机
天天消息!秒美国资费!每月198 还能更便宜:我国千兆宽带将全面普及 第二批城市名单来了
焦点报道:java便捷的word导出工具(officejj)
当前观点:关于 The River All Red (Tr.许渊冲) 的一点感想
高尔夫美女参战《蚁人3》
网友曝光《狂飙》拍摄地有人竖牌“拍视频5元1次”:官方回应来了
天天精选!三亚去世侏儒抹香鲸被解剖:胃内有大量塑料/线虫 导致无法进食
4.打包子应用 投票
环球今日讯!极兔一面:10亿级ES海量搜索狂飙10倍,该怎么办?
一文让你彻底了解ChatGPT
焦点快看:要控制人类节奏!聊天机器人爱上用户并诱其离婚 微软出手限制了
年制绿氢3万吨、绿氧24万吨!我国全球最大绿氢项目开工
刘强东完了!章泽天官宣喜讯,被出轨4年。网友:这反击漂亮!
环球观点:数据结构刷题2023.02.18小记
环球精选!特斯拉追尾公交致1死 车主呼吁放开单踏板模式:为何老是失控?这是原因
环球资讯:1986年拍摄的泰坦尼克号残骸视频首次公开:残骸尺寸巨大
当前滚动:如何保存石榴
当前观点:iPhone 15 Pro CAD渲染图对比iPhone 14 Pro:改用USB C端口、相机更凸起、边框更窄
今日热门!渔民出海偶遇100多只海豚逐浪嬉戏:场面很美很壮观
苹果iOS 16.4首个公测版发布:普通用户将告别测试版
天天观焦点:油电平价!比亚迪秦PLUS DM-i 2023冠军版杀疯了:9.98万就能买DM-i超级混动
start+up韩剧在线观看_start up
环球快消息!女子不吃碳水半年狂减46斤 结果脱发、怕冷:治了半年
时讯:老黄厨房新菜来了 NVIDIA确认GTC 2023大会3月20日开幕
环球观天下!为什么这年头是个人就能造车?这事真就没门槛?
比半张A4纸还小 惠普1L迷你主机实测:3050 Ti独显给力