数据库设计三大范式
1. 第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。
第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分为省份、城市、详细地址等多个部分进行存储,这样在对地址中某一部分操作的时候将非常方便。这样设计才算满足了数据库的第一范式。
2.第二范式(确保表中的每列都和主键相关)
第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。
3.第三范式(确保每列都和主键列直接相关,而不是间接相关)
第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
比如在设计一个订单数据表的时候,可以将客户编号作为一个外键和订单表建立相应的关系。而不可以在订单表中添加关于客户其它信息(比如姓名、所属公司等)的字段。如下面这两个表所示的设计就是一个满足第三范式的数据库表。
一、数据库基本概念
1.信息、数据、信息与数据的关系:数据时信息的符号表示,或称载体:信息是数据的内涵,是数据的语句解释。
2.数据库发展
人工管理阶段、文件系统阶段、数据库系统阶段。
3.数据库是长期存储在计算机内有组织的、大量的、共享的数据集合。
数据库管理系统时位于用户与操作系统之间的一个数据管理软件。
DBMS:Database Mangement System。
(1).数据定义功能:DDL:data definition language
(2).数据操作功能:DML:data manipulation language
(3).数据库的运行管理和控制功能;
数据的安全性保护、数据的完整性控制(数据的正确性、有效性和相容性)、数据库恢复、并发控制、事务支持。
事务是一个逻辑工作单元。
(4).数据库的建立和维护功能。
数据库系统是指计算机系统中引入数据库的系统构成。
二、数据模型
1. 数据模型的三要素:数据结构、数据操作、数据完整性约束;
2.信息的基本概念
(1)实体
(2)属性
(3)码key:唯一标识实体的属性或属性集称为码。
(4)域domain
(5)实体型
(6)实体集
(7)联系:一对一(1:1);一对多(1:n);多对多(m:n)。
3.概念模型----E-R模型表示:实体-联系模型
实体、属性和联系。
4.数据结构模型
层次模型、网状模型、关系模型、面向对象模型。
二、数据库系统的模式结构
从数据库管理系统角度看,数据库系统采用外模式、模式、内模式三级模式结构。这是数据库管理系统内部的系统结构;
从用户的角度来看:分为集中式结构、分布式结构、客户/服务器结构和多层客户机/服务器结构。
1.基本概念
型:记录型,值:记录值。
模式是数据库中全体数据的逻辑结构和特征的描述,仅仅涉及型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例,一个模式可以有多个实例。模式稳定,实例动态;模式反映数据的结构和联系,实例是数据库某一时刻的状态。
2.三级模式结构
模式:一个数据库只有一个模式。
外模式:也称子模式、用户模式或用户视图。一个数据库可以有多个外模式。同一个外模式可以被某一个用户的多个应用程序所使用,但一个应用程序只能使用一个外模式。
内模式:也称物理模式或存储模式,是数据库内部的表示方法。一个数据库只有一个内模式,描述数据库的物理存储结构。
3.数据库的二层映像与数据独立性
外模式/模式映像:数据的逻辑独立性。
模式/内模式映像:唯一,定义了数据的全局逻辑结构和存储结构之间的对应关系。
数据的物理独立性。
三、关系数据库系统
1.关系模型的数据结构
关系、
属性、
关系模式、
元组、
分量、
候选码、
主码或主键、
主属性和非主属性、
外码或外键(不是主码,但是是另一个关系的主码)、
参照关系与被参照关系(以外码为主码的关系是参照关系,或称主关系;外码所在的关系称为被参照关系,或称从关系)。
2.关系的形式定义和关系数据库对关系的限定
3.关系模型的完整性约束
实体完整性、参照完整性、用户定义的完整性。
4.关系代数
选择selection、投影projection、连接join、除division
四、关系数据库标准语言SQL
五、关系数据库的规范化理论与数据库设计
六、数据管理与数据库安全性
1.事务是构成单一逻辑工作单元的操作集合。
原子性、一致性、隔离性、持久性。