(首先理解弄透实体完整性,实体完整性规则是最好理解的,再来理解参照完整性就不难了)

2.参照完整性

现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的,这样就自然存在着关系与关系间的引用。

定义:设F是基本关系的一个或一组属性,但不是关系R的码(如果某张表多个属性作为主码,那么这里的主码不能理解为单个主属性,这也是码和主属性的区别),Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。关系和R和S不一定是不同的关系。

2.1 一对多关系的理解

学生实体和专业实体用下面关系表示:

学生(学号,姓名,性别,专业号,年龄)

(Sno,Sname,Ssex,Smajor,Sage)

专业 (专业号,专业名)

(Major,Mname)

(黑体加下划线的属性为主码)

  1. 这两个关系之间存在着属性的引用,及学生关系引用了专业关系的主码“专业号”。显然这个“专业号”必须是确实存在的专业号,打个比方,学校现在只开了计算机,政治,数学,
专业
专业号 专业名
001 计算机
002 政治
003 数学

我总不可能添加一个学生是小偷专业的吧!!!所以这也是为什么参照完整性规则是对多个关系(关系可以理解为实体或关系,实体或关系可以理解为一张表,也就是多张表,不懂可以翻阅上篇博客)的约束 ,所以现在我每在学生表添加一个学生都要参照专业表。

回到定义,设F是基本关系的一个或一组属性,(这里的F可以指学生表专业号),但不是关系R(这里指学生表)的码,Ks(专业表专业号)是基本关系S(专业表)的主码,如果F(学生表中的专业号)与Ks(专业表专业号)相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系。关系R和S不一定是不同关系(这句话可以忽略,影响现阶段的理解)。

有了上面的定义与对照的关系表示可以弄懂

学生表中红字专业号为外码,基本关系R(学生表)为参照关系,基本关系S为被参照关系。

所以当你设置学生表中的专业号为外码  (前提是已经创建专业表ZMajor,实体完整性不用我多说吧,顺序不能弄反)

CREATE TABLE Student

(  Sno CHAR(9),

Sname CHAR(4),

Ssex  CHAR(2),

Smajor  CHAR(9),

Sage  SMALLINT,

PRIMARY KEY(Sno),/*这里定义了实体完整性,Sno不能取空值,参照上一篇博客*/

FOREIGN KEY(Smajor)  REFERENCES ZMajor(Major)/*定义了参照完整性,学生表专业号引用专业表专业号*/

ON DELETE CASCADE   /*当删除ZMajor表中的某个专业的时候,比如学校取消了某个专业,级联删除这个专业的所有学生

当然,如果你正在学计算机,学校如果取消计算机专业,你的信息(学生表)也会进行级联删除

所以一般学校等你们毕业了,计算机专业不招人了也没有人了,学校再来取消这个专业,所以这个                                               级联删除不是很常见。毕竟是贴近现实世界,大学取消某个专业*/

ON UPDATE CASCADE /*理解了上面的注释话,这个就好理解了,当更新ZMajor表中某个专业信息,比如你们校长疯了,计算机专 业全部取搬砖专业,所以你们所有计算机专业的学生专业号001-计算机,统一是001-搬砖,其实学生表中001并没有改变,但是当查询到你的时候,比如连接查询,嘿嘿,那你就是搬砖专业*/

)

级联操作只是参照完整性被破坏时采取策略的一种,默认策略为NO ACTION(拒绝执行),有了上面的理解基础,不难理解当INSERT插入学生表中数据,你加了一个不存在的专业号,这就就是为上面数据库就会拒绝执行。查询的话不改变数据库中的原则。参照完整性被规则破坏一般是被参照表中(例子中的专业表)的内容被修改,破坏时的操作均写在参照表的定义中。

以上部分时一对多的关系,如果有需要的话私我,我可以继续更新多对多参照完整性。

关系的完整性-参照完整性相关推荐

  1. 数据库(笔记)——候选码、主码、外码以及关系的完整性

    关系的码与关系的完整性 关系的码 1. 候选码 2. 主码 3. 外码 关系的完整性 总结 关系的码 1. 候选码 候选码是能够唯一标识关系中某一个元组的一个属性或属性集,也叫候选键 如: 学生关系中 ...

  2. 第二章 关系数据结构及关系的完整性习题解析

    1.某关系R的外键是指 A.(正确答案)解析:其它关系的候选键,可以是R中的主属性或非主属性 B.(错误答案)解析:外键是另一个关系的主键 C.(错误答案)解析:其它关系的候选键,可以是R中的主属性或 ...

  3. 关系的候选码、主码、外码以及关系的完整性

    关系的候选码.主码.外码 候选码 定义:能惟一标识关系中元组的一个属性或属性集,称为候选码(Candidate Key) "学生关系"中的学号能惟一标识每一个学生 "选课 ...

  4. 关系、关系模式、关系数据库的区别和概念以及关系的完整性约束条件

    以下内容是本人利用网络资料以及课堂学习总结的学习笔记,如有错误欢迎评论区更正. 前言 这是一组关系实例 域(Domain):一组具有相同数据类型的值的集合(如:整数.实数.具有某一范围的一个整数... ...

  5. 【梳理】数据库系统概论 第2章 关系数据库 2.1 关系数据结构及其形式化定义 2.2 关系操作 2.3 关系的完整性

    教材:王珊 萨师煊 编著 数据库系统概论(第5版) 高等教育出版社 注:文档高清截图在后 第2章 关系数据库 2.1 关系数据结构及其形式化定义 1.关系数据库系统是支持关系模型的数据库系统.关系模型 ...

  6. 关系的完整性-实体完整性

    关系模型的完整性规则是对关系的某种约束条件. 顾名思义,关系的完整性规则是对关系的约束,这些约束条件实际上是现实世界的要求. 关系模型中有三类完整性的约束:实体完整性,参照完整性,用户定义的完整性. ...

  7. 数据库原理和应用(6)—— 候选码、主码和外码,关系的完整性、关系代数、关系的演算

    一.候选码.主码和外码 1. 候选码(Candidate Key) 定义:能唯一标识关系中元组的一个属性或属性集,称为候选码. 性质:具有唯一性和最小性. 2. 关系的主码和外码 主码 定义:从多个候 ...

  8. 简述关系数据库的数据完整性规则_什么是数据库关系的完整性?

    关系模型的完整性规则是对关系的某种约束条件.关系模型中有三类完整性约束:实体完整性规则,用户定义的完整性规则,和参照完整性规则. 1. 实体完整性规则 关系的主键可以表示关系中的每条记录,二关系的实体 ...

  9. mysql实体完整性实现方法_mysql数据库 --数据完整性---实体完整性-域完整性-参照完整性...

    一.数据完整性 数据完整性是为了保证插入到数据库中的数据是正确的,防止用户可能的错误输入. 数据完整性分为实体完整性.域完整性.参照完整性. 2.1实体(行)完整性 (实体完整性中的实体指的是表中的行 ...

最新文章

  1. 独家 | 2018年Analytics Vidhya上最受欢迎的15篇数据科学和机器学习文章
  2. SAP WM Storage Type Search配置里的Storage Class WPC标记
  3. STM32外部中断与各通道对应关系
  4. MAC Android Studio| Error: The android gradle plugin version 3.0.0-alpha1 is too old
  5. 牛客网(剑指offer) 第十二题 数值的整数次方
  6. 一个有趣的关于flash和多种设备交互等技术应用的演示网站
  7. 【SpringBoot 2】(五)自动配置简析源码 开发中小技巧
  8. MessagePack Jackson 数据大小
  9. apt-get install php5-redis,Ubuntu14-04安装redis和php5-redis扩展
  10. LeetCode 77. Combinations
  11. EFRCN对应频段号
  12. Python安装和环境配置
  13. QT Designer的安装和使用
  14. android学习笔记-udacity/Sunshine-Version-2出错
  15. 转行做程序员,月薪过万需要多久?
  16. 实时数据库历史数据容量的计算方法
  17. 计算机声声慢音乐,有没有适合声声慢的背景音乐
  18. leetcode807. 保持城市天际线(java)
  19. 网络攻防实验:defcon2015 r0pbab
  20. 网站搜索功能lucene

热门文章

  1. Putty串口使用技巧
  2. 海思Hi35系列术语记录
  3. 华为设备配置通过GRE接入虚拟专用网
  4. 利用计算机录音模拟声波,realplayer插件 声音数字化|74数字化声音试题(7)
  5. 学习ANSYS的十大论坛
  6. java项目 建文件夹_在Java工程下,用java代码创建文件夹
  7. 国产工业软件做的如何?
  8. 【调剂】北京信息科技大学2022年接收硕士研究生调剂公告
  9. Hive学习(15)-Hive分析窗口函数(三)
  10. 日本摄影师梶原憲之宫崎骏动漫风女孩儿童摄影作品图片合集欣赏