关系型数据库设计

关系模型必须强制数据正确性和一致性,支持轻松操纵和获取数据,并且提供一个独立于应用程序的数据访问结构。

关系模型及任何关系型数据库的核心是表(Table),表由一系列相关的数据按照行/列的结构组织在一起。列(Column)是表中存储相同类型数据的一种结构。行(Row)是表中的一个由一系列相关数据组成的结构。

主键是表中的一个或多个列,用来唯一标识每个行。

外键(Foreign Key)是表中的一到多个列,起值匹配另一个表中的一到多个列的值。

表是按照规范化规则来构造。这些规则,被称为范式,指定如何按照规范来组织数据。

 

为遵从第一范式,一个表必须满足如下需求:

  • 一个行的每个列必须是原子性的,即任何给定行的列只能包含一个值。
  • 表中的每一行必须包含相同数量的列。假如每个列只能包含一个值,意味着每行必须包含相同数量的值。
  • 一个表中的所有行必须是不相同的。虽然行可能包含相同的值,但是每一行做为一个整体必须在表中是唯一的。

为遵循第二范式,表必须满足如下需求:

  • 表必须符合第一范式
  • 表中的所有非主键列必须依赖于整个主键

为遵循第三范式,表必须满足如下需求:

  • 表必须满足第二范式
  • 表中的所有非主键列必须依赖于主键,并且必须相互独立

 

表之间存在有上中基本的关系类型:一对一关系、一对多关系、多对多关系。

数据模型是组成数据库的组件以及这些组件之间的关系的一个图形表示法。

当开发一个数据模型时,通常都必须遵循四个步骤:

  • 识别将会在数据库中出现的潜在实体
  • 规范化已识别的实体中的数据
  • 识别表之间的关系
  • 改进数据模型,确保全规范化

在大多数RDBMS中,多对多关系通过在关系的两个表间增加第三个表来实现。我们把第三个表称为连接表(Junction Table),连接表充当支持对多对关系的两个表之间的桥梁。

实体是一个代表一系列相关数据的对象。每个实体都有一系列属性。属性是描述实体的对象。

你可能感兴趣的:(关系型数据库设计)