【数据库学习笔记(二)】关系数据库系统

1.关系模型的数据结构

关系relation:
关系也称为表,一个关系对应一张二维表。关系模型结构单一,采用二维表结构表示实体和实体之间的联系。
元组touple:
元组也称为记录,表中的一行称为一个元组,它由一个实体的相关属性取值构成,相对完整的描述了一个实体
属性attribute
属性也称为列,表中的一列称为一个属性,给每一个属性起一个名称即为属性名。
码key
码也称为关键字或键,表中能唯一标识元组的最小属性集合。在最简单的情况下,码只包含一个属性。在有些情况下,关系模型的码由所有属性构成,这时候称为全码。
域domain
属性的取值范围
分量
分量是元组中的一个属性值
关系模式
关系模式是对关系的描述。
在关系模式中,实体以及实体间的联系都是用关系来表示的。
关系模型的“型”和“值”
在数据模型中有“型”和“值”的概念。
“型”是指对某一类数据的结构和属性的说明,“值”是型的具体一个具体赋值。
关系模式是对关系数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。

2.关系完整性约束

一个数据库中往往包含多张表,有些表之间存在一定关系,不同的表之间还可能重复出现相同的属性。
关系模型通过关系完整性约束条件保证数据的正确性和一致性

2.1域完整性

域完整性是对数据表中字段属性的约束,如规定该字段的数据类型、格式、值域范围、是否允许空值等约束,它通常是由确定关系结构时所定义的字段属性决定的。
域完整性把属性限制在一个特定的集合中。

2.2实体完整性

实体完整性是指关系中的元组在组成主关键字的属性上不能有空值,而且主关键字的值不能相同。
所谓“空值”就是不知道或不存在的值。应当注意,空值并不等于数值零,也不等于空字符或空字符串,没有成绩和成绩为零分显然是不同的。
对于实体完整性规则说明如下:
	1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集
	2)现实世界的实体是可标识和可区分的,它们具有某种唯一性标识
	3)相应地,关系模型中以主键作为唯一标识
	4)主关键字中的属性既不能取空值,也不能取重复值

2.3参照完整性

现实世界中的实体之间往往存在某种联系,在关系模型中,实体及实体间的联系都是用关系来描述的。
参照完整性要求一个外表的外关键字的取值必须是其主表主关键字存在的值或空值。对数据库进行修改时,可能会破坏表之间的参照完整性,所以为了保证数据库中数据的完整性,应该对数据库的修改加以限制,这些限制包括插入约束、删除约束和更新约束。
插入约束:当外表中插入新记录时,必须保证其中的外关键字值在主表中出现过。
删除约束:当要从主表中删除一条数据,必须考虑外表数据的完整性。根据应用环境的需要,对主表的删除操作进行约束。一般数据库系统提供两种约束:一种是限制删除,即系统检查该记录的主关键字值在某一个外表中存在,则不允许删除;另一种是级联删除,如果系统检查该记录的主关键字值在某个外表中出现过,则在删除主表的同时,将外表中与该主关键字值相对应的记录全部删除
更新约束:如果要修改主表中的主关键字,必须考虑外表中数据的一致性,根据应用环境开发环境的需要,对主表的更新操作进行约束。一般的数据库系统都提供两种约束:一种是限制更新,即如果系统检查该记录的主关键字值在某个外表出现过,则不允许更新;另一种是级联更新,如果系统检查该记录的主关键字值在某个外表出现过,则在更新主表中该记录的同时,将外表中主关键字值对应的记录的外关键字值全部更新。

2.4用户定义的完整性

用户定义的完整性是针对某一具体关系数据库的约束条件,关系数据库系统根据应用环境不同,往往需要一些特殊约束条件。

3.关系操作

关系模型给出了关系操作的能力。
关系数据模型的数据操作是以关系代数和关系演算为理论基础的。
关系表可以看做是记录的集合。
关系操作的特点是集合操作方式,即操作的对象和结果都是集合。
传统的集合的操作,包括并、交、差、广义笛卡尔积等,这些操作对应了数据库针对行的操作。
关系模型同时定义了针对列的操作,包括选择、投影、连接。

4.关系代数

4.1关系定义

域是一组有相同数据类型的值的集合。

笛卡尔积

笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。
表达式:A×B = {(x,y)|x∈A∧y∈B}

关系

给定一组域D1,,2,...,Dn,在这些域上笛卡尔积D1*D2*...*Dn上的一个子集称为一个关系

4.2关系运算

传统集合运算

并:设关系R和关系S具有相同的目n,且相应的属性具有同一个域,则关系R和关系S的并由属于R或属于S的元组组成。
交:设关系R和关系S具有相同的目n,且相应的属性具有同一个域,则关系R和关系S的交由既属于R又属于S的元组组成
差:设关系R和关系S具有相同的目n,且相应的属性具有同一个域,则关系R和关系S的差由属于R又不属于S的元组组成
广义笛卡尔积:两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。

专门的关系运算

这是为数据库应用而引进的特殊运算,主要是从列的角度来进行,但有时对行也会有影响。
选择:一元运算,在关系中选择满足条件的元组,即在表中选择满足某些条件的行。
投影:一元运算,在关系中选择某些属性。
连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值