数据库的结构与模式
三级抽象
(1)用户级数据库 :用户级数据库对应于外模式,是最接近用户的一级数据库,是用户可以看到和使用的数据库,又称用户视图。用户级数据库主要由外部记录组成,不同的用户视图可以互相重叠,用户的所有操作都是针对用户视图进行的
(2)概念级数据库:概念级数据库对应于概念模式,介于用户级和物理级之间,是所有用户视图的最小并集,是数据库管理员可看到和使用的数据库,又称 DBA(DataBaseAdministrator,数据库管理员)视图
(3)物理级数据库:物理级数据库对应于内模式,是数据库的低层表示,它描述数据的实际存储组织,是最接近于物理存储的级,又称内部视图
三级模式
(1)概念模式
(2)外模式
(3)内模式
数据模型
概念数据模型:按照用户的观点来对数据和信息建模,主要用于数据库设计。概念模型主要用实体—联系方法(Entity-Relationship Approach)表示,所以也称 E-R 模型
基本数据模型
层次模型
网状模型
关系模型
面向对象模型
关系代数
(1)并
(2)差
(3)交
(4)笛卡尔积
(5)投影:从一个关系中抽取指明的属性(列)
(6)选择:从关系R中抽取出满足给定限制条件的记录
(7)连接。θ连接从两个关系的笛卡儿积中选取属性之间满足一定条件的元组
(8)除
数据的规范化
分解准则
(1)无损连接性:信息不失真(不增减信息)
(2)函数依赖保持性:不破坏属性间存在的依赖关系
数据库逻辑设计的指南和工具
(1)用数据依赖的概念分析和表示各数据项之间的关系
(2)消除 E-R 图中的冗余联系
函数依赖
第一范式:1NF 是最低的规范化要求。如果关系 R 中所有属性的值域都是简单域,其元素(即属性)不可再分,是属性项而不是属性组,那么关系模型 R 是第一范式的,记作 RÎ1NF
第二范式:如果一个关系 R 属于 1NF,且所有的非主属性都完全依赖于主属性,则称之为第二范式,记作 RÎ2NF
第三范式:如果一个关系 R 属于 2NF,且每个非主属性不传递依赖于主属性,这种关系是 3NF,记作 RÎ3NF
BC 范式:如果关系模型 R∈1NF,且 R 中每一个函数依赖关系中的决定因素都
包含码,则 R 是满足 BC 范式的关系,记作 RÎBCNF
反规范化
增加冗余列:增加冗余列是指在多个表中具有相同的列,它常用来在查询时避免连接操作
增加派生列:增加派生列指增加的列可以通过表中其他数据计算生成
重新组表
分割表
水平分割:根据一列或多列数据的值把数据行放到两个独立的表中。
垂直分割:把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中