db_1 数据库系统基本概念

四个基本概念

数据

描述事物的符号记录称为数据

数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。

数据库

数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。

数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

数据库管理系统 DBMS

  • 计算机的基础软件
  • belike OS 但和OS独立

功能后文说

数据库系统 DBS

数据库系统

组成:

  • 数据库
  • 数据库管理系统(及其应用开发工具)
  • 应用程序
  • 数据库管理员(DataBase Administrator,DBA)

存储、管理、处理和维护数据的系统

数据管理技术发展(*)

三个阶段

  • 人工管理阶段
  • 文件系统阶段
  • 数据库系统阶段

image-20241220123334405

人工管理阶段

特点

书:

  • 数据不保存
  • 应用程序管理数据
  • 数据不共享
  • 数据不具有独立性

ppt:

  • 数据不在计算机上保存
  • 没有软件系统对数据进行管理。程序规定数据的逻辑结构与物理结构。数据与程序不具有独立性。
  • 基本没有文件概念,数据组织方式必须由程序员自行设计
  • 一组数据对应一个程序,数据是面向应用的。程序间不能共享数据

应用程序———数据组

文件系统阶段

特点

书:

  • 文件可以长期保存
  • 由文件系统管理数据

ppt:

  • 数据以文件形式保留在外存上
  • 文件多样化
  • 数据的存取基本上以记录为单位
  • 程序和数据有一定的独立性
  • 文件与应用程序基本上是一一对应,数据共享性差, 冗余度大

应用程序———文件

问题

书:

  • 数据共享性差,冗余度大
  • 数据独立性差

ppt:

文件分散、相互独立,数据冗余度大,数据和程序缺乏独立性

  • 存储空间浪费

  • 容易造成数据的不一致性

  • 数据维护难度大

  • 程序维护工作量大

数据库系统阶段

集成、共享

集成的是指把特定应用环境中各种应用相关的数据及数据之间的联系,全部地、集中地并按照一定结构形式进行存储。

共享的是指数据可为多个不同的用户所共享

特点

  • 数据结构化

    • 面向全组织的复杂的数据结构
    • 数据库与文件系统的根本区别
    • “整体”结构化:数据库中的数据不再仅仅针对某一个应用,而是面向整个组织或企业;不仅数据内部是结构化的,而且整体是结构化的,数据之间是具有联系的
  • 数据的共享性高、冗余度低且易扩充

    • 面向整个系统
    • 减少数据冗余,节约存储空间
    • 避免数据之间的不相容性与不一致性
    • 数据库系统弹性大,易于扩充
    • 取整体数据的子集用于不同的应用系统
  • 数据独立性高

    • 通过DBS的二级映像保证
    • (高度的)物理独立性

      • 用户的应用程序与数据库中数据的物理存储是相互独立的
      • 数据的存储结构(物理结构)改变时, 数据的逻辑结构可以不变,从而应用程序也不必改变;
    • (一定的)逻辑独立性

      • 用户的应用程序与数据库的逻辑结构是相互独立的
      • 数据的逻辑结构改变时,应用程序可以不变
  • 数据由数据库管理系统统一管理和控制
    • 数据的安全性保护:保护数据以防止不合法使用造成的数据泄密和破坏
    • 数据的完整性检查:数据的正确性、有效性和相容性
    • 并发控制:控制和协调多用户的并发操作
    • 数据库恢复:从错误状态恢复到正确状态
  • 数据的最小存取单位是数据项
    • 既可以存取一个或一组记录,也可以数据库中某个或一组数据项

区别和联系

  • 区别:

文件系统面向某一应用程序,数据的共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据结构是针对某个应用设计的,只被这个应用程序或应用系统使用,数据是某个应用的“私有资源”

数据库系统中的数据面向整个组织或企业。数据的共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性。数据库中的数据用数据模型组织和描述,整体数据结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。

  • 联系:

文件系统与数据库系统都是计算机系统中管理数据的软件。 文件系统是操作系统的重要组成部分,而DBMS独立于操作系统。

依赖关系:DBMS是在操作系统的基础上实现的,数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。数据库系统中的所有操作最终都需要转化为对文件的操作,数据库的数据存储基础就是文件。 在操作数据库时,底层实际操作的是文件,DBMS 通过对文件系统的使用,实现对数据库的增删改查等操作。

数据模型

  • 对现实世界中的数据和信息的抽象
  • 数据库的核心和基础

分类:

  • 概念模型 数据库设计
  • 数据模型
    • 逻辑模型 DBMS的实现
    • 物理模型 DBMS的任务

现实世界———>信息世界(概念模型)———>机器世界(数据模型)

  • 现实世界到概念模型:数据库设计人员
  • 概念模型到逻辑模型:数据库设计人员/数据库设计工具
  • 逻辑模型到物理模型:数据库管理系统

概念模型

概念

  • 用于信息世界的建模
  • 现实世界到信息世界的第一层抽象
  • 数据库设计人员进行数据库设计的有力工具
  • 数据库设计人员和用户之间进行交流的语言
  • 按用户的观点对数据建模

信息世界基本概念

  • 实体(Entity):客观存在并可相互区分的事物

  • 属性(Attribute):实体所具有的某一特性

  • 码(Key):唯一标识实体的属性集

  • 域(Domain):某个(些)属性的取值范围

  • 实体型(Entity Type):表示一类实体,用实体名及其属性名集合来抽象、刻画

  • 实体集(Entity Set):同一类型实体的集合称为实体集

  • 联系(Relation):实体型之间的联系,是实体之间的相互关联

    • 实体内部联系:组成实体的属性直接的联系
    • 实体间的联系:不同实体集之间的联系
    • 类型
      • 1:1
      • 1:n
      • m:n
    • 联系也可以有属性

    image-20241220134153206

E-R法

概念模型最常用的表示方法

  • 用E-R图描述现实世界(概念结构)

  • 将E-R图转换成相应的数据模型

ER图
  • 实体:长方形
  • 属性:椭圆形,无向边连接实体与其属性,联系与其属性
  • 联系:菱形 无向边连接菱形与有关实体,标上联系的类型

后文详细说

数据模型

这里讲的数据模型都是逻辑上的,也就是说是用户眼中看到的数据范围。同时它们又都是能用某种语言描述,使计算机系统能够理解,被数据库管理系统支持的数据视图。这些数据模型将以一定的方式存储于数据库系统中,这是数据库管理系统的功能,是数据库管理系统中的物理存储模型

  • 数据库系统的核心和基础
  • 对现实世界数据特征的抽象,用来描述数据、组织数据和对数据进行操作。

  • 数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。

  • 用于机器世界,按计算机系统的观点对数据建模

组成三要素(*)

  • 数据结构:

    • 描述数据库的组成对象和对象之间的联系的一组概念
    • 是所描述的对象类型的集合
    • 对系统的静态特性的描述
    • 刻画数据模型最重要的方面
  • 数据操作:

    • 对数据库中各种对象(型)的实例(值)允许进行的操作的集合
    • 包括操作及有关的操作规则
    • 对系统动态特性的描述
    • 分为检索和更新两大类操作
  • 数据的完整性约束条件:

    • 是一组完整性规则的集合
    • 完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容
    • 包括
      • 符合这种数据模型所必须遵守的基本的通用的完整性约束条件
      • 针对具体数据的特定语义约束条件

分类(*)

格式化模型:

实体——>记录

属性——>记录的数据项/字段

数据结构:基本层次联系(两个记录之间1:n/1:1)

  • 层次模型

    • 最早出现
    • 数据结构(有向树)
      • 结点是实体型/记录类型 联系(父子之间的1:n)是有向边
      • 有且只有一个结点没有双亲结点,这个结点称为根结点
      • 根以外的其他结点有且只有一个双亲结点
    • 数据操作
      • 查询、删除、更新、插入
    • 完整性约束
      • 进行查询、删除、更新、插入操作的时候要满足层次模型的完整性约束条件
    • 优点
      • 结构简单,易于实现
      • 查询效率高
      • 良好完整性约束
    • 缺点
      • 联系种类太少(二元一对多联系)
      • 数据操纵不方便(子必须通过父)
      • 层次命令趋于程序化
    • 代表产品
      • IBM的IMS数据库
  • 网状模型

    • 数据结构(有向图)

      • 结点是实体型/记录类型 联系(1:n)是有向边
      • 可有一个以上的结点没有双亲
      • 至少有一个结点有多于一个的双亲
    • 数据操作

      • 查询、删除、更新、插入
    • 完整性约束

      • 不如层次模型严格
      • 网状数据库系统(如DBTG)对数据操纵都加了一些限制,提供了一定的完整性约束
    • 优点

      • 表达的联系种类丰富,能够更为直接地描述现实世界(一个结点可以有多个双亲,结点之间可以有多种联系)
      • 具有良好的性能,存取效率较高。
    • 缺点

      • 结构比较复杂,而且随着应用环境的扩大,数据库结构就变得越来越复杂,不利于最终用户掌握。
      • 网状模型的 DDL、DML复杂,并且要嵌入某一种高级语言(如COBOL、C)中。用户不容易掌握,不容易使用。
      • 记录之间的联系是通过存取路径实现的,用户必须了解系统结构的细节,加重了编写应用程序的负担
    • 代表产品

      • CODASYL的DBTG
  • 关系模型(非格式化模型)

    • 数据结构(二维表格)
      • 表示实体及实体之间的联系
      • 要求关系必须规范化
      • 要求关系中每个分量是不可分的数据项(不能表中套表)
    • 数据操作

      • 查询、删除、更新、插入
      • 集合操作 对象和结果都是关系
      • 存取路径隐蔽
    • 完整性约束

      • 实体完整性、参照完整性、用户定义完整性
    • 优点

      • 建立严格数学概念基础
      • 概念单一,一切皆关系, 用关系描述实体及实体间的联系
      • 存取路径隐蔽,对用户透明,数据独立性强
      • 可直接表示m:n联系
    • 缺点

      • 存取路径隐蔽,查询效率低
    • 代表产品

      • 早期:IBM开发的System R和加州大学Berkley分校 开发的INGRES
      • Oracle, MySQL,PostgreSQL, SQL Server等,国内:达梦、人大金仓、OpenGauss

数据库系统DBS的结构(*)

三级模式

image-20241221120547455

  • 模式(逻辑模式、概念模式)
    • 数据库中全体数据逻辑结构和特性的描述,所有用户的公共数据视图
    • 三级模式的核心
    • 具体定义数据的逻辑结构(数据记录结构、数据之间的联系)、数据安全性、完整性要求
    • DBMS提供模式描述语言(模式DDL)严格定义模式
    • 某个数据库的模式:用模式 DDL写出的一个数据库逻辑定义的全部语句
  • 外模式(子模式、用户模式)
    • 数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据逻辑结构和特征的描述
    • 数据库个别用户的数据视图、与某一应用有关的数据的逻辑表示
    • 模式的子集、应用程序:外模式(n:1)、不同外模式交集可以不为空
    • DBMS提供外模式描述语言(外模式DDL)定义外模式,和用户程序设计语言相容
  • 内模式(存储模式)
    • 数据在数据库系统内部的表示,对数据的物理结构和存储方式的描述
    • DBMS提供内模式描述语言(内模式DDL)定义内模式

两级映像

保证数据独立性

  • 外模式/模式映像
    • 数据的逻辑独立性
    • 模式变->映像变->外模式不变
  • 模式/内模式映像
    • 数据的物理独立性
    • 内模式变->映像变->模式不变->外模式不变

优点

  • 简化用户接口,方便用户使用
  • 有利于数据共享
  • 有利于数据的安全保密

数据库系统DBS的组成(*)

  • 数据库
  • 数据库管理系统(及其应用开发工具)
  • 应用程序
  • 数据库管理员(DataBase Administrator,DBA)

1.硬件平台及数据库

数据库对硬件资源的要求:

(1)要有足够大的内存存放操作系统、数据库管理系统的核心模块、数据缓冲区和应用程序

(2)要有足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带(或光盘)做数据备份

(3)要求系统有较高的通道能力,以提高数据传输率

2.软件

(1)数据库管理系统

(2)支持数据库管理系统运行的操作系统

(3)具有与数据库接口的高级语言及其编译系统,便于开发应用程序

(4)以数据库管理系统为核心的应用开发工具

(5)为特定应用环境开发的数据库应用系统

3.人员

(1)数据库管理员(DataBase Administrator,DBA)

①决定数据库中的信息内容和结构

②决定数据库的存储结构和存取策略

③定义数据的安全性要求和完整性约束条件

④监控数据库的使用和运行

⑤数据库的改进和重组、重构

(2)系统分析员和数据库设计人员

系统分析员负责应用系统的需求分析和规范说明,要和用户及数据库管理员相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计

数据库设计人员负责数据库中数据的确定及数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。很多情况下,数据库设计人员由数据库管理员担任

(3)应用程序

​ 应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装

(4)用户

①偶然用户:这类用户不经常访问数据库,但每次访问数据库时往往需要不同的数据库信息,一般为企业或机构的高中级管理人员

②简单用户:多数最终用户都是简单用户,主要工作是查询和更新数据库,一般都是通过应用程序员精心设计并具有友好界面的应用程序存取数据库。如银行的职员、机票预定工作人员、宾馆总台服务人员

③复杂用户:这类用用户都比较熟悉数据库管理系统的各种功能,能够直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的应用程序接口编制自己的应用程旭。如工程师、科学家、经济学家

数据库管理系统 DBMS

数据库技术的软件实现就是数据库管理系统DBMS

数据库系统是基于数据库管理系统建立的具有特定数据处理功能的系统

数据库管理系统是为数据库的建立、使用和维护配置的系统软件

组成(数据字典*)

  • 语言编译处理程序
  • 系统运行控制程序
    • 包括系统总控、存取控制、并发控制、完整性控制、 保密性控制、数据存取和更新、通信控制等程序
  • 系统建立和维护程序
    • 数据装入、数据库系统恢复、性能监督、工作日志等程序
  • 数据字典
    • 一系列表组成,存储着数据库中有关信息的当前描述,包括数据库的三级模式、用户名表、用户权限等信息。

​ 数据字典是关系数据库管理系统内部的一组系统表,它记录了数据库中所有的定义信息包括关系模式定义、视图定义、索引定义、完整性约束定义、各类用户对数据库的操作权限统计信息等。

​ 关系数据库管理系统在执行SOL的数据定义语句时,实际上就是在更新数据字典表中的相应信息。在进行查询优化和查询处理时,数据字典中的信息是其重要依据。

功能(*)

  • 数据库定义功能

    提供数据定义语言(Data Definition Language,DDL),用户通过它可以方便地对数据库中的数据对象进行定义

  • 数据库的建立和维护功能

    数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序或管理工具完成的。

  • 数据组织、存储和管理功能

    数据库管理系统要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率和方便存取,提供多种存取方法(如索引查找、hash查找、顺序查找等)来提高存取效率。

  • 数据操纵功能(ppt叫 数据存取功能)

    提供数据操纵语言(Data Manipulation Language,DML),用户可以使用DMI操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等。

  • 数据库的事务管理和运行管理

    数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证事务的正确运行,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。

  • 其他功能

    其他功能包括数据库管理系统与网络中其他软件系统的通信功能,一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能,异构数据库之间的互访和互操作功能等。

数据库管理员DBA

①决定数据库中的信息内容和结构

②决定数据库的存储结构和存取策略

③定义数据的安全性要求和完整性约束条件

④监控数据库的使用和运行

⑤数据库的改进和重组、重构