飞道的博客

数据库2_1——关系数据结构及形式化定义

365人阅读  评论(0)

关系数据库简介:
提出关系模型的是美国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)

  • 给定一组域 D 1 D 2 D n D1,D2,…,Dn ,允许其中某些域是相同的。
    D 1 D 2 D n D1,D2,…,Dn 的笛卡尔积为:
    D 1 × D 2 × × D n = { ( d 1 d 2 d n ) d i D i , i = 1 , 2 , n } D1×D2×…×Dn=\{(d1,d2,…,dn)|di\in Di,i=1,2,…,n\}
    所有域的、所有取值的一个不能重复组合

  • 元组(Tuple)
    笛卡尔积中每一个元素 ( d 1 d 2 d n ) (d1,d2,…,dn) 叫作一个n元组(n-tuple)或简称元组

  • 分量(Component)
    笛卡尔积元素 ( d 1 d 2 d n ) (d1,d2,…,dn) 中的每一个值 d i di 叫作一个分量

  • 基数(Cardinal number)
    D i i 1 2 n Di(i=1,2,…,n) 为有限集,其**基数(元素个数)**为 m i i 1 2 n mi(i=1,2,…,n) ,则 D 1 × D 2 × × D n D1×D2×…×Dn 的基数 M = i = 1 n m i M=\prod_{i=1}^{n} m_{i}

  • 笛卡尔积的表示方法

  1. 笛卡尔积可表示为一张二维表
  2. 表中的每行对应一个元组,表中的每列对应一个域
  • 例子:
    D 1 = " , D 2 = " D1 = {"小明“,“小红”},D2 = {"男”,“女”}
    D 1 D 2 = D1*D2 =
小明
小明
小红
小红

基数 M = 2 2 = 4 M = 2*2=4

1.3 关系(Relation)

1.3.1 关系

D 1 × D 2 × × D n D1×D2×…×Dn 的子集(关系中的每个元素都是一个元组)叫作在域 D 1 D 2 D n D1,D2,…,Dn 上的关系,表示为

  R(D1,D2,…,Dn)         
  R:关系名
  n:关系的目或度(Degree)

1.3.2 单元关系与二元关系

  1. 当n=1时,称该关系为单元关系(Unary relation)或一元关系
  2. 当n=2时,称该关系为二元关系(Binary relation)

1.3.3 关系的表示

关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域(属性)

  • 属性
  1. 关系中不同列可以对应相同的域
  2. 为了加以区分,必须对每列起一个名字,称为属性名(Attribute)
  3. n目关系必有n个属性

1.3.4 码

  1. 候选码(Candidate key)
    若关系中的某一属性组的值能唯一地标识(区分)一个元组,则称该属性组为候选码
    简单的情况:候选码只包含一个属性(比如学号)
  2. 全码(All-key)
    最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)
  3. 主码
    若一个关系有多个候选码,则选定其中一个为主码(Primary key)
  4. 主属性
    a. 候选码的各个属性称为主属性(Prime attribute)
    b. 不包含在任何侯选码中的属性称为非主属性(Non-Prime attribute)或非码属性(Non-key attribute)

1.3.5 三类关系

  • 基本关系(基本表或基表):实际存在的表,是实际存储数据的逻辑表示
    ① 列是同质的(Homogeneous)
    ② 不同的列可出自同一个域
    ③ 任意两个属性的属性名不能相同(列不能相同)
    ④ 任意两个元组的候选码不能相同(行不能相同)
    ⑤ 列的顺序无关,列的次序可以任意交换(列顺序无关)
    ⑥ 行的顺序无关,行的次序可以任意交换(行顺序无关)
    ⑦ 分量必须取原子值 (分量的原子性)不能表中有表

  • 查询表:查询结果对应的表

  • 视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据

2. 关系模式(Relation Schema)

2.1 定义

关系模式是对关系的描述,关系模式是型,关系是值,内容包括:

  • 元组集合的结构
    属性构成
    属性来自的域
    属性与域之间的映象关系
  • 完整性约束条件

关系模式的表示

关系模式可以形式化地表示为: R U D D O M F R(U,D,DOM,F) ,通常简单记作 R ( U ) R(U)

  • R 关系名
  • U 组成该关系的属性名集合
  • D U中属性所来自的域
  • DOM 属性向域的映象集合
  • F 属性间数据的依赖关系的集合

关系模式与关系

  • 关系模式
    对关系的描述
    静态的、稳定的
  • 关系
    关系模式在某一时刻的状态或内容
    动态的、随时间不断变化的
  • 关系模式和关系往往笼统称为关系
    通过上下文加以区别

3. 关系数据库

  • 关系数据库
    在一个给定的应用领域中,所有关系的集合构成一个关系数据库
  • 关系数据库的型与值
  1. 关系数据库的型: 关系数据库模式,是对关系数据库的描述
  2. 关系数据库的值: 关系模式在某一时刻对应的关系的集合,通常称为关系数据库

4. 关系模型的存储结构

  • 关系数据库的物理组织
  1. 有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成
  2. 有的关系数据库管理系统从操作系统那里申请若干个大的文件,自己划分文件空间,组织表、索引等存储结构,并进行存储管理

转载:https://blog.csdn.net/weixin_43746266/article/details/105638980
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场