数据库 第一章绪论 第三节

36 阅读9分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第13天,点击查看活动详情

数据库

第一章

第三节 关系模型

关系数据模型中的数据结构

  • 关系(Relation):一个关系通常说的就是一张表,例如学生信息表就是一张关系表。
  • 元组(Tuple):表中的一行就是一个元组;
  • 属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名字即属性名。
  • 码(Key):也叫码键。表中的某个属性组,它可以唯一确定一个元组,也就是可以唯一确定这一行的数据是唯一的,比如一个学生信息表中的学号属性就可以唯一确定一名学生。
  • :属性的取值范围,如人的年龄一般是0-100岁之间。
  • 分量:元组中的一个属性值,一行中的每一个属性值都是分量;
  • 关系模式:对于关系的描述。例如学生(姓名,学号,性别...),学生以及学生的属性就组成了一个关系表。

关系数据模型的操作和完整性约束

关系数据模型的操作主要包括查询、插入、删除和更新操作。这些操作必须满足关系的完整性约束条件。

  • 关系的完整性约束条件包括三大类:
  • 1.实体完整性
  • 2.参照完整性
  • 3.用户定义的完整性
关系数据模型的优点
  • 1.关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的。
  • 2.关系模型的概念单一。
  • 3.关系模型的存取也对用户透明(查询成绩的时候,学生无需知道数据存放在哪个位置),提高了数据的独立性和安全保密性。

数据库系统结构

概念

模式:是数据库中全体数据的逻辑结构和特征的描述,同一个模式可以有很多实例

(就等于数据库中的所有属性和属性值,比如学生选课数据库模式中所包含的学生记录、课程记录和学生选课记录)可以理解为是包含所有数据的一个视图。

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

外模式、模式、内模式 image.png 外模式:所谓外模式就是指的展示给用户想要的数据的视图。比如用户想要学生数据库成绩这一列数据,那么最终展示给用户的就是数据库成绩这一列,这就是外模式,只展示用户想要的数据。它与模式之间的关系是外模式是模式的子集,因为外模式是从模式中抽取的一部分指定数据给用户展示
内模式:也叫存储模式,是数据在存储设备上的存储方式。

二级映射
外模式/模式映像

对于同一个模式,可以有多个外模式映射,比如一个学生成绩信息记录表,可以有学生英语成绩为主的外模式,数学成绩为主的外模式,姓名为主的外模式,这些外模式都是取自于一个模式。当模式改变时(比如新增一个关系,一个属性,改变属性类型等),只需要数据库管理员对于这层映射做出相应改变,可以使外模式保持不变,比如学生信息表中新增了一个学号属性,但是他不会影响到我们的外模式,我们想要英语成绩,数学成绩同样可以像之前一样展示出来,应用程序是根据数据的外模式编写的,这样程序就不用修改了,保证了数据和程序的逻辑独立性。

模式/内模式映像

模式以怎样的方式表现到内模式中,也就是我们的数据信息如何存储到存储设备中。当数据库的存储结构改变时,只需要数据库管理员对这层映像做出相应改变,就可以使模式保持不变,从而应用程序也不用改变。保证了数据和程序之间的物理独立性。

数据库系统的组成

1.硬件平台及数据库

由于数据库系统的数据量都很大,加之数据库管理系统丰富的功能使得其自身的规模 也很大,因此整个数据库系统对硬件资源提出了较高的要求,这些要求是:

  • (1)要有足够大的内存,存放操作系统、数据库管理系统的核心模块、数据缓冲区和 应用程序。
  • (2)有足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带(或光盘)作数 据备份。
  • (3)要求系统有较高的通道能力,以提高数据传送率。
2.软件

数据库系统的软件主要包括:

  • (1)数据库管理系统。数据库管理系统是为数据库的建立、使用和维护配置的系统 软件。
  • (2)支持数据库管理系统运行的操作系统。
  • (3)具有与数据库接口的高级语言及其编译系统,便于开发应用程序。
  • (4)以数据库管理系统为核心的应用开发工具。应用开发工具是系统为应用开发人员 和最终用户提供的高效率、多功能的应用生成器、第四代语言等各种软件工具。它们为数 据库系统的开发和应用提供了良好的环境。
  • (5)为特定应用环境开发的数据库应用系统。
3.人员

开发、管理和使用数据库系统的人员主要包括数据库管理员、系统分析员和数据库设 计人员、应用程序员和最终用户。不同的人员涉及不同的数据抽象级别,具有不同的数据 视图,如图1.17所示。这些人员分别包括如下职责。

  • (1)数据库管理员( DataBase Administrator, DBA) 在数据库系统环境下有两类共享资源,一类是数据库,另一类是数据库管理系统软件。 因此需要有专门的管理机构来监督和管理数据库系统。数据库管理员则是这个机构的一一个 (组)人员,负责全面管理和控制数据库系统。具体包括如下职责。

image.png

  • 决定数据库中的信息内容和结构。数据库中要存放哪些信息,数据库管理员要参 与决策。因此,数据库管理员必须参加数据库设计的全过程,并与用户、应用程序员、系 统分析员密切合作、共同协商,做好数据库设计。
  • 决定数据库的存储结构和存取策略。数据库管理员要综合各用户的应用要求,和 数据库设计人员共同决定数据的存储结构和存取策略,以求获得较高的存取效率和存储空 间利用率。
  • 定义数据的安全性要求和完整性约束条件。数据库管理员的重要职责是保证数据 库的安全性和完整性。因此,数据库管理员负责确定各个用户对数据库的存取权限、数据 的保密级别和完整性约束条件。
  • 监控数据库的使用和运行。数据库管理员还有-一个重要职责就是监视数据库系统 的运行情况,及时处理运行过程中出现的问题。比如系统发生各种故障时,数据库会因此 遭到不同程度的破坏,数据库管理员必须在最短时间内将数据库恢复到正确状态,并尽可 能不影响或少影响计算机系统其他部分的正常运行。为此,数据库管理员要定义和实施适 当的后备和恢复策略,如周期性的转储数据、维护日志文件等。
  • 数据库的改进和重组、重构。数据库管理员还负责在系统运行期间监视系统的空 间利用率、处理效率等性能指标,对运行情况进行记录、统计分析,依靠工作实践并根据 实际应用环境不断改进数据库设计。不少数据库产品都提供了对数据库运行状况进行监视 和分析的工具,数据库管理员可以使用这些软件完成这项工作。
  • (2)系统分析员和数据库设计人员 系统分析员负责应用系统的需求分析和规范说明,要和用户及数据库管理员相结合, 确定系统的硬件软件配置,并参与数据库系统的概要设计。 数据库设计人员负责数据库中数据的确定及数据库各级模式的设计。数据库设计人员 必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人 员就由数据库管理员担任。
  • (3)应用程序员 应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。
  • (4)用户 这里用户是指最终用户(end user)。最终用户通过应用系统的用户接口使用数据库。 常用的接口方式有浏览器、菜单驱动、表格操作、图形显示、报表书写等。 最终用户可以分为如下三类。
  • 偶然用户。这类用户不经常访问数据库,但每次访问数据库时往往需要不同的数 据库信息,这类用户一般是企业或组织机构的高中级管理人员。
  • 简单用户。数据库的多数最终用户都是简单用户,其主要工作是查询和更新 数据库,一般都是通过应用程序员精心设计并具有友好界面的应用程序存取数据 库。银行的职员、航空公司的机票预订工作人员、宾馆总台服务员等都属于这 类用户。
  • 复杂用户。复杂用户包括工程师、科学家、经济学家、科学技术工作者等具有较 高科学技术背景的人员。这类用户- -般都比较熟悉数据库管理系统的各种功能,能够直接 使用数据库语言访问数据库,甚至能够基于数据库管理系统的应用程序接口编制自己的应 用程序。