1.模式
2.外模式
3.内模式
一个数据库系统中,外模式可以有多个,而模式和内模式只有一个。(视图可以有多个)
外模式-模式-内模式
视图-基本表-文件。
数据的独立性是由数据库管理系统的两级映像功能来保证的。
1.模式/内模式映像。保证了数据的物理独立性。
2.外模式/模式映像。保证了数据的逻辑独立性。
第一范式(1NF):若关系模式R中的每一个分量都是不可再分的数据项,则关系模式R∈1NF
第二范式(2NF):若关系模式R∈1NF,且每一个非主属性完全依赖于码,则关系模式R∈2NF
第三范式(3NF):当2NF消除了非主属性对码的传递函数依赖,则称为3NF
BCNF(BC范式):关系模式R(U,F)∈1NF
范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。
范式(数据库设计范式)
满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。
在创建一个数据库的过程中,范化是将其转化为一些表的过程,这种方法可以使从数据库得到的结果更加明确。
范化是在识别数据库中的数据元素、关系以及定义所需的表和各表中的项目等这些初始工作之后的一个细化的过程。
顾客 购买的物品 物品价格
小明 T恤 40元
小红 鞋子 35元
小花 衬衫 40元
小蓝 裤子 25元
如果上面这个表用于保存物品的价格,而你想要删除其中的一个顾客,这时你就必须同时删除一个价格。范化就是要解决这个问题,你可以将这个表化为两个表,一个用于存储每个顾客及其所买物品的信息,另一个用于存储每件产品和其价格的信息,这样对其中一个表做添加或删除操作就不会影响另一个表。
1 第一范式(1NF)==无重复的列
在任何一个关系数据库中,第一范式(1NF) [2] 是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。
简而言之,第一范式就是无重复的列。
2.第二范式(2NF)==非主属性完全依赖于主关键字。
第二范式(2NF) 是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。这个唯一属性列被称为主关键字或主键、主码。就是非主属性完全依赖于主关键字.
3.第三范式(3NF)==属性不依赖于其它非主属性。
要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
4.BCNF(BC范式)
是指对于关系模式R,若 R为第一范式,且每个属性都不部分依赖于候选键也不传递依赖于候选键,则R称之为BC范式。