数据库系统 --- 绪论

目录

一、数据库系统概述

1.4个基本概念

2.数据管理技术的产生和发展

二、数据模型

1.数据建模

2.概念模型

3.数据模型的三要素

4.层次模型

5.关系模型

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

1.基本概念

2.数据库的三级模式结构

3.数据库的两级映像与数据独立性

4.小结


一、数据库系统概述

1.4个基本概念

(1)数据:描述事物的符号记录,是数据库中存储的基本对象。

(2)数据库(DB):存放数据的仓库,是长期存储在计算机内有组织、可共享的大量数据的集合。具有较小的数据冗余、较高的数据独立性和可扩展性,并可为各种用户共享。

(3)数据库管理系统:位于用户与操作系统之间的数据管理软件。它和操作系统一样是计算机的基础软件。其主要功能包括以下几个方面:

①.数据定义功能。

②.数据组织、存储和管理功能。

③.数据操纵功能。

④.数据库的事务管理和运行管理功能。

⑤.数据库的建立和维护功能。

⑥.其他功能,如通信功能等等。

(4)数据库系统:指引入数据库后的计算机系统,一般是指由数据库、数据库管理系统(及其应用开发工具)、应用系统和数据库管理员组成的存储、管理、处理和维护数据的系统。

2.数据管理技术的产生和发展

数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。总结如下。

数据独立性:指数据与应用程序相互独立,即数据的结构发生变化后,应用程序不必做相应的修改。

数据库系统阶段的数据具有的特点:①.整体数据的结构化。②.数据的共享性强,冗余度低且易于扩展。③.数据的独立性强。④.数据由数据库管理系统统一管理和控制,包括数据的安全性保护、数据的完整性检查、数据的并发控制、数据库的恢复。

二、数据模型

数据模型是一种模型,它是对现实世界数据特征的抽象。

1.数据建模

数据建模:把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型的过程。

数据建模的步骤:

①.建立概念模型:把现实世界抽象为信息世界。

概念模型:把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个数据库管理系统支持的数据模型,而是概念级别的模型。

②.将概念模型转换成数据模型。

2.概念模型

(1)信息世界的基本概念:

①.实体(entity):客观存在并可以相互区别的事物称为实体。

②.属性(attribute):实体所具有的某一特性。

③.码(key):唯一标识实体的属性集。

④.实体类型:具有相同属性的实体必然具有共同的特性和特质。

⑤.实体集:同一类型实体的集合。

⑥.联系:信息世界中反应为实体各属性之间的联系,实体之间的联系。

(2)概念模型的表示方法:实体-联系模型(E-R图)

3.数据模型的三要素

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

数据结构:描述数据库的组成对象以及对象之间的联系。

数据结构描述的内容有两类:一类是与对象的类型、内容、性质相关的,比如网状模型中的数据项、记录;一类是与数据之间的联系有关的对象。

数据结构是对系统静态特性的描述。

数据操纵是对数据库中的各种对象(型)的实例(值)允许执行操作的集合,包括操作以及有关的数据规则。

数据操纵是对系统动态特性的描述。

完整性约束是一组完整性规则。

4.层次模型

在层次模型中,每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线表示,这种联系是双亲结点和子女结点之间的一对多联系。如下图:

5.关系模型

(1)关系模型的数据结构:从用户角度来看,关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表。

(2)关系模型的术语:①.关系:一个关系通常说的一张二维表。②.元组:表中的一行即为一个元组。③.属性:表中的一列代表一个属性。④.码:又称码键或键,是表中的某一属性或一组属性,其值可以唯一确定一个元组。⑤.域:某一属性的取值范围。⑥.分量:元组中的一个属性值。⑦.关系模型:对关系的描述,一般表示为:关系名(属性1,属性2,...)。

(3)关系模型要求关系必须是规范化的,关系中的每个分量都必须是一个不可分的数据项。简单来说,就是不可以表中有表。

(4)关系模型中数据操纵是集合操作,操作对象和操作结果都是关系。

(5)关系模型的优点:①.关系模型建立在严格的数学概念基础上。②.关系模型的概念单一。③.关系模型的存取路径对用户隐蔽。

(6)关系模型的缺点:由于存取路径对用户是隐蔽的,故其效率不如层次模型。

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

从数据库管理系统角度来看,数据库管理系统通常采用模式、外模式和内模式三级模式结构。这是数据库系统内部的体系结构。

1.基本概念

在数据模型中有"类型"(或者型)和"值"的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。

模式也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模型的一个实例。

模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。

2.数据库的三级模式结构

各种数据库管理系统,他们在体系结构上通常都具有相同的特征,即采用三级模式结构并提供两级映像功能。

(1)模式

模式是所有用户的公共数据视图,它是数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,且不与具体的应用程序或者程序设计语言有关。

模式实际上是数据库数据在逻辑级上的视图,一个数据库对应一种模式。定义模式时不仅要定义数据的逻辑结构,还要定义数据之间的联系,以及与数据有关的安全性、完整性要求。

(2)外模式

外模式也成子模式或者用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。外模式是数据库用户的数据视图,是与某一应用程序有关的数据的逻辑表示。

一个数据库可以有多个外模式,一个应用程序只能使用一个外模式。

外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。

数据库管理系统提供外模式数据定义语言来严格定义外模式。

(3)内模式

内模式也成物理模式或者存储模式,一个数据库只有一个内模式。它是对数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。

3.数据库的两级映像与数据独立性

数据库系统的三级模式是数据的三个抽象级别,它把数据的具体组织留给了数据库管理系统管理,使得用户能逻辑、抽象地处理数据,而不必关系其内部底层具体存储。

数据库管理系统在这三级模式之间提供了两级映像:外模式/模式映像和模式/内模式映像。

模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对于同一模式,可以有多个外模式。对于每个外模式,数据库系统都有一个外模式/模式映射来定义该外模式与模式之间的对应关系。

当模式改变时,由数据库管理员对各个外模式/模式的映像做出相应改变,可以使外模式保持不变。

数据库只有一个模式,也只有一个内模式,因此,模式/内模式映像是唯一的。

4.小结

在数据库的三级模式结构,其中,模式(即全局逻辑结构)是数据库的核心与关键,它独立于数据库的其他层次。因此设计数据库模式结构时应首先确定数据库的逻辑模式。

内模式依赖于数据库的全局逻辑结构,但独立于数据库的用户视图(即外模式),也独立于具体的存储设备。它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。

外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于存储模式和存储设备。当应用需求发生较大变化,相应的外模式不能满足其视图要求时,该外模式就得做相应改动。所以设计外模式时应充分考虑到应用的扩充性。

特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。数据库的两级映像保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需修改。数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。另外,数据的组织和存取交由数据库管理系统负责,简化了应用程序的编制,大大减少了应用程序的开发和维护成本。

相关推荐
张声录11 分钟前
【ETCD】【实操篇(十)】基于 ETCD 实现一个简单的服务注册及发现功能
数据库·etcd
张声录13 分钟前
【ETCD】【实操篇(十八)】ETCD监控实战:提升系统健康与集群调试效率
数据库·chrome·etcd
SelectDB技术团队8 分钟前
Apache Doris 创始人:何为“现代化”的数据仓库?
大数据·数据库·数据仓库·数据分析·doris
Suwg20933 分钟前
《手写Mybatis渐进式源码实践》实践笔记(第七章 SQL执行器的创建和使用)
java·数据库·笔记·后端·sql·mybatis·模板方法模式
丁总学Java36 分钟前
优化 invite_codes 表的 SQL 创建语句
java·数据库·sql
hmbbpdx1 小时前
MySql B树 B+树
数据库·b树·mysql
编程阿布1 小时前
Python基础——多线程编程
java·数据库·python
冰镇毛衣1 小时前
4.5 数据表的外连接
数据库·sql·mysql
又蓝1 小时前
使用 Python 操作 MySQL 数据库的实用工具类:MySQLHandler
数据库·python·mysql
庄小焱1 小时前
Java开发经验——数据库开发经验
数据库·系统设计·代码重构