1.3.2 概念模型
概念模型是数据库设计人员与用户之间进行交流的工具。
现在采用的概念模型主要是实体联系(ER)模型。ER模型主要用ER图来表示。
用矩形框表示实体类型(考虑问题的对象),菱形框表示联系类型(实体间联系),椭圆形框表示实体类型和联系类型的属性。相应的命名均记入各种框中。对于实体标识符的属性,在属性名下面画一条横线。实体与属性之间,联系与属性之间用直线连接。联系类型与其涉及的实体类型之间也以直线相连,用来表示它们之间的联系,并在直线端部标注联系的类型(1:1,1:N或M:N)。
联系类型的数据在数据库技术中称为“相交数据”。联系类型中的属性是实体发生联系时产生的属性,而不应该包括实体的属性或标识符。
1.3.3 逻辑模型
逻辑模型具有下列特点:
(1)逻辑模型表达了DB的整体逻辑结构,但它是设计人员对整个应用项目数据库的全面描述。
(2)逻辑模型是从数据库实现的观点出发,对数据建模。
(3)逻辑模型独立于硬件,但依赖于软件(DBMS)。
(4)逻辑模型是数据库设计人员与应用程序员之间进行交流的工具。
逻辑模型主要有层次、网状和关系模型等三种。
1.层次模型(hierarchical model)
用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型。树中的节点是记录类型,每个非根节点有且只有一个父节点。上一层记录类型和下一层记录类型之间的联系时1:N联系。
2.网状模型(Network Model)
用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。
3.关系模型
关系模型(Relational Model)的主要特征是用二维表格表达实体集。
关系模型是由若干个关系模式(Relational Schema)组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系(Relation),每个关系实际上是一张二维表格。
1.3.4 外部模型
外部模型具有以下的特点:
(1)外部模型是逻辑模型的一个逻辑子集。
(2)外部模型独立于硬件,依赖于软件。
(3)外部模型反映了用户使用数据库的观点。
1.3.5 内部模型
内部模型又称为物理模型,是数据库最低层的抽象,它描述数据在磁盘或磁带上的存储方式(文件结构)、存取设备(外存的空间分配)和存取方法(主索引和辅助索引)。
1.3.6 三层模式和两级映像
1.三层模式体系结构
在用户(或应用程序)到数据库之间,DB的数据结构有三个层次:外部模型、逻辑模型和内部模型。这三个层次要用DB的数据定义语言(Data Definition Language ,简记为DDL)定义,定义以后的内容称为“模式”(Schema),即外模式、逻辑模式和内模式。
定义1.8 从用户(或应用程序)到数据库之间,DB的数据结构描述有三个层次:
(1)外模式是用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式由若干个外部记录类型组成。
(2)逻辑模式是数据库中全部数据的整体逻辑结构的描述。它由若干个记录类型组成,还包含记录间联系、数据的完整性安全性等要求。
(3)内模式是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。
数据操纵语言(Data Manipulation Language ,简记为DML)
2.两级映像
定义1.9 三层模式之间存在着两级映像:
(1)外模式/逻辑模式映像存在于外模式和逻辑模式之间,用于定义外模式和逻辑模式之间的对应性。这个映像一般是放在外模式中描述的。
(2)逻辑模式/内模式映像存在于逻辑模式和内模式之间,用于定义逻辑模式和内模式之间的对应性。这个映像一般是放在内模式中描述的。
1.3.7 高度的数据独立性
定义1.10 数据独立性(Data Independence)是指应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序,则称系统达到了数据独立性目标。
数据独立性分为物理数据独立性和逻辑数据独立性两个级别。
1.物理数据独立性
2.逻辑数据独立性
1.4 数据库管理系统(DBMS)
1.4.1 DBMS的工作模式
数据库管理系统(DBMS)是指数据库系统中队数据进行管理的软件系统,它是数据库系统的核心组成部分。对DB的一切操作,包括定义、查询、更新及其各种控制,都是通过DBMS进行的。
DBMS的主要目标是使数据作为一种可管理的资源来处理。
1.4.2 DBMS的主要功能
DBMS的主要功能有以下五个方面:
1.数据库的定义功能
2.数据库的操纵功能
3.数据库的保护功能
4.数据库的维护功能
5.数据字典
数据库系统中存放三级结构定义的数据库称为数据字典(Data Dictionary,DD)。对数据库的操作都要通过DD才能实现。DD中还存放数据库运行时的统计信息。管理DD的子系统称为“DD系统”。
1.5 数据库系统(DBS)
1.5.1 DBS的组成
1.数据库(DB)
DB分为两类,一类是应用数据库的集合,称为物理数据库,它是数据库的主体;另一类是各级数据结构的描述,称为描述数据库,由DD系统管理。
2.硬件
3.软件
4.数据库管理员
定义1.11 数据库管理员(Database Administrator,简记为DBA)是控制数据整体结构的一组人员,负责DBS的正常运行,承担创建、监控和维护数据库结构的责任。
DBA的主要职责有以下六点:
(1)定义模式
(2)定义内模式
(3)与用户的联络。包括定义外模式、应用程序的设计、提供技术培训等专业服务。
(4)定义安全性规则,对用户访问数据库的授权。
(5)定义完整性规则,监督数据库的运行。
(6)数据库的转储与恢复工作
1.5.2 DBS的全局结构
1.数据库用户
按照与系统交互方式的不同,数据库用户可分为四类:
(1)DBA
(2)专业用户
(3)应用程序员
(4)终端用户
2.DBMS的查询处理器
这部分可以分为四个成分:
(1)DDL解释器:解释DDL语句,并将这些定义登录在数据库字典中。
(2)DML编译器:对DML语句进行优化,并转换成查询求值引擎能执行的低层指令。
(3)嵌入式DML的预编译器:把嵌入在主语言中的DML语句处理成规范的过程调用形式。
(4)查询求值引擎:执行由DML编译器产生的低层指令。
3.DBMS的存储管理器
存储管理器提供存储在数据库中的低层数据和应用程序、查询之间的接口。存储管理器可分为四个成分:
(1)权限和完整性管理器:测试应用程序对数据库的修改是否满足完整性约束,检查用户访问数据的合法性。
(2)事务管理器:DBS的逻辑工作单元称为事务(Transaction),事务由对DB的操作序列组成。事务管理器用于确保DB一致性(正确性)状态,保证并发操作正确执行。
(3)文件管理器:负责磁盘空间的合理分配,管理物理文件的存储结构和存取方式。
(4)缓冲区管理器:为应用程序开辟DB的系统缓冲区,负责将从磁盘中读出的数据送入内存的缓冲区。
4.磁盘存储器中的数据结构
(1)数据文件:存储数据库管理的用户数据自身。数据库在磁盘上的基本组织形式是文件,这样可以充分利用OS管理外存的功能。
(2)数据字典:存储三级结构的描述(一般称为元数据Metadata)
(3)索引:为提高查询速度而设置的逻辑排序手段。
(4)统计数据:存储DBS运行时统计分析的数据。查询处理器可使用这些信息更有效地进行查询处理。
(5)日志:存储DBS运行时对DB的操作情况,以备以后查阅数据库的使用情况及数据库恢复时使用。
1.5.3 DBS的效益
(1)灵活性
(2)简易性
(3)面向用户
(4)有效的数据控制
(5)加快应用系统的开发速度
(6)维护方便
(7)标准化