首页 理论教育 数据库的基本理论及数据模型分析

数据库的基本理论及数据模型分析

时间:2023-07-08 理论教育 版权反馈
【摘要】:数据模型是描述系统中数据、数据之间的关系以及对数据约束的一组完整的概念,它是对数据库的结构与语义的描述,是对现实世界的抽象,它是数据库系统的核心和基础。数据模型可分为两种类型:一是独立于计算机系统的数据模型,二是涉及计算机系统及数据库管理系统的数据模型。模式是对数据库结构的一种描述,而不是数据本身。关系模型由数据结构、关系操作集合和关系的完整性三部分组成。

数据库的基本理论及数据模型分析

(一) 数据模型

数据库中,不仅要反映数据本身的内容,而且要反映数据之间的关系,它通过数据模型来表示。数据模型是描述系统中数据、数据之间的关系以及对数据约束的一组完整的概念,它是对数据库的结构与语义的描述,是对现实世界的抽象,它是数据库系统的核心和基础。数据模型应该满足三方面的要求:第一是比较真实地模拟现实世界,第二是容易为人们所理解,第三是便于在计算机上实现。

数据模型可分为两种类型:一是独立于计算机系统的数据模型,二是涉及计算机系统及数据库管理系统的数据模型。

1. 概念模型与E-R方法

为了在计算机中处理现实世界中的各类信息,就需要将现实世界中的事物进行抽象。人们常常首先将现实世界抽象为信息世界,然后再将信息世界转化为计算机世界。在把现实世界抽象为信息世界的过程中,实际上是抽象出现实系统中有应用价值的元素及其关联,这时所形成的信息是概念模型。在概念模型的基础上再可以转化为计算机上DBMS支持的数据模型,从而达到能在信息系统中对现实世界进行信息管理的目的。

概念模型只是现实世界到计算机世界的一个中间层次。描述概念模型的最常用的方法是实体-联系方法(即E-R方法),用E-R方法表示的概念模型称为E-R图或E-R模型。在图中,用矩形框表示实体,用来表示现实世界中的各种对象,可以是人、物体、事件或概念;在图中,用椭圆形框表示属性,属性反映实体的某一方面的特征,一个实体往往有多项不同的属性;在图中,用菱形框用来表示实体间的联系,实体间的联系可分为一对一、一对多、多对多三种。图2-5表示实体商品与客户通过销售建立联系。

图2-5 E-R模型图

2. 数据库系统支持的数据模型

概念数据模型仅仅是概念上的抽象模型,它与具体的数据库管理系统无关,而实际数据库系统中所支持的数据模型主要的关系模型、层次模型和网络模型,目前大多数数据库管理系统是采用关系数据模型。关系数据模型中用关系(二维表格)表示实体和实体之间联系。

(二) 数据库系统的三级模式结构

尽管数据库管理系统软件产品多种多样,支持不同的数据模型,建立在不同的操作系统上,数据存储结构也各不相同,但大多数数据库系统在总体结构上呈外模式、模式和内模式三级模式。

1. 外模式

外模式又称子模式或用户模式,是用户观点看到的数据视图,它涉及的是数据的局部逻辑结构。外模式是个别用户的数据视图,它是与某一应用有关的数据的逻辑表示,不同用户的外模式可以互相覆盖,同一个外模式可以为某一用户的任意多个应用启用,一个应用只能启用一个外模式。数据库系统通过提供外模式描述语言(外模式DDL)来描述用户数据视图,用外模式DDL写出的一个用户数据视图的逻辑定义的全部语句称为此用户的外模式。

2. 模式

模式称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,它描述的是数据的全局逻辑结构。模式不涉及数据的物理存储细节和硬件环境,也与具体的应用程序及高级程序语言无关。模式通常以某一种数据模型为基础,而不仅仅是数据的逻辑结构的定义。用DDL写出的一个数据库逻辑定义的全部语句称为某一个数据库的模式。模式是对数据库结构的一种描述,而不是数据本身。

3. 内模式(www.xing528.com)

内模式也称为存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和方式的描述,内模式是全体数据库数据的内部表示或者低层描述,用来定义数据的存储方式和物理结构。内模式通常用内模式数据描述语言来描述和定义。

(三) 关系数据库的规范化

关系数据库是基于关系模型的,目前使用最为广泛的数据库,20世纪80年代以来推出的DBMS几乎都是关系型数据库。关系模型由数据结构、关系操作集合和关系的完整性三部分组成。其中关系的完整性用于保证数据的准确性和一致性,它包含实体完整性、参照完整性和用户自定义完整性三方面。实体完整性是保证数据库中记录的唯一性,即每个记录的主键不能为空或重复;参照完整性是保证表与表之间语意上的完整性,即当一个表引用另一个表中定义的实体时,要保证这个实体的有效性;用户自定义完整性指针对某一具体的数据库的约束条件,由应用环境变量来决定,它反映某一应用所涉及的数据必须满足的语义要求。

为了使数据库设计的方法走向完备,人们提出了规范化理论,规范化可以使关系的结构简化,更加有规律,存储尽量减少冗余,使数据库设计更加合理。

关系数据规范化方法是研究关系模式中各属性之间的依赖关系以及对关系模式性能的影响,探讨一个“好”的关系模式应具备的性质,以及设计算法,即关系模式的优化问题。关系规范化理论主要原则是等价替换和数据最小冗余,使数据模式设计得既稳定又灵活。

设有一个关系模式:供应商(名称,地址,产品名,规格,单价),这是一个不好关系模式,其中存在以下问题。第一,数据冗余。一个供应商每提供一种产品,它的地址就要重复一次;第二,存在更新异常问题。由于数据冗余,可能在一个记录中更改了某个供应商的地址,而没有更改另一个记录中同一供应商的地址,于是造成数据不一致,使一个供应商具有两个不同的地址。第三,在这个关系模式中插入记录与删除记录都可能出现异常情况。因此对关系模式的规范化对于提高数据的可修改性、完整性和一致性非常重要。

在关系模式的规范化过程中,涉及以下的规范化形式的概念。

1. 第一规范化形式(1NF—first normal form)

第一范式是指关系中每一属性都是不可分割的数据项。如关系:本期教师授课(教师号,姓名,性别,出生日期,授课情况)不符合第一范式要求,而关系:教师(教师号,姓名,性别,出生日期,)和教师授课(教师号,课程号,课程名称,课时数,班级,学生人数,班主任)是符合第一范式的。在第一范式中,没有重复出现属性,如不会出现一个教师上多门课时造成姓名、性别、出生日期的大量重复,但存在属性对关键字的部分依赖,如课程名称、课时数依赖于课程号,学生人数、班主任依赖于班级。

2. 第二规范化形式(2NF—second normal form)

对于满足第一范式的关系模式,如果它的所有属性都完全依赖于任一主关键字,则称该关系模式是第二范式。对于满足第一范式的关系模式,当关键字由不止一个属性组成时,必须确保每个非关键字属性完全函数依赖整个关键字,必要时,通过分解办法转换成若干满足这种要求的关系。在第二范式中,所有的非关键字都完全函数依赖于关键字,但存在属性对关键字的传递函数依赖。将上面的关系模式分解为以下四个关系:教师(教师号,姓名,性别,出生日期),授课情况(教师号,课程号,班级号),课程(课程号,课程名称,课时数),班级(班级号,班级名,学生人数,班主任),则都是符合第二范式的。

3. 第三规范化形式(3NF—third normal form)

对于满足第二范式的关系模式,如果它的任何一个属性都不传递依赖于任何主关键字,则称该关系模式是第三范式。在第三范式中,要求所有非关键字属性彼此独立,必要时去掉冗余的属性或用分解的办法转换成若干个满足这种要求的关系。如关系:产品(产品码* ,名称)和生产企业(产品码* ,企业代码,企业名,地址,电话)是符合第二范式的关系模式,关系统中带“* ”的为主关键字,企业代码依赖于产品码,而企业名称、地址与电话是从产品的生产工厂决定的,如果将第二个关系分解为:T1(产品码* ,企业代码)和T2(企业代码,企业名,地址,电话)则可成为第三范式。这样一方面企业的名称、地址、电话不会反复重复,而且在插入和删除记录时不会出现异常情况。

在关系规范理论中还有第四、第五范式,第四范式适用于多值依赖的关系模式,但在实际应用中,最有价值的是第三范式。为了设计一个好的关系模式,有时需要把一个关系分为几个关系模式,进行分解的目的之一就是解决可能存在的插入、删除和修改时引起的一些问题。如在上面的生产企业关系模式中,增加一个产品记录时就有可能重复输入企业地址与电话;修改一个企业的名称、地址、电话时,如果企业有几个产品时有可能造成数据不一致;如果企业只有一个产品时,删除该产品记录将会把企业的名称、地址与电话也同时删除。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈