当前位置:文档之家› 关系型数据库和范式理论设计及实体模型

关系型数据库和范式理论设计及实体模型

一,关系型数据库
关系型数据库,是指采用了关系模型来组织数据的数据库。

简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

关系模型中常用的概念:
∙关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名∙元组:可以理解为二维表中的一行,在数据库中经常被称为记录
∙属性:可以理解为二维表中的一列,在数据库中经常被称为字段
∙域:属性的取值范围,也就是数据库中某一列的取值限制
∙关键字:一组可以唯一标识元组的属性,数据库中常称为主键,由一个或多个列组成
∙关系模式:指对关系的描述。

其格式为:关系名(属性1,属性2, ... ... ,属性N),在数据库中成为表结构
关系型数据库的优点:
∙容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解
∙使用方便:通用的SQL语言使得操作关系型数据库非常方便
∙易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率
二,范式,英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法,以下就是对这三个范式的基本介绍:
第一范式(1NF):
数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性。

通俗解释:一个字段只存储一项信息
例如: userInfo: '山东省烟台市 1318162008'
依照第一范式必须拆分成:
userInfo: '山东省烟台市'
userTel: '1318162008'两个字段
第二范式(2NF):
满足1NF后要求表中的所有列,都必需依赖于主键,而不能有任何一列与主键没有关系(一个表只描述一件事情)。

通俗解释:任意一个字段都只依赖表中的同一个字段
例如:
订单表只能描述订单相关的信息,所以所有的字段都必须与订单ID相关。

产品表只能描述产品相关的信息,所以所有的字段都必须与产品ID相关。

因此在同一张表中不能同时出现订单信息与产品信息。

第三范式(3NF):第三范式(3NF):满足2NF后,要求:表中的每一列都要与主键直接相关,而不是间接相关(表中的每一列只能依赖于主键)
例如:订单表中需要有客户相关信息,在分离出客户表之后,订单表中只需要有一个用户ID即可,而不能有其他的客户信息,因为其他的用户信息是直接关联于用户ID,而不是关联于订单ID。

注意事项:
1.第二范式与第三范式的本质区别:在于有没有分出两张表。

第二范式是说一张表中包含了多种不同实体的属性,那么必须要分成多张表,第三范式是要求已经分好了多张表的话,一张表中只能有另一张标的ID,而不能有其他任何信息,(其他任何信息,一律用主键在另一张表中查询)。

2.必须先满足第一范式才能满足第二范式,必须同时满足第一第二范式才能满足第三范式。

三、实体-关系模型
该模型直接从现实世界中抽象出实体类型和实体间联系,然后用实体联系图(E-R 图)表示数据模型,是描述概念世界,建立概念模型的实用工具。

基本概念:
实体:现实世界中任何可以相互区分的事物
属性:实体(或联系)所具有的某方面特征
联系:发生在实体之间具有特定含义的对应关系
1、概述
E-R图:实体-联系图(Entity Relationship Diagram)。

作用:描述显示世界的概念模型。

表现形式:实体类型、属性和联系。

2、组员说明
在E-R图中有四个成分:
矩形框:表示实体,在框中记入实体名。

菱形图:表示联系,在框中记入联系名。

椭圆形框:表示实体或联系的属性,将属性名记入框中。

对于主属性名,则在其名称下划一下划线表示。

连线:实体和属性之间、实体与联系之间、联系与属性之间用直线连接,并在直线上标注联系的类型。

(注意:对于1:1的联系,要在两个实体连线方向各写1,1:n关系的,要在一的方向写1,多的方向写N;对于N:M关系的,则要在两个实体连线方向各写N,M)。

3、作图步骤
首先,确定所有的实体集合;
第二,选择实体集应包含的属性;
第三,确定实体集之间的联系(可先用笔画出来);
第四,确定实体集的关键字,用下划线在属性上表明上表明关键字的属性组合;
最后,确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明1或N来表示联系的类型。

4、E-R图实例
总结:利用E-R模型可设计关系型表结构,利用范式技术可优化表的设计。

相关主题