数据库模型
- 层次结构模型
- 网状结构模型
- 关系结构模型
三级模式和两级映射
三级模式指的是外模式、模式和内模式;
两级映射指的是外模式/模式映射、模式/内模式映射。
三级模式
美国国家标准协会(American national standard institute,ANSI)的数据库管理研究小组将数据库分为3级:
- 面向用户或应用程序的用户级;
- 面向建立和维护数据库的概念级;
- 面向系统程序员的物理级;
其中用户级对应的是外模式;概念级对应的是模式;物理级对应的是内模式。
模式:是数据库设计者综合所用用户的数据,按照统一的观点构造的全局逻辑结构,是全局数据逻辑和特征的总体描述。
外模式:是模式的一个子集,是针对特定用户的的数据描述,只显示用户使用的数据内容。
内模式:是数据库全体数据的内部表示或者底层描述,是数据库最底层的逻辑描述,描述的是数据在存储介质上存储的物理结构。
二级映射
数据库系统的三级模式将数据库分成3个抽象级别,用户只需要关系数据本身就行,对于数据的具体组织和存储交由DBMS管理。为了实现3个模式间的转换,DBMS提供了两级映射:外模式/模式、模式/内模式映射
外模式/模式:数据库具有逻辑独立性,定义了外模式与模式的映射关系;应用程序是根据外模式编程的,一旦模式变动了,只需要修改应用程序,保证外模式不变。
模式/内模式: 数据库具有物理独立性,定义了模式与内模式的映射关系;应用程序是根据模式编程的,一旦内模式变动了,只需要修改映射关系,保证模式不变。
数据库完整性
实体完整性:表中的主键不能重复或者为空(唯一约束可以为空)
区域完整性:表中录入的数据范围必须符合实际要求,例如身份证号码必须是15或者18位,可以采用检查约束来设置
参照完整性:保证数据库中关联表数据的准确性,防止误删等操作,可以使用外键来设置。
范式
一范式:数据库中的字段都是单一属性,不可拆分。单一属性可以是数据库中的任何一种数据类型,只要是关系型数据库都满足一范式。
二范式:数据库表字段不存在非关键字段对任一候选关键字段的部分函数依赖。不满足二范式就会出现数据冗余、更新异常、插入异常、删除异常等问题。通常通过增加一个单一主键列或者拆分表来满足二范式的要求。
三范式:数据库表中不存在非关键字段对任一候选关键字段的传递依赖,即三范式不存在依赖关系。通常通过拆分表满足三范式。
BCNF(巴斯范式):数据库表中不存在任一字段对任一候选关键字段的传递依赖。
E-R图(实体-联系图)
用于描述现实世界的概念模型,由实体、属性和联系三个元素构成
实体:可以是客观存在的实体也可以是抽象的概念,相同实体的集合是一个实体集,E-R图中实体采用方块表示。
属性:实体所具有的特征,一般采用椭圆表示
联系:实体内部或者实体间的联系,在E-R图中采用菱形表示,实体之间存在3个联系类型:1:1、1:n、m:n