购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 数据模型

数据模型是一种对客观事物抽象化的表现形式。它对客观事物加以抽象,通过计算机来处理现实世界中的具体事物。它客观地反映了现实世界,易于理解,与人们对外部事物描述的认识相一致。

1.3.1 数据模型的概念

数据模型是数据库系统的核心与基础,是关于描述数据与数据之间的联系、数据的语义、数据一致性约束的概念性工具的集合。

数据模型通常由数据结构、数据操作和完整性约束3部分组成。

数据结构:是对系统静态特征的描述。描述对象包括数据的类型、内容、性质和数据之间的相互关系。

数据操作:是对系统动态特征的描述。具体来说,是对数据库中各种对象实例的操作。

完整性约束:是完整性规则的集合。它定义了给定数据模型中数据及其联系所具有的制约和依存规则。

1.3.2 常见的数据模型

常见的数据库数据模型主要有层次模型、网状模型和关系模型,下面分别进行介绍。

1.层次模型

用树状结构表示实体类型及实体间联系的数据模型称为层次模型,它具有以下特点。

每棵树有且仅有一个无双亲节点,称为根。

树中除根外,所有节点有且仅有一个双亲。

2.网状模型

用有向图结构表示实体类型及实体间关系的数据模型称为网状模型。用网状模型编写应用程序极其复杂,数据的独立性较差。网状模型示例图如图1.4所示。

3.关系模型

关系模型以二维表来描述数据,每个表有多个字段列和记录行,每个字段列有固定的属性(如数字、字符、日期等)。关系模型数据结构简单、清晰,具有很高的数据独立性,是目前数据库主流的数据模型。

关系模型的基本术语如下。

关系:一个二维表就是一个关系。

元组:二维表中的一行,即表中的记录。

属性:二维表中的一列,用类型和值表示。

域:每个属性取值的变化范围,如性别的域为{男,女}。

关系中的数据约束如下。

实体完整性约束:约束关系的主键中属性值不能为空值。

参照完整性约束:关系之间的基本约束。

用户定义的完整性约束:反映了具体应用中数据的语义要求。

关系模型示例图如图1.5所示。

图1.4 网状模型

图1.5 关系模型

1.3.3 关系数据库的规范化

关系数据库的规范化理论认为:关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以分为5个等级:第一范式(1NF)、第二范式(2NF)、……第五范式(5NF)。其中,NF是Normal Form的缩写。一般情况下,只要把数据规范到第三个范式,就可以满足需要。

第一范式(1NF):在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单位。

第二范式(2NF):若关系模型属于第一范式,则关系中每一个非主关键字段都完全依赖于主关键字段,不能只部分依赖于主关键字的一部分。

第三范式(3NF):若关系模型属于第一范式,且关系中所有非主关键字段都只依赖于主关键字段。第三范式要求去除传递依赖。

1.3.4 关系数据库的设计原则

数据库设计是指对于一个给定的应用环境,根据用户的需求,利用数据模型和应用程序模拟现实世界中该应用环境的数据结构与处理活动的过程。

数据库设计原则如下。

(1)数据库内数据文件的数据组织应获得最大限度的共享、最小的冗余度,消除数据及数据依赖关系中的冗余部分,使依赖于同一个数据模型的数据达到有效的分离。

(2)保证输入、修改数据时数据的一致性与正确性。

(3)保证数据与使用数据的应用程序之间的高度独立性。

1.3.5 实体与关系

实体是指客观存在并可相互区别的事物。实体既可以是实际的事物,也可以是抽象的概念或关系。

实体之间有以下3种关系。

一对一关系:是指表A中的一条记录确实在表B中有且只有一条相匹配的记录。在一对一关系中,大部分相关信息都在一个表中。

一对多关系:是指表A中的行可以在表B中有许多匹配行,但是表B中的行只能在表A中有一个匹配行。

多对多关系:是指关系中每个表的行在相关表中具有多个匹配行。在数据库中,多对多关系的建立是依靠第3个表(称作连接表)实现的,连接表包含相关的两个表的主键列,然后从两个相关表的主键列分别创建与连接表中的匹配列的关系。 1GIu1K3CzhFlFjWTDFEoZM/DDcPk7TehXY6nsigUWkVOPSvlR8o6NQJcNvEXtGtJ

点击中间区域
呼出菜单
上一章
目录
下一章
×