实体完整性,参照完整性,外码,用户定义完整性,

  • Post author:
  • Post category:其他



概述

实体完整性

规则:


现实世界中,实体相互区分的,在数据中实体是一条元组,所以,元组之间要求相互区分。


关系及关系间的引用


在关系模型中实体及实体间的联系都是用关系来描述的,因此,可能存在着关系与关系间的引用。


如:


(1)学生(学号,姓名,专业号)


专业(专业号,专业名)


学生与专业号之间存在联系,专业与专业号之间也存在联系


所以学生与专业之间存在引用关系


(2)同一个关系内部属性也可能存在引用关系


如:学生(学号,姓名,性别,班长对应的学号)(学生即是参照关系也是被参照关系,自己对应自己嘛)


这里面,班长本身就是学生,所以,班长这个属性就引用了自己的学号



外码

(难点):


设 f 是基本关系 r 的一个或一组属性,但不是关系 r 的码,如果 f 与基本关系 s 的


主码


Ks 相对应,则称 f 是基本关系 r 的外码。


基本关系 r 称为参照关系,基本关系 s 称为被参照关系 或目标关系


个人理解:外码不是


主码


,外码是其它


表主码


注意:外码在其它表是主码的时候,外码与主码的名字可以不同,但是,长度,类型什么的需要一致。


学生(学号,姓名,专业号)(学生实体)(学生是参照关系)


专业(专业号,专业名)(专业实体)(专业是被参照关系)


学号是主码,专业号需要引用专业表的专业号


所以专业号是外码



参照完整性

规则:


例: 学生(学号,姓名,性别,专业号)(参照关系)


专业(专业号,专业名)(被参照关系)


学生关系中每个元组的 “ 专业号 ” 属性只能取空值或非空值


具体的元组值需要区分大小写



用户定义完整

性:


规定某些新信息必须要填,如:姓名必须要填,如果不填就会不完整



关系代数

:是一种抽象的查询语言,运算对象是关系,运算结果也是关系。


关系代数用到的运算符:



集合运算符

,专门的关系运算符,比较运算符,逻辑运算符


(1)

传统的集合运算

:把关系(一张表看作一个集合,一条元组看作一个集合的元素)


从行的角度来进行,有并 ,差、交、笛卡尔积四种运算


并:两个表格按行合并成一个表,并且去掉重复的


差:r – s 的到的是 属于 r 不属于 s 的元组,就两个集合的差集


交:就两个表格都有的元组。(交集)r – ( r –  s )


笛卡尔积(广义,元素是元组):


r ( 两个元组 ,三目(列))   s ( 三条元组,两目(列) )


r × s = 前三列来自  r 后两列来自 s (行与行分别相结合)


(2)

专门的关系运算

:专门的关系运算涉及行和列


1、关系模式为R(A1,A2,…,An), t [ Ai ] 是一个分量值(即属性,类似于数组)


2、A 与  A一杠合在一起代表 R 一个元组。


3、R 为 n 目 ,S 为 m 目,取R 的某个元组与S中的某个元组和并,称为 元组的连接,是一个 n+m 的元组


4、教材

51页图 2.3

在x这一列上找值为需要求的 x , 对应的象集(z)就是答案 ( 难点 )


感觉就是给出表格,查表得到对应得值就是

象集




版权声明:本文为m0_56501550原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。