关系数据库简介:
提出关系模型的是美国IBM公司的E.F.Codd
- 1970年提出关系数据模型
E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, 《Communication of the ACM》,1970 - 之后,提出了关系代数和关系演算的概念
- 1972年提出了关系的第一、第二、第三范式
- 1974年提出了关系的BC范式
1. 关系
- 关系:单一的数据结构,实体,实体的联系用均用关系表示
- 逻辑结构:二维表,从用户的角度,关系模型中数据的逻辑结构是二维表
- 建立在集合代数上
1.1 域(domain)
域是一组具有相同数据类型的值的集合,比如实数,{‘男’,‘女’}
1.2 笛卡尔积(Cartesian Product)
-
给定一组域 ,允许其中某些域是相同的。
的笛卡尔积为:
所有域的、所有取值的一个不能重复组合 -
元组(Tuple)
笛卡尔积中每一个元素 叫作一个n元组(n-tuple)或简称元组 -
分量(Component)
笛卡尔积元素 中的每一个值 叫作一个分量 -
基数(Cardinal number)
若 为有限集,其**基数(元素个数)**为 ,则 的基数 -
笛卡尔积的表示方法
- 笛卡尔积可表示为一张二维表
- 表中的每行对应一个元组,表中的每列对应一个域
- 例子:
小明 | 男 |
---|---|
小明 | 女 |
小红 | 男 |
小红 | 女 |
基数
1.3 关系(Relation)
1.3.1 关系
的子集(关系中的每个元素都是一个元组)叫作在域 上的关系,表示为
R(D1,D2,…,Dn)
R:关系名
n:关系的目或度(Degree)
1.3.2 单元关系与二元关系
- 当n=1时,称该关系为单元关系(Unary relation)或一元关系
- 当n=2时,称该关系为二元关系(Binary relation)
1.3.3 关系的表示
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域(属性)
- 属性
- 关系中不同列可以对应相同的域
- 为了加以区分,必须对每列起一个名字,称为属性名(Attribute)
- n目关系必有n个属性
1.3.4 码
- 候选码(Candidate key)
若关系中的某一属性组的值能唯一地标识(区分)一个元组,则称该属性组为候选码
简单的情况:候选码只包含一个属性(比如学号) - 全码(All-key)
最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key) - 主码
若一个关系有多个候选码,则选定其中一个为主码(Primary key) - 主属性
a. 候选码的各个属性称为主属性(Prime attribute)
b. 不包含在任何侯选码中的属性称为非主属性(Non-Prime attribute)或非码属性(Non-key attribute)
1.3.5 三类关系
-
基本关系(基本表或基表):实际存在的表,是实际存储数据的逻辑表示
① 列是同质的(Homogeneous)
② 不同的列可出自同一个域
③ 任意两个属性的属性名不能相同(列不能相同)
④ 任意两个元组的候选码不能相同(行不能相同)
⑤ 列的顺序无关,列的次序可以任意交换(列顺序无关)
⑥ 行的顺序无关,行的次序可以任意交换(行顺序无关)
⑦ 分量必须取原子值 (分量的原子性)不能表中有表 -
查询表:查询结果对应的表
-
视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据
2. 关系模式(Relation Schema)
2.1 定义
关系模式是对关系的描述,关系模式是型,关系是值,内容包括:
- 元组集合的结构
属性构成
属性来自的域
属性与域之间的映象关系 - 完整性约束条件
关系模式的表示
关系模式可以形式化地表示为: ,通常简单记作
- R 关系名
- U 组成该关系的属性名集合
- D U中属性所来自的域
- DOM 属性向域的映象集合
- F 属性间数据的依赖关系的集合
关系模式与关系
- 关系模式
对关系的描述
静态的、稳定的 - 关系
关系模式在某一时刻的状态或内容
动态的、随时间不断变化的 - 关系模式和关系往往笼统称为关系
通过上下文加以区别
3. 关系数据库
- 关系数据库
在一个给定的应用领域中,所有关系的集合构成一个关系数据库 - 关系数据库的型与值
- 关系数据库的型: 关系数据库模式,是对关系数据库的描述
- 关系数据库的值: 关系模式在某一时刻对应的关系的集合,通常称为关系数据库
4. 关系模型的存储结构
- 关系数据库的物理组织
- 有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成
- 有的关系数据库管理系统从操作系统那里申请若干个大的文件,自己划分文件空间,组织表、索引等存储结构,并进行存储管理
转载:https://blog.csdn.net/weixin_43746266/article/details/105638980