随着应用系统的规模越来越大,现在的系统开发大部分都是基于数据库的应用,因此,作为一名系统架构设计师,要熟练地掌握数据库系统的设计方法和技术。本章在宏观上就系统架构设计师必须要掌握的内容进行介绍,有关细节方面的知识,如果读者感兴趣,可以参考数据库专业教程。
3.1 数据库管理系统的类型
数据库管理系统的类型通常有多个分类标准。如按数据模型分类、按用户数分类、按数据库分布站点分类等。但我们需要了解的,主要还是按数据模型分类。
当前,许多商业DBMS中所用的主要数据模型仍是关系数据模型。有些商业系统中实现了对象数据模型,但未得到广泛使用。近几年随着NoSQL技术的兴起,也产生了一些新的数据模型。目前常见的DBMS按数据模型划分,包括:关系型DBMS、文档型DBMS、键值型DBMS、对象型DBMS 等。
3.2 数据库模式与范式
数据库模式与范式是数据库系统中的两个重要概念,是进行数据库设计的基础。
3.2.1 数据库的结构与模式
数据库技术中采用分级的方法将数据库的结构划分为多个层次。最著名的是美国ANSI/ SPARC 数据库系统研究组 1975年提出的三级划分法,如图 3-1 所示。
1.三级抽象
数据库系统划分为三个抽象级:用户级、概念级、物理级。
(1)用户级数据库。用户级数据库对应于外模式,是最接近用户的一级数据库,是用户可以看到和使用的数据库,又称用户视图。用户级数据库主要由外部记录组成,不同的用户视图可以互相重叠,用户的所有操作都是针对用户视图进行的。
(2)概念级数据库。概念级数据库对应于概念模式,介于用户级和物理级之间,是所有用户视图的最小并集,是数据库管理员可看到和使用的数据库,又称 DBA(DataBase Administrator,数据库管理员)视图。