版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统数据库系统 授课教师:张淼授课教师:张淼 计算机学院计算机学院 n实体完整性和参照完整性实体完整性和参照完整性 q关系模型必须满足的完整性约束条件关系模型必须满足的完整性约束条件 q通常由关系系统自动支持通常由关系系统自动支持 n用户定义的完整性用户定义的完整性 q应用领域需要遵循的约束条件,体现了具体领应用领域需要遵循的约束条件,体现了具体领 域中的语义约束域中的语义约束 n实体完整性规则(实体完整性规则(Entity Integrity):若属性):若属性A是是 基本关系基本关系R的主属性,则属性的主属性,则属性A不能取空值不能取空值 q空值(空值(null valuenull
2、value):不知道或不存在):不知道或不存在 例例 SAP(SUPERVISORSAP(SUPERVISOR,SPECIALITYSPECIALITY,POSTGRADUATE)POSTGRADUATE) POSTGRADUATEPOSTGRADUATE属性为主码属性为主码 (假设研究生不会重名),则其不能取空值(假设研究生不会重名),则其不能取空值 主码主码 注意:注意: 实体完整性规则规定基本关系的所有主属性都不能实体完整性规则规定基本关系的所有主属性都不能 取空值取空值 n例例 选修选修( (学号,课程号学号,课程号,成绩,成绩) ) 学号、课程号为主码学号、课程号为主码 学号和课程号
3、两个属性都不能取空值学号和课程号两个属性都不能取空值 n实体完整性规则的说明实体完整性规则的说明 q实体完整性规则是针对基本关系而言的。一个基本实体完整性规则是针对基本关系而言的。一个基本 表通常对应现实世界的一个实体集表通常对应现实世界的一个实体集 q现实世界中的实体是可区分的,即它们具有某现实世界中的实体是可区分的,即它们具有某 种唯一性标识。种唯一性标识。 q相应地,关系模型中以主码作为唯一性标识相应地,关系模型中以主码作为唯一性标识 q主码中的属性即主属性不能取空值。主码中的属性即主属性不能取空值。 n主属性取空值,就说明存在某个不可标识的实体,主属性取空值,就说明存在某个不可标识的实
4、体, 即存在不可区分的实体,这与第(即存在不可区分的实体,这与第(2)点相矛盾,因)点相矛盾,因 此这个规则称为实体完整性此这个规则称为实体完整性 n关系间的引用关系间的引用 q在关系模型中实体及实体间的联系都是用关系在关系模型中实体及实体间的联系都是用关系 来描述的,因此可能存在着关系与关系间的引来描述的,因此可能存在着关系与关系间的引 用用 例例 学生实体、专业实体学生实体、专业实体 学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄) 专业(专业(专业号专业号,专业名),专业名) 例例 学生、课程、学生与课程之间的多对多联系学生、课程、学生与课程之间的多对多联系
5、学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄) 课程(课程(课程号课程号,课程名,学分),课程名,学分) 选修(选修(学号,课程号学号,课程号,成绩),成绩) 学生学生 学生选课学生选课课程课程 例例 学生实体及其内部的一对多联系学生实体及其内部的一对多联系 学生(学生(学号学号,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,班长班长) 学学号号姓姓名名性性别别专专业业号号年年龄龄班班长长 801张张三三女女0119802 802李李四四男男0120 803王王五五男男0120802 804赵赵六六女女0220805 805钱钱七七男男0219 n外码外码
6、q设设F F是基本关系是基本关系R R的一个或一组属性,但不是关的一个或一组属性,但不是关 系系R R的码。如果的码。如果F F与基本关系与基本关系S S的主码的主码K Ks s相对应,相对应, 则称则称F F是基本关系是基本关系R R的的外码外码 n基本关系基本关系R称称为为参照关系参照关系(Referencing Relation) n基本关系基本关系S称称为为被参照关系被参照关系(Referenced Relation)或)或目标关系目标关系(Target Relation 说明说明 n关系关系R和和S不一定是不同的关系不一定是不同的关系 n目标关系目标关系S的主码的主码Ks 和参照关系
7、的外码和参照关系的外码F必须必须 定义在同一个(或一组)域上定义在同一个(或一组)域上 n外码并不一定要与相应的主码同名外码并不一定要与相应的主码同名 当外码与相应的主码属于不同关系时,往往当外码与相应的主码属于不同关系时,往往 取相同的名字,以便于识别取相同的名字,以便于识别 例例1:学生关系与专业关系:学生关系与专业关系 学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄) 专业(专业(专业号专业号,专业名),专业名) 学生关系的学生关系的“专业号专业号”与专业关系的主码与专业关系的主码“专业号专业号”相相 对应对应 “专业号专业号”属性是学生关系的外码属性是学生关
8、系的外码 专业关系是被参照关系,学生关系为参照关系专业关系是被参照关系,学生关系为参照关系 例例2:学生、课程、学生与课程之间的多对多联系学生、课程、学生与课程之间的多对多联系 学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄) 课程(课程(课程号课程号,课程名,学分),课程名,学分) 选修(选修(学号,课程号学号,课程号,成绩),成绩) 选修关系的选修关系的“学号学号” 与学生关系的主码与学生关系的主码“学号学号”相对相对 应应 选修关系的选修关系的“课程号课程号”与课程关系的主码与课程关系的主码“课程号课程号” 相对相对 应应 例例2:学生、课程、学生与课程之间的
9、多对多联系学生、课程、学生与课程之间的多对多联系 学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄) 课程(课程(课程号课程号,课程名,学分),课程名,学分) 选修(选修(学号,课程号学号,课程号,成绩),成绩) “学号学号”和和“课程号课程号”是选修关系的外码是选修关系的外码 学生关系和课程关系均为被参照关系学生关系和课程关系均为被参照关系 选修关系为参照关系选修关系为参照关系 例例3:学生实体及其内部的一对多联系:学生实体及其内部的一对多联系 学生(学生(学号学号,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,班长班长) “班长班长”与本身的主码与本身的主码
10、“学号学号”相对应相对应 “班长班长”是外码是外码 学生关系既是参照关系也是被参照关系学生关系既是参照关系也是被参照关系 主码主码 主码主码 外码外码 n参照完整性规则:参照完整性规则:若属性(或属性组)若属性(或属性组)F是基是基 本关系本关系R的外码,它与基本关系的外码,它与基本关系S的主码的主码Ks相相 对应(基本关系对应(基本关系R和和S不一定是不同的关系),不一定是不同的关系), 则对于则对于R中每个元组在中每个元组在F上的值必须为上的值必须为 或者取空值(或者取空值(F的每个属性值均为空值)的每个属性值均为空值) 或者等于或者等于S中某个元组的主码值中某个元组的主码值 学生关系与专
11、业关系学生关系与专业关系 学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄) 专业(专业(专业号专业号,专业名),专业名) 学生关系中每个元组的学生关系中每个元组的“专业号专业号”属性只取下面两类值:属性只取下面两类值: (1 1)空值,表示尚未给该学生分配专业)空值,表示尚未给该学生分配专业 (2 2)非空值,这时该值必须是专业关系中某个元组的)非空值,这时该值必须是专业关系中某个元组的“专专 业号业号”值,表示该学生不可能分配到一个不存在的专业中值,表示该学生不可能分配到一个不存在的专业中 学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄
12、) 课程(课程(课程号课程号,课程名,学分),课程名,学分) 选修(选修(学号,课程号学号,课程号,成绩),成绩) “学号学号”和和“课程号课程号”是选修关系中的主属性按照是选修关系中的主属性按照 实体完整性和参照完整性规则,它们只能取相应实体完整性和参照完整性规则,它们只能取相应 被参照关系中已经存在的主码值被参照关系中已经存在的主码值 学生(学生(学号学号,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,班长班长) “班长班长”属性值可以取两类值:属性值可以取两类值: (1)空值,表示该学生所在班级尚未选出班长)空值,表示该学生所在班级尚未选出班长 (2)非空值,该值必须是本关系中某个
13、元组的学号)非空值,该值必须是本关系中某个元组的学号 值值 供应商号供应商号供应商名供应商名所在城市所在城市 B01红星红星北京北京 S10宇宙宇宙上海上海 T20黎明黎明天津天津 Z01立新立新重庆重庆 零件号零件号颜色颜色供应商号供应商号 010红红B01 312白白S10 201蓝蓝T20 今要向关系今要向关系P P中插入新行中插入新行 ,新行的值分别列出如下。,新行的值分别列出如下。 哪些行能够插入?哪些行能够插入? A A(037(037,绿绿, null)null) B B(null(null,黄黄, T20)T20) C C(201(201,红红, T20)T20) D D(10
14、5(105,蓝蓝, B01)B01) E E(101(101,黄黄, T11)T11) 零件关系P(主码是“零件号 ”,外码是“供应商号”) 供应商关系S(主码是“供应商号” ) n用户定义的完整性是针对某一具体关系数据库用户定义的完整性是针对某一具体关系数据库 的约束条件,反映某一具体应用所涉及的数据的约束条件,反映某一具体应用所涉及的数据 必须满足的语义要求。必须满足的语义要求。 n关系模型应提供定义和检验这类完整性的机制,关系模型应提供定义和检验这类完整性的机制, 以便用统一的系统的方法处理它们,而不要由以便用统一的系统的方法处理它们,而不要由 应用程序承担这一功能。应用程序承担这一功能
15、。 例例: 课程课程(课程号课程号,课程名,学分,课程名,学分) q非主属性非主属性“课程名课程名”也不能取空值也不能取空值 q“学分学分”属性只能取值属性只能取值11,2 2,3 3,44 n关系数据结构关系数据结构 q 关系关系 n域域 n笛卡尔积笛卡尔积 n关系关系 q关系,属性,元组 q候选码,主码,主属性 q基本关系的性质 q 关系模式关系模式 q 关系数据库关系数据库 n关系的数据操作集合关系的数据操作集合 q查询查询 n选择、投影、连接、除、并、交、差选择、投影、连接、除、并、交、差 q数据更新数据更新 n插入、删除、修改插入、删除、修改 n关系的完整性约束关系的完整性约束 q实
16、体完整性实体完整性 q参照完整性参照完整性 n外码外码 q用户定义的完整性用户定义的完整性 n2.1 关系模型概述关系模型概述 (回顾)(回顾) n2.2 关系数据结构及形式化定义关系数据结构及形式化定义 n2.3 关系操作关系操作 n2.4 关系的完整性关系的完整性 n2.5 关系代数关系代数 n一种抽象的查询语言一种抽象的查询语言 n用对关系的运算来表达查询用对关系的运算来表达查询 n关系代数运算的三个要素关系代数运算的三个要素 q运算对象:关系运算对象:关系 q运算结果:关系运算结果:关系 q运算符:四类运算符:四类 n集合运算符集合运算符 q将关系看成元组的集合将关系看成元组的集合 q
17、运算是从关系的运算是从关系的“水平水平”方向即行的角度来进方向即行的角度来进 行行 n专门的关系运算符专门的关系运算符 q不仅涉及行而且涉及列不仅涉及行而且涉及列 n算术比较符算术比较符 q辅助专门的关系运算符进行操作辅助专门的关系运算符进行操作 n逻辑运算符逻辑运算符 q辅助专门的关系运算符进行操作辅助专门的关系运算符进行操作 集集 合合 运运 算算 符符 - 并并 差差 交交 广义笛卡广义笛卡 尔积尔积 比比 较较 运运 算算 符符 大于大于 大于等于大于等于 小于小于 小于等于小于等于 等于等于 不等于不等于 运算符运算符含义含义运算符运算符含义含义 关系代数运算符关系代数运算符 关系代
18、数运算符关系代数运算符 专门的专门的 关系关系 运算符运算符 选择选择 投影投影 连接连接 除除 逻辑运逻辑运 算符算符 非非 与与 或或 运算符运算符含义含义运算符运算符含义含义 n关系代数运算的分类关系代数运算的分类 q传统的集合运算传统的集合运算 n并、差、交、广义笛卡尔积并、差、交、广义笛卡尔积 q专门的关系运算专门的关系运算 n选择、投影、连接、除选择、投影、连接、除 n表示记号表示记号 (1) R,t R,tAi 设关系模式为设关系模式为R(A1R(A1,A2A2,An)An) 它的一个关系设为它的一个关系设为R R t t R R表示表示t t是是R R的一个元组的一个元组 tA
19、itAi则表示元组则表示元组t t中相应于属性中相应于属性AiAi的一个分量的一个分量 n表示记号表示记号 (2) tr ts R R为为n n目关系,目关系,S S为为m m目关系。目关系。t tr r R R, ,t ts s S S, t tr r t ts s称为元组的连接。它是一个 称为元组的连接。它是一个n n + + m m列的元组,列的元组, 前前n n个分量为个分量为R R中的一个中的一个n n元组,后元组,后m m个分量为个分量为S S中中 的一个的一个m m元组。元组。 n并并 n差差 n交交 n广义笛卡尔积广义笛卡尔积 n并(并(Union) qR R和和S S n具有
20、相同的目具有相同的目n(即两个关系都有(即两个关系都有n个属性)个属性) n相应的属性取自同一个域相应的属性取自同一个域 qR RS S n仍为仍为n目关系,由属于目关系,由属于R或属于或属于S的元组组成的元组组成 RS = t|t Rt S R S n并(并(Union) n差(差(Difference) qR R和和S S n具有相同的目具有相同的目n(即两个关系都有(即两个关系都有n个属性)个属性) n相应的属性取自同一个域相应的属性取自同一个域 qR - SR - S n仍为仍为n目关系,由属于目关系,由属于R而不属于而不属于S的所有元组的所有元组 组成组成 R -S = t|t Rt
21、 S R S n差(差(Difference) n交(交(Intersection) qR R和和S S n具有相同的目具有相同的目n(即两个关系都有(即两个关系都有n个属性)个属性) n相应的属性取自同一个域相应的属性取自同一个域 qR RS S n仍为仍为n目关系,由既属于目关系,由既属于R又属于又属于S的元组组成的元组组成 R RS S = = t t| |t t R Rt t S S R RS S = = R R ( (R R- -S S) R S n交(交(Intersection) n广义笛卡尔积(广义笛卡尔积(Extended Cartesian Product) qR R:n
22、n目关系,目关系,k k1 1个元组个元组 qS S:m m目关系,目关系,k k2 2个元组个元组 qR RS S n列:(列:(n+m)列的元组的集合)列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 n行:行:k1k2个元组个元组 RS = tr ts |tr R tsS n广义笛卡尔积(广义笛卡尔积(Extended Cartesian Product) n选择选择 n投影投影 n连接连接 n除除 n选择(选择(Selection) q选择又称为限制(选择又称为限制(RestrictionRestriction) q选择运算符的含义选择运算符的含义 n在关系在关
23、系R中选择满足给定条件的诸元组中选择满足给定条件的诸元组 F F( (R R) = ) = t t| |t t R RF F( (t t)= )= 真真 F F:选择条件,是一个逻辑表达式,基本形:选择条件,是一个逻辑表达式,基本形 式为:式为: ( X1Y1 ) ( X2Y2 ) ( X1Y1 ) ( X2Y2 ) n选择(选择(Selection) q选择运算是从关系选择运算是从关系R R中选取使逻辑表达式中选取使逻辑表达式F F为真为真 的元组,是从行的角度进行的运算的元组,是从行的角度进行的运算 n举例举例 设有一个学生设有一个学生-课程数据库,包括学生关系课程数据库,包括学生关系 S
24、tudent、课程关系、课程关系Course和选修关系和选修关系SC Student 学号 Sno 姓 名 Sna me 性 别 Ss ex 年 龄 Sag e 所 在 系 Sde pt 2002 1512 1 李 勇 男20CS 2002 1512 2 刘 晨 女19IS 课程号 Cno 课程名 Cname 先行课 Cpno 学分 Ccredit 1数据库54 2数学2 3信息系统14 4操作系统63 5数据结构74 6数据处理2 7PASCAL语言64 Course SC 学号 Sno 课程号 Cno 成绩 Grade 200215 121 192 200215 121 285 20021
25、5 121 388 200215 122 290 200215 122 380 例例1 查询信息系(查询信息系(IS系)全体学生系)全体学生 Sdept = IS (Student) 或或 5 =IS (Student) 结果:结果: SnoSna me Ssex Sage Sdep t 200215 122 刘晨刘晨女女19IS 200215 125 张立张立男男19IS 例例2 查询年龄小于查询年龄小于20岁的学生岁的学生 Sage 20(Student) 或或 4 20(Student) 结果:结果: SnoSnameSsexSageSdept 200215122刘晨刘晨女女19IS 2
26、00215123王敏王敏女女18MA 200215125张立张立男男19IS n表示记号表示记号 (3) A,tA, 若若A A=A Ai i1 1,A Ai i2 2,A Aik ik ,其中 ,其中A Ai i1 1,A Ai i2 2,A Aik ik是 是A A1 1, A A2 2,A An n中的一部分,则中的一部分,则A A称为属性列或属性组。称为属性列或属性组。 tAtA=(=(t t A Ai i1 1 ,t t A Ai i2 2 ,t t A Aik ik) )表示元组表示元组t t在属性列在属性列A A上上 诸分量的集合。诸分量的集合。 则表示则表示 A A1 1,A
27、A2 2,A An n 中去掉中去掉 A Ai i1 1,A Ai i2 2,A Aik ik 后剩余 后剩余 的属性组。的属性组。 A A A n投影(投影(Projection) q投影运算符的含义投影运算符的含义 从从R R中选择出若干属性列组成新的关系中选择出若干属性列组成新的关系 A A( (R R) = ) = t t A A | | t t R R A:R中的属性列中的属性列 n投影(投影(Projection) q投影操作主要是从列的角度进行运算投影操作主要是从列的角度进行运算 q但投影之后不仅取消了原关系中的某些列,而但投影之后不仅取消了原关系中的某些列,而 且还可能取消某些
28、元组(避免重复行)且还可能取消某些元组(避免重复行) n投影(投影(Projection) ABC abc def cbc R R B , C(R) BC bc ef n例例3 查询学生的姓名和所在系查询学生的姓名和所在系 Student 学号 Sno 姓 名 Sna me 性 别 Ss ex 年 龄 Sag e 所 在 系 Sde pt 2002 1512 1 李 勇 男20CS 2002 1512 2 19IS n例例3 查询学生的姓名和所在系查询学生的姓名和所在系 即求即求StudentStudent关系上学生姓名和所在系两个属性关系上学生姓名和所在系两个属性 上的投影上的投影 Snam
29、e Sname,SdeptSdept(Student) (Student) 或或 2 2, ,5 5(Student) (Student) 结果:结果: SnameSdept 李勇李勇CS 刘晨刘晨IS 王敏王敏MA 张立张立IS 例例4 查询学生关系查询学生关系Student中都有哪些系中都有哪些系 Sdept(Student) 结果:结果: Sdept CS IS MA n连接(连接(Join) q连接也称为连接也称为连接连接 q连接运算的含义连接运算的含义 从两个关系的笛卡尔积中选取属性间满足一定条件的从两个关系的笛卡尔积中选取属性间满足一定条件的 元组元组 R SR S = | = | t tr r R Rt ts s S St tr r A At ts s B B A和和B:分别为分别为R和和S上度数相等且可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东江门幼儿师范高等专科学校《基础英语二》2023-2024学年第一学期期末试卷
- 广东财贸职业学院《陈设设计》2023-2024学年第一学期期末试卷
- 二氧化碳制备课件
- 《如何赢得合作》课件
- 赣州职业技术学院《工程计量与计价》2023-2024学年第一学期期末试卷
- 2024“五史”全文课件
- 小学生手工剪纸课件
- 赣南卫生健康职业学院《汉语言文学专业概论》2023-2024学年第一学期期末试卷
- 赣南科技学院《燃烧学B》2023-2024学年第一学期期末试卷
- 《保护煤柱的设计》课件
- 奥齿泰-工具盒使用精讲讲解学习课件
- 最新MARSI-医用黏胶相关皮肤损伤课件
- 工程开工报审表范本
- 航空小镇主题乐园项目规划设计方案
- 保洁冬季防滑防冻工作措施
- 少儿美术课件-《我的情绪小怪兽》
- 永续债计入权益的必备条件分析
- 预应力钢绞线张拉伸长量计算程序单端(自动版)
- 基坑监测课件ppt版(共155页)
- 开发区开发管理模式及发展要素PPT课件
- 急诊科科主任述职报告范文
评论
0/150
提交评论