DBS概论(四)

一、关系数据结构及形式化定义

1、关系

从用户看来,关系模型中的数据的逻辑结构就是一张扁平的二维表

这里从集合论角度给出关系数据节后的的形式化定义

域(domain)

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

笛卡尔积(cartesian product)

笛卡尔积是域上的一种集合运算

关系(relation)

定义在D1XD2XD3…Dn域上的子集叫做在D1,D2,D3,…,Dn域上的关系

候选键/候选码(candidate key)

某个关系变量的一组属性所组成同时满足下列条件的集合:

  • 这个属性集合始终能够确保在关系中能唯一标识元组(即超键)
  • 在这个属性集合中找不出合适的真子集能够满足条件

主属性: 候选码的诸属性

非主属性/非码属性: 不包含任何候选码中的属性

主键/主码(primary key)
  • 用户选作元组标识的一个候选键作为主键
  • 一个表只有一个主键。
  • 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键
  • 它可以唯一确定表中的一行数据,或者可以唯一确定一个实体
外键(foreign key)

将A表的值放入B表来表示关联,并且所使用的值是A的主键值(在必要时可包括复合主键值),则B表中保存这些值的属性称为外键

2、关系模式(relation schema)

关系的描述称为关系模式

一般形式化表示为R(U,D,DOM,F)

R : 关系名

U: 组成该关系的属性名集合

D : 属性组U中属性所来自的域

DOM: 属性向域的映象集合

F : 属性间的数据依赖关系集合

特点

  • 概念单一
  • 规范化
  • 以二维表格表示

优缺点:
(1) 数据结构单一

关系模型中,不管是实体还是实体之间的联系,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。

(2)关系规范化,并建立在严格的理论基础上

构成关系的基本规范要求关系中每个属性不可再分割,同时关系建立在具有坚实的理论基础的严格数学概念基础上。

(3)概念简单,操作方便

关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行操作。

3、关系数据库

在一个给定的应用领域中,所有关系的集合构成一个关系数据库

**关系数据库的型:**对关系数据库的描述

**关系数据库的值:**关系模式在某一时刻对应的关系的集合,通常就称为关系数据库

4、关系模型的存储结构

  • 有的DBMS中一个表就对应一个OS文件
  • 有的DBMS会从OS那申请若干个大得到文件,然后自己划分空间、组织表、引索等存储结构并进行存储管理

二、关系操作

1、基本的关系操作

DBS概论(四)
PS: 操作的对象和结果都是集合

2、关系数据语言的分类

DBS概论(四)
结构化查询语言SQL(Structed Query Language)不仅有丰富的查询功能,而且还具有数据定义和数据控制功能,是一种高度过程化的语言

三、关系完整性

DBS概论(四)

1、实体完整性

要求每个数据表都必须有主键,而作为主键的所有字段,其属性必须是独一及非空值

2、参照完整性

参照的关系中的属性值必须能够在被参照关系找到或者取空值(null)

在实际操作时如更新、删除、插入一个表中的数据,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确,不正确则拒绝操作。

3、用户定义的完整性

用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。

主要包括:

  • 非空约束
  • 唯一约束
  • 检查约束
  • 主键约束
  • 外键约束

四、关系代数

关系代数是一种抽象的查询语言,它用对关系的运算来表达查询,其运算对象是关系,结果亦为关系。

关系代数所用到的运算符有两类:

  • 集合运算符(行)
  • 专门的关系运算符(行、列)
    DBS概论(四)
    DBS概论(四)
    DBS概论(四)
    DBS概论(四)
    DBS概论(四)
    DBS概论(四)
    DBS概论(四)