Oracle数据库的基本理论和 E-R 模型

一、关系型数据库的基本理论:

  1. 数据库管理技术先后经历了:人工管理、文件系统、数据库系统 3 个阶段。(面试题曾经问过)
    在数据库系统中,数据模型主要有层次模型、网状模型和关系模型 3 种(另外一种面向对象模型还处在探索研究中),目前理论成熟、使用普及的模型就是关系模型——关系型数据库的理论基础。

  2. 关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,现实世界中的各种实体以及实体之间的各种联系均可用关系模型来表示。

  3. 在关系数据模型中,关系可以看成由行和列交叉组成的二维表格,表中一行称为一个元组,可以用来标识实体集(实体的集合)中的一个实体。表中的列称为属性,给每一列起一个名称即为属性名,表中的属性名不能相同。能唯一标识表中不同行的属性或属性组(即多个属性的组合)称为主键或复合主键。

  4. 在关系型数据库中,关键码(简称键)是关系模型的一个非常重要的概念,它通常是行(元组)
    的一个或几个列(属性)。如果键是由一个列组成,则称之为唯一键;若是由多个列(属性)组成的,则称之为复合键,键的主要类型如下:
    超键:在一个关系中,能唯一标识元组的属性或属性集称为关系的超键。
    候选键:如果一个属性集能唯一标识元组,且又不含有多余的属性,那么这个属性集称为关系的候选键。
    主键:如果一个关系中有多个候选键,则选择其中的一个键作为关系的主键。用主键可以实现关系定义中“表中任意两行(元组)不能相同”的约束。

二、关系型数据库的 E-R 模型

在设计关系型数据库时,首先需要为它建立逻辑模型。关系型数据库的逻辑模型可以通过实体和
关系组成的图形来表示,这种图形称为 E-R 图,它可以使现实世界中的实体和实体之间的联系转换为
逻辑模型。使用 E-R 图表示的逻辑模型被称为 E-R 模型,一个标准的 E-R 模型主要由实体、属性和联
系 3 部分组成。

1.实体和属性
实体是一个数据对象,是指客观存在并可以相互区分的事物,如一个教师、一个学生、一个雇员
等。每个实体由一组属性来表示,例如,一个具体的学生拥有学号、姓名、性别和班级等属性,其中
学号可以唯一标识具体某个学生这个实体。具有相同属性的实体组合在一起就构成实体集,而实体则
是实体集中的某一个特例,例如,王同学这个实体就是学生实体集中的一个特例。
在 E-R 模型中,实体用矩形表示,矩形内注明实体的命名。实体名常用以大写字母开头的有具体
意义的英文名词来表示,联系名和属性名也采用这种方式
2.联系
在实际应用中,实体之间是存在联系的,这种联系必须在逻辑模型中表现出来。在 E-R 模型中,
联系用菱形表示,菱形框内写明“联系名”,并用“连接线”将有关实体连接起来,同时在“连接线”
的旁边标注上联系的类型,两个实体之间的联系类型可以分为以下 3 类:
一对一:若对于实体集 A 中的每一个实体,在实体集 B 中最多有一个实体与之相关;反之亦然,则称实体集 A 与实体 B 具有一对一的联系,可标记联系为 1:1。

一对多:若对于实体集 A 中的每一个实体,在实体集 B 中有多个实体与之相关;反之,对于
实体集 B 中的每一个实体,实体集 A 中最多有一个实体与之相关,则称实体集 A 与实体集 B
具有一对多的联系,可标记联系为 1:n。

多对多:若对于实体集 A 中的每一个实体,在实体集 B 中有多个实体与之相关;反之,对于
实体集 B 中的每一个实体,实体集 A 中也有多个实体与之相关,则称实体集 A 与实体集 B
具有多对多的联系,可标记联系为 m:n。

三、关系型数据库的设计范式

一个关系包含许多元组(记录行),每个元组都是符合关系模式结构的一个具体值,并且都分属于相应的属性。在关系数据库中的每个关系都需要进行规范化,使之达到一定的规范化程度,从而提高数据的结构化、共享性、一致性和可操作性。
规范化是把数据库组织成在保持存储数据完整性的同时最小化冗余数据的结构的过程。规范化的
数据库必须符合关系模型的范式规则。范式可以防止在使用数据库时出现不一致的数据,并防止数据
丢失。关系模型的范式有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、
第五范式(5NF)、第六范式(6NF)和 BCNF 范式等多种。通常数据库只要满足前 3 个范式就足够用
了,下面举例介绍前 3 种范式。

在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是
关系型数据库。
第一范式(1NF):具有不可再分解的原子特性

第二范式(2NF):第二范式是在第一范式的基础上建立起来的,即满足第二范式必先满足第一范式。第二范式要求数据库表中的每个实体(即各个记录行)必须可以被唯一地区分。为实现区分各行记录通常需要为表设置一个“区分列”,用以存储各个实体的唯一标识。在学生信息表中,设置了“学号”列,由于每个学生的学号都是唯一的,因此每个学生可以被唯一地区分(即使学生存在重名的情况下),那么这个唯一属性列被称为主关键字或主键。

第三范式(3NF):第三范式是在第二范式的基础上建立起来的,即满足第三范式必先满足第二范式。第三范式要求:关系表不存在非关键字列对任意候选关键字列的传递函数依赖,也就是说,第三范式要求一个关系表中不包含已在其他表中已包含的非主关键字信息。

对于关系型数据库的设计,理想的设计目标是按照“规范化”原则存储数据,因为这样做能够消除数据冗余、更新异常、插入异常和删除异常。

发布了5 篇原创文章 · 获赞 1 · 访问量 1955

猜你喜欢

转载自blog.csdn.net/weixin_46163590/article/details/103947252