数据库系统概述

目录:点我

一、数据库基本概念

1. 数据

数据(Data)是数据库中存储的基本对象,是描述事物的符号记录。数据可以是数字、文字、图形、图像、声音等。数据有多种形式,有语义,有结构。

2. 数据库

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

数据库的其它定义:

  1. DB 是存储在计算机系统中的数据。
  2. DB 是一个计算机化的记录存储的系统。
  3. DB 是相关文件的集合以及一组允许用户存取、修改这些文件的程序。
  4. DB 是供某个特定机构的应用系统使用的可操作数据的集合。
  5. DB 可看作是“各种数据用户都可去钓鱼的水库”。

3. 数据库管理系统

数据库管理系统(DataBase Management System,DBMS)是指数据库系统中管理数据的软件系统,是数据库系统的核心组成部分。对数据库的一切操作(定义、查询、更新及各种控制),都是通过DBMS进行的。

主要功能有:

  1. 建立:定义、组织和存储数据。
  2. 使用:增删改查。
  3. 维护:保证数据的安全性和完整性。

4. 数据库系统

数据库系统(DataBase System,DBS)是采用了数据库技术的计算机系统,包括 DB、DBMS、开发工具、 应用系统、硬件、软件、用户和数据库管理员(DBA)。

5. 数据处理与数据管理

  • 数据处理:是对各种形式的数据进行收集、储存、加工和传播的一系列活动的总和。
  • 数据管理:是指数据的分类、组织、编码、存储、维护、检索等操作,是数据处理的核心。
  • 数据库技术是数据管理的高级技术。

二、数据管理技术的发展阶段

1. 人工管理阶段

背景:

  1. 外存:只有磁带、卡片和纸带
  2. 软件:无数据管理方面的软件
  3. 数据处理方式:批处理

特点:

  1. 数据不保存在机器中
  2. 应用程序管理数据:没有专有的软件对数据进行管理,应用程序要规定数据的逻辑结构和物理结构。
  3. 数据不具有独立性:数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。
  4. 数据不共享:数据面向程序,即一组数据对应一个程序,当多个应用涉及相同数据时,程序之间有大量的冗余数据。

2. 文件系统阶段

背景:

  1. 外存:已有磁盘等直接存取设备
  2. 软件:出现了高级语言和操作系统
  3. 数据处理方式:批处理、联机实时处理

特点:

  1. 数据可长期保存:在外存的磁盘中。
  2. 由文件系统管理数据:按文件名访问,按记录存取,使得应用程序不数据之间有了一定的独立性,数据间的联系弱。
  3. 数据共享性差,冗余度大:一个文件基本上对应一个应用程序,不同的应用程序具有相同的数据时,造成数据的冗余,以及由于重复存储,各自管理造成数据的不一致性。
  4. 数据独立性差:一旦数据的逻辑结构改变,必须修改应用程序,修改文件结构的定义。

3. 数据库系统阶段

标志:

  1. 1968年,美国 IBM 公司推出层次模型的 IMS 系统。
  2. 1969年,美国数据系统语言协会的数据库任务组 发表关于网状模型的 DBTG 报告。
  3. 1970年,美国 IBM 公司的 Codd 提出关系模型, 奠定了关系数据库的理论基础。

背景:

  1. 硬件:已有大容量磁盘等直接存取存储设备,硬件价格下降。
  2. 软件:软件价格上升,编制和维护系统及应用软件所需成本增加。
  3. 数据处理方式:联机实时处理要求更多,提出和考虑分布处理。

特点:

  1. 克服缺陷:数据库技术在文件系统基础上发展起来,克服了文件系统的冗余、不一致和联系弱等缺陷。
  2. 高速发展:随着 1980 年甲骨文推出 Oracle,IBM 推出 DB2,数据库技术进入了高速发展的黄金时代。

三、数据库系统特点

1. 数据库系统的特点

数据库(DB)是存放数据的仓库,是长期存储在计算机内有组织的大量的共享的数据集合,具有最小冗余度和较高数据独立性。实现了整体数据的结构化,具有共享性高、独立性高等特点。下面详细进行介绍:

  1. 数据整体结构化:数据模型不仅描述数据本身的特点,还描述数据之间的联系。
  2. 数据共享性高,冗余度低,易扩充:数据面向整个系统,不是面向应用的,所以多应用多用户可共享数据,减少冗余,避免数据的不一致性。容易增加新的应用,易于扩充。
  3. 数据独立性高:数据在磁盘上的物理存储和逻辑结构改变,应用程序不用变。数据与程序独立,把数据的定义从程序中分离,简化程序的编写和维护工作。
  4. 数据由 DBMS 统一管理和控制:提供统一的数据管理和控制功能,即数据的恢复、并发控制、数据完整性和数据安全性。

2. 数据库技术发展的高级阶段

随着计算机技术及数据处理需求的发展变化,涌现出百花齐放、百家争鸣的数据库新技术。

20 世纪 80 年代之后数据管理进入高级数据库技术阶段,相继出现了面向对象数据库、XML 数据库、NoSQL 数据库、分布式数据库、内存数据库以及云数据库等数据库新技术。

四、数据模型

1. 数据模型的定义

  • 模型:是现实世界中对象特征的模拟和抽象。
  • 数据模型:也是一种模型,是对现实世界数据特征的抽象。

数据模型应该满足三个要求:

  • 真实地模拟现实世界。
  • 容易理解。
  • 便于计算机上实现。

2. 数据模型的种类

  • 概念模型:是从用户角度在信息世界对数据建模。
  • 逻辑模型:是从系统角度在机器世界对数据建模。

3. 数据模型的组成

  • 数据结构:是所研究对象类型的集合,即对实体类型和实体间联系的表达和实现。
  • 数据操作:是指对数据库中各对象允许执行的操作的集合,包括检索和更新两类。
  • 数据完整性约束:给出数据及其联系应具有的制约和依存规则,保证数据的正确、有效、相容。

五、数据描述

计算机不能直接处理现实世界中的具体事物,需要借助数据模型这个工具来抽象和表示数据。

1. 数据描述的术语

信息世界的术语:

  • 实体:可以相互区别的客观事物和概念的抽象。
  • 实体集:性质相同的同类实体的集合。
  • 实体标识符:能唯一标识每个实体的属性或属性集。
  • 属性:对实体某一特征的描述。
  • 域:属性的取值范围。
  • 联系:分为实体内部的联系和实体之间的联系。
    • 实体内部的联系:指的是实体各属性之间的联系。
    • 实体之间的联系:指的是不同实体集之间的联系。

机器世界的术语:

  • 字段:标记实体属性的命名单位,也称为数据项(属性)。
  • 记录:字段的有序集合(实体)。
  • 文件:同一类记录或不同类记录集合(实体集)。
  • 关键码(key):能唯一标识文件中每条记录的字段或字段集(实体标识符)。

2. 实体之间的联系

  • 一对一联系:A 中任意实体至多对应 B 中的一个实体,反之 B 中的任意实体至多对应 A 中的一个实体。
  • 一对多联系:A 中至少有一个实体对应 B 中的多个实体,反之 B 中的任意实体至多对应 A 中的一个实体。
  • 多对多联系:A 中任意实体至少有一个实体对应 B 中的多个实体,反之 B 中至少有一个实体对应 A 中的多个实体。

六、概念模型

1. 定义

为正确直观地反映客观事物及其联系,按用户观点对数据和信息建模型,称之为概念模型。

概念模型是现实世界到机器世界的一个中间层次。

2. 特点

  • 用于建立信息世界的数据模型,是现实世界的第一层抽象。
  • 是独立于计算机系统的模型。
  • 强调语义表达功能,概念简单、清晰,易于用户理解,是用户和 DB 设计人员之间交流的语言,是 DB 设计人员进行数据库设计的工具。

3. 实体联系模型

常用的概念模型—实体联系模型(Entity relationship model),简称 E-R 模型。E-R 模型提供了表示实体、属性、联系的方法。

E-R模型中的三要素:

  • 实体(Entity):表示可相互区别的客观事物。
  • 属性(Attributes):表示客观事物的特征 。
  • 联系(Relations):表示客观事物之间的关系。

实体联系模型使用实体联系图( E-R 图)描述现实世界:

  • 用矩形表示实体。
  • 用椭圆表示属性。
  • 用菱形表示实体间的联系。
  • 属性和实体间用无向边连接。
  • 实体和联系间用无向边连接(同时在边上标明联系的类型)。

举例:
在这里插入图片描述

七、层次模型

数据模型是数据库系统的核心和基础。按计算机系统的观点对数据建模称为逻辑模型,层次模型是数据库系统中最早出现的逻辑模型。

1. 数据结构

层次数据模型用树形结构组织数据,它是以记录类型为结点,以结点间联系为边的有序树。

层次数据模型适合表示记录间的一对多联系。

层次模型主要的数据操作有数据查询、数据插入、数据删除和数据修改,这些操作在树型结构上很容易实现。

  • 插入操作:没有相应的双亲结点不能插入子结点。
  • 删除操作:删除双亲结点则相应的子女结点也被删除。

2. 特点

  • 优点:层次模型本身比较简单;记录之间的联系通过指针实现,查询效率较高。
  • 缺点:适合表示记录间的一对多联系,而多对多的联系会出现数据冗余;结构严格、复杂,因此编程复杂;对插入和删除操作限制比较多。

八、网状模型

数据模型是数据库系统的核心和基础。按计算机系统的观点对数据建模称为逻辑模型,网状模型是比层次模型更具有普遍性的逻辑模型。

1. 数据结构

网状数据模型用图形结构表示实体及实体间的联系,它是以记录类型为结点,以结点间联系为边的有向图。

网状模型主要的操作有数据查询、数据插入、数据删除和数据修改,这些操作在图形结构上能够实现。

网状模型的数据操作也要满足模型的完整性约束条件:

  • 支持记录码的概念,码是唯一标识记录的数据项集合。
  • 保证联系中双亲记录和子女记录之间是一对多的联系 。
  • 支持双亲记录和子女记录之间的某些约束条件。

2. 特点

  • 优点:在两个结点之间可以有两种或多种联系,M : N 联系容易实现;记录之间的联系通过指针实现,存取(查询)效率较高。
  • 缺点:结构比较复杂,编程复杂,程序员必须熟悉数据库的逻辑结构,不利于用户掌握。

九、关系模型

数据模型是数据库系统的核心和基础。按计算机系统的观点对数据建模称为逻辑模型,关系模型是最重要的一种逻辑模型。

1. 数据结构

用二维表来表示实体集,用外键表示实体间的联系,这样的数据模型称为关系数据模型。

  • 关系:一个关系对应通常说的一张表。
  • 元组:表中的一行即为一个元组。
  • 属性:表中的一列即为一个属性。
  • 主码:表中某个属性组,可以唯一确定一个元组。
  • 域:属性的取值范围。
  • 关系模式:二维表的表头那一行。

关系模型的数据结构是规范化的二维表。

关系模型的主要操作有数据查询、数据插入、数据删除和数据修改,这些操作在表上很容易实现。

关系模型的完整性约束条件包括实体完整性、参照完整性、用户定义的完整性三大类。

2. 特点

  • 优点:
    • 关系模型建立在严格的数学概念基础上。
    • 关系模型概念单一, 结构简单,清晰,用户易懂易用。
    • 关系模型的存取路径对用户透明,具有更高的数据独立性和更好的安全保密性。
  • 缺点:由于存取路径对用户透明,查询效率往往不如非关系数据模型高。

关系模型是最重要的一种数据模型。关系模型与层次模型和网状模型相比具有明显的优点,深受用户欢迎。基于关系模型的关系数据库成为最重要和应用最广泛的数据库。

十、数据库系统三级模式

数据库系统内部的系统结构通常采用三级模式结构,即模式、外模式和内模式。

1. 结构

  • 型(Type):是指对某一类数据结构和属性的说明。
  • 值(Value):是型的一个具体赋值。
  • 模式(Schema):是数据库中全体数据的逻辑结构和特征的描述。
  • 实例(Instance):是模式的一个具体值,同一模式有很多实例。

三级模式:

  • 外部级(外模式):最接近于用户的一级数据库,是用户看到和使用的局部数据的逻辑结构和特征的描述,又称用户视图。外模式是模式的子集。 一个数据库可以有多个外模式。
  • 概念级(模式):介于用户级和物理级之间,是所有用户的公共数据视图(全局的数据视图),是数据库管理员看到和使用的数据库。一个数据库只存在一个DBA视图,即一个数据库只有一个模式。
  • 内部级(内模式):内模式也称为存储模式, 是数据物理结构和存储方式的描述。一个数据库只有一个内模式。

2. 结构示例

在这里插入图片描述

3. 实例

在这里插入图片描述

十一、数据库系统的两级映像

数据库系统的三级模式是数据的三个抽象级别,在三级模式之间提供了两级映像进行联系和转换。

1. 外模式/模式映像

  • 在外模式和模式之间存在外模式/模式映像,用于定义外模式和模式间的对应关系。
  • 一个模式可以有多个外模式,每一个外模式,数据库系统都有一个外模式/模式映像。
  • 外模式/模式映像通常包含在各自外模式的描述中。

2. 模式/内模式映像

  • 在模式和内模式之间存在模式/内模式映像,用于定义模式和内模式间的对应性。定义了数据库全局逻辑结构与存储结构之间的对应关系。
  • 数据库只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的。
  • 模式/内模式映像通常包含在模式描述中。

3. 两级映像图示

在这里插入图片描述

十二、数据独立性

数据库系统的三级模式是数据的三个抽象级别,在三级模式之间提供了两级映像进行联系和转换,三级模式和两级映像使数据具有独立性。

三个抽象级间通过两级映像进行相互转换,使得数据库的三级模式形成一个统一整体,保证了数据的独立性。

数据独立性是指应用程序与数据间相互独立,不受影响。分为逻辑独立性和物理独立性两级。

1. 逻辑独立性

对模式的修改尽量不影响外模式,从而应用程序不必修改,保证数据与程序的逻辑独立性,称为数据库的逻辑独立性。

2. 物理独立性

对内模式(存储结构)的修改尽量不影响模式,对于外模式和应用程序的影响更小,应用程序不必修改,保证数据与程序的物理独立性,称为数据库的物理独立性。

十三、数据库系统组成

数据库系统由数据库、数据库管理系统、应用程序和数据库管理员组成。

1. 数据库系统的软件和硬件

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

  • 数据库管理系统(DBMS)。
  • 操作系统(OS)。
  • 各种与数据库接口的高级语言及编译系统。
  • 应用开发工具。
  • 数据库应用系统。

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

  • CPU。
  • 内存。
  • 外存 I/O 设备。
  • 数据通道等设备。

数据库主要包括物理数据库、描述数据库。其中物理数据库是应用数据的集合,是 DB 的主体。描述数据库是各级数据结构的描述,由数据字典(DD)系统管理。

2. 数据库系统的人员

开发、管理和使用数据库系统的人员主要包括:

  • 系统分析员:负责应用系统的需求分析和规范说明,确定系统的硬件软件配置,参与数据库系统的概要设计。
  • 数据库设计人员:负责数据库中数据的确定,各级模式的设计,参加用户需求调查和系统分析,进行数据库设计。
  • 应用程序员:负责设计和编写应用系统的程序模块、调试和安装。
  • 数据库管理员(DBA):
    • 模式定义,决定数据库中信息内容和结构。
    • 内模式定义,决定数据库的存储结构和存取策略。
    • 根据要求修改数据库的模式和内模式。
    • 对数据库访问的权限,定义数据的安全性。
    • 完整性约束条件的说明。
    • 监控数据库的使用和运行(处理出现的问题)。
    • 数据库的改进和重组重构(改进数据库设计)。
  • 最终用户:通过应用系统的用户接口使用数据库。常用的接口方式有浏览器、菜单驱动、表格操作、图形显示等,以简明直观的表示方式显示数据。
    • 偶然用户:企业中高级管理人员,不常访问数据库,但访问时往往需要不同的数据库信息。
    • 简单用户:多数用户是简单用户,工作是通过应用程序的友好界面查询和修改数据库中的数据。
    • 复杂用户:工程师、科学家等人员,熟悉 DBMS 的各种功能,可直接用 DML 语言访问数据库,用 API 编写自己的程序。

各种人员的数据视图:
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BeZer0

打赏一杯奶茶支持一下作者吧~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值