1、数据库种类
(1)网状型数据库;(2)层次型数据库;(3)关系型数据库
2、数据库的三级模式
- 外模式(子模式):对各个用户或程序看到的数据的逻辑结构和特征的描述(以外模式为框架的数据库为用户数据库)。
- 模式(逻辑模式):对数据库中数据的逻辑结构和特征的描述(以逻辑模式为框架的数据库为概念数据库)。
- 内模式(物理模式):数据库中数据的内部表示或底层描述(以物理模式为框架的数据库为物理数据库)。
数据库系统中,逻辑模式和内模式只有一个,外模式可以有多个。
用户数据库是概念数据库子集,同时是物理数据库子集的逻辑表示。
概念数据库是物理数据库的逻辑抽象;物理数据库是概念数据库的具体实现。
3、数据库系统的建立流程
- 需求分析:分析用户的需求。
- 概念结构设计:主要采用E-R模型进行设计。
- 逻辑结构设计:将E-R图转换为基本表。
- 数据库物理设计:为数据库选择合适的存储结构和路径。
- 数据库实现:编程、测试和试运行。
- 数据库维护:数据库的日常维护。
4、超码、候选码、主码的定义
- 码:唯一标识实体的属性集。
- 超码:唯一标识实体的属性集。
- 候选码:最小超码(它的任意真子集都无法成为超码)。
- 主码:从候选码中选定的一个码作为主码。
- 替换码:非主码的候选码。
- 主属性:在任一候选码中的属性。
- 非主属性:不在任一候选码中的属性。
一个关系表可以有多个超码、候选码,但只有一个主码。
5、E-R图转化为关系模式的原则
- 一个实体转换为一个关系模式。
- 一个1:1联系可转换为一个独立的关系模式,还可与任意一端对应的关系模式合并。
- 一个1:n联系可转换为一个独立的关系模式,还可与n端对应的关系模式合并。
- 一个m:n联系转换为一个关系模式。
- 同一实体集的实体间的联系(自联系可以分为1:1、1:n和m:n三种情况进行处理)。
- 三个以上实体间的一个多元联系转换为一个关系模式。
- 具有相同码(键)的关系模式可合并。
6、关系范式
- 第一范式:要求表中的每个属性不可再分。
- 第二范式:满足第一范式后,还要求表中的每个非主属性完全依赖于主码。
- 第三范式:满足第二范式后,还要求表中的每个非主属性必须直接依赖于主码,不能通过其它非主属性传递依赖于主码(应用最为广泛的)。
- BC范式:第三范式的加强版,每个非主属性都完全依赖于候选码,每个主属性都完全依赖于每个不包含它的候选码,没有任何属性完全函数依赖于非码的任何一组属性。
7、SQL语言分类
- 数据定义语言DDL(Data Definition Language)。
- 数据操纵语言DML(Data Manipulation Language)。
- 数据控制语言DCL(Data Control Language)。
- 事务控制语言TCL(Transaction Control Language)。
8、SQL数据定义功能
- 定义视图(定义外模式)。
- 定义基本表(定义模式)。
- 定义索引(定义内模式)。
视图是从基本表导出的虚表,索引依赖于基本表;没有修改视图和索引的操作,只能先删除再创建。
9、数据库的常用索引类型
(1)从逻辑角度进行分类
- 普通索引:定义索引的列中可以有重复值和空值。
- 唯一索引:定义索引的列中无重复值但可有空值。
- 主键索引:定义索引的列中数据唯一且非空。
- 复合索引:将多个列组合为索引。
- 全文索引:允许值的全文查找。
- 空间索引:对空间数据类型的列建立的索引。
(2)从物理存储角度进行分类
- 聚集索引:聚集索引的逻辑顺序规定了数据的物理存储顺序,一个表只能有一个聚集索引。
- 非聚集索引:非聚集索引的逻辑顺序与数据的物理存储顺序不同,一个表可以有多个非聚集索引。