当前位置:
文档之家› 数据库基础第二章 关系数据模型与关系运算PPT课件
数据库基础第二章 关系数据模型与关系运算PPT课件
其中每一个元素(d1,d2,…,dn)称为一个元组(Tuple), 通常用t表示;元组中每一个值称为一个分量(Component)。
例子:总分登记表中的四个域
2.1 关系数据模型
❖一个关系(relation)是一个笛卡尔乘积的子集。
例1:总分登记表 Domain(学号) Domain(姓名) Domain(性别) Domain(总分)
任何含有null的算术运算,其结果都是null. 在集合运算中,null被忽略. 在重复删除和分组操作中,两个null被认为是相同的. Isnull(null)的值为true.
2.2 关系数据操作
❖ 如何处理空值(null)
三值逻辑中使用真值 unknown:
与空值的比较运算返回真值 unknown. 如果用 false 来取代 unknown,那么 not (A < 5) 并不总
例2 设工厂数据库中有两个关系模式: DEPT(D#,DNAME) EMP(E#,ENAME,SALARY,D# )
车间模式DEPT的属性为车间编号、车间名,职工模式 EMP的属性为工号、姓名、工资、所在车间的编号。每 个模式的主键与外键已标出。在EMP中,由于D# 不在 主键中,因此D# 值允许空。
等于 A >= 5(当A是一个空值时). 选择时仅使条件表达式的结果为True的元组选取出来
2.2 关系数据操作
❖ 完整性约束
(1)实体完整性约束
❖实体完整性约束(Entity Integrity)要求组成主键的属性 不能为空值,
(2)参照完整性约束
❖参照完整性规则:如果X是关系R的外键,它与关系S的主键 KS相对应,则对于R中每个元组在X上的值必须为:
关系模式和关系实例
❖关系模式
关系模式(Relation Schema)。它是一个5元组: R (U, D, dom, F)
❖关系实例
❖ 关系的性质
在关系模型中,对关系作了下列规范性限制:
(1)关系中每一个属性值都是不可分解的;
(2)关系中不允许出现重复元组(即不允许出现相同 的元组);
(3)由于关系是一个集合,因此不考虑元组间的顺序, 即没有行序;
域演算语言QBE
2.2 关系数据操作
❖ 如何处理空值(null)
null是一个常量,仅在数值和字符串类型的列中有意义,代表 的是没有意义或者是不确定的值。例如,学生选了课程,当 成绩没有出来时grade字段的值应该为空;或者工资表中一个 行政人员在课时补贴一栏的值为null,因为它不可能有课时补 贴的收入.
或者为空值(X包含的所有属性都为空值) 或者等于S中某个元组的主键值
(3)用户定义完整性约束
❖例如:订货数不得小于0;订货数不得小于存货量
例1 下面各种情况说明了参照完整性规则在关系中如何实现的。 ① 在关系数据库中有下列两个关系模式:
S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) 这里带下划线者为主键,SC关系中的S属性为外键。据规则 要求关系SC中的S# 值应该在关系S中出现。如果关系SC中有一 个元组(S7,C4,80),而学号S7却在关系S中找不到,那么我 们就认为在关系SC中引用了一个不存在的学生实体,这就违反 了参照完整性规则。 另外,在关系SC中S# 不仅是外键,也是主键的一部分,因 此这里S# 值不允许空。
(4)元组中的属性在理论上也是无序的,但使用时按 习惯考虑列的顺序。
2.2 关系数据操作
❖ 关系数据操作
数据查询
数据更新
关系代数
❖ 关系数据操作过程分类
❖ 关系数据语言
关系数据语言
关系运算
关系演算
元组演算
域演算
关系代数语言 ISBL
关系演算语言
具关系代数与关系演 算双重特点的语言 SQL
元组演算语言 ALPHA
基数、度数
2.1 关系数据模型
❖键
超键、候选键、主键、外键 ❖ 设X是关系R的一个或一组属性,但不是关系R的键。如果X与 关系S的主键KS相对应,则称X是关系R的外键(Foreign key)。 关系R为参照关系(Referencing Relation)。关系S为被参照关 系(Referenced Relation)或目标关系(Target Relation)。
数据库基础
第二章 关系数据模型与关系运算
fanzhf@ 声明:本课件在汤娜老师的课件基础上改编
2.1 关系数据模型
❖ 关系数据结构描述
关系的笛卡尔积乘积定义
❖Domain(域):具有相同数据类型的值的集合称为域。 ❖Cartesian Product (笛卡尔积)
定义 :设有一组域D1,D2,…,Dn,域D1,D2,…,Dn的笛 卡尔乘积(Cartesian Products)定义为如下集合: D1×D2×…×Dn = {(d1,d2,…,dn)| diDi,i=1,2,…, n}
例2(例1的抽象):如果一个关系T有四个属性, A1 , A2 , A3 和 A4, 则 T Domain(A1 ) x Domain(A2 ) x Domain(A3 ) x Domain(A4 )
关系的二维表格描述
❖关系是满足特定规范性要求的二维表格 ❖关系的规范化限定 ❖关系的其他一些概念:数据库、关系(表)、属性、元组、
S兼容的关系,该关系是由属于R而且不属于S的元组构成的集 合,即在R中减去与S中相同的那系代数运算
并运算;差运算;投影运算;选择运算;广义笛卡尔 乘积
数据更新基本运算(对应于传统集合运算)
❖更新操作:插入;删除;修改 ❖(两张表相兼容)两张表被称为是兼容的,当且仅当它们具
有相同的模式. ❖Example:
2.3 关系代数
❖1.插入---集合的并运算
设有兼容关系R、S(即R、S具有相同的关系模式),则二者的
并运算定义为:
R S{t|t Rt S}
式中“∪”为并运算符,t为元组变量,结果R∪S为一个新的与R、
S兼容的关系,该关系是由属于R或属于S的元组构成的集合。
❖2.删除---集合的差运算
设有兼容关系R、S,则二者的差运算定义为:
R S { t|t R t S }
式中“-”为差运算符,t为元组变量,结果R-S为一个新的与R、