数据库系统概述

数据库系统概述

数据库基本概念

  1. 数据(Data)是描述事物的符号记录,是指用物理符号记录下来的,可以鉴别的信息。各种形式的数据经过数字化处理后可存入计算机。
  2. 数据库(Database,DB)指长期储存在计算机中的有组织的,可共享的数据集合,且数据库中的数据按一定的数据模型组织,描述和存储,具有较小冗余度,较高的数据独立性,系统易于扩展,并可以被多个用户共享。
  3. 数据库管理系统(Database Management System,DBMS)是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
    主要功能:
    (1)数据定义功能
    用户可通过数据管理系统提供的数据定义语言(Data Definiton Language,DDL)定义数据库中的数据对象。
    (2)数据操纵功能
    用户可通过数据库管理系统提供的数据操纵语言(Data Manipulatin Language,DML)实现对数据的增删改查
    (3)数据库的运行管理功能
    保证数据安全,可靠,并发使用,故障可恢复。
    (4)数据库的建立和维护功能
    数据库的创建,数据库空间维护,数据库的备份与恢复功能,数据库的重组织功能,性能监视,分析。
    (5)数据组织,存储和管理功能
    为了提高数据的存取效率,数据库管理系统需要对数据进行分类存储和管理。
    (6)其他功能
    网络通讯,
  4. 数据库系统(Database System,DBS)
    是指计算机中引入数据库技术之后的系统:数据库,数据库管理系统,应用程序,数据库管理员,用户。数据库管理员(Database Administrator,DBA)专用负责对数据库进行维护,并保证数据库正常,高效运行的人员;

数据库系统结构

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

  1. 模式

    模式也称为概念模式,或逻辑模式,它是数据库中全体数据的逻结构和特征的描述,是所有用户的公共数据视图。

    模式实际上是数据库数据在逻辑上的视图,即概念视图,其形式要比数据的物理存储方式抽象。数据库管理员(DBA)必须考虑整 个数据库的这种全局概念视图,它不包含任何数据库的实现细节,而是定义数据的逻辑结构,数据之间的联系,以及数据相关的安全性,完整性等要求。

  2. 外模式

    外模式也称为子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用用关的数据的逻辑表示。一个数据库可以有多个不同的外模式,允许它们有一定的重叠,且外模式可以只为一个应用程序使用,也可以为多个应用程序所共享。

  3. 内模式

    在三级模式结构中,内模式也称为存储模式(Storage Schema)它是对数据库中数据物理结构和存储方式的描述。是数据在数据库内部的表示形式。

    内模式实际上是整个数据库最底层表示,它不同于物理层,是数据库管理员(DBA)所见到的,特定的DBMS所处理的数据库的内部结构,即内部视图或存储视图,一个数据库只有一个内模式,它不是存储设备上的物理记录或物理块,也不涉及任何具体设备限制。

  4. 三级模式结构的两层映像与数据独立性。

    概括而言,构成数据库系统三级模式结构的三个模式分别是对数据的三级抽象,它们彼此间具以下特征

    1) 一个数据库的整体逻辑结构和特征的描述(概念模式)是独立于数据库其也层次结构(内/外模式)的描述,其是数据库的核心,也是数据库设计的关键。

    2) 一个数据库的内疗存储模式依赖于概念模式,但存储模式独立于外部模式,也独立于具体的存储设备。

    3) 用户逻辑结构(外模式)是在全局逻辑结构描述的基础上定义的,它面向具体的应用程序,独立于内部模式和存储设备。

    4) 特定的应用程序是在外模式的逻辑结构上编写的,它依赖于特定的外模式,与数据库的模式和存储结构独立。

    因此,用户可以不必考虑数据的物理存储细节,而把数据的具体组纪念品留给DBMS负责管理,同时为了有效支撑数据的三级抽象以及它们相互间的联系和转换。DBMS通过在内部提供三级模式之间的两层映象来实现,即外模式/模式映象与模式/内模式映象。

    (1)外模式/模式映像

    所谓映象,就是一种对应规则,它指出映像双方是如何进行转换的,外模式/模式映象定义了外模式与概念模式之间的映像关系,这些映像定义通常在各自的外模式中加以描述。由于同一个模式可以有任意多个外模式,因此对于每一个外模式,数据库系统都 会有一个外模式/模式映像。

    数据库系统的模式如若发生改变,例如增加新的关系,新的属性,改变属性的数据类型等,数据库管理员(DBA)通常会对各个外模式/模的映像做出相应的改变,以使那些对用户可见的外模式保持不变,从而应用程序的编程人员就不必去修改那些依据数据的外模式所编写的应用程序,如此实现了外模式不受概念模式变化的影响,并保证了数据与程序的逻辑独立性。

    (2)模式/内模式映像

    模式/内模式映像定义了数据库全局逻辑结构与物理存储之间的对应关系,这种映像定义通常是在模式中加以描述的,由于数据库中只有一个模式,且也只有一个内模式,所以模式/内模式映象是唯一的。

    数据库系统的物理存储如若发生改变,例如选另一种存储结构或更另外一个存储位置,数据库管理员(DBA)通常也会对模式/内模式映像做出相应的调整,以使数据库系统的模式保持不变,从而也不必去修改应用程序,如此实现了概念模式不受内核式变化的影响,并保证了数据与程序的物理独立性。

    两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性,使得数据的定义和描述可以从应用程序中分离出去。从而简化数据库应用程序的开发,也减少了维护应用程序的工作量。

数据库的运行与应结构

  1. C/S
    通过应用程序与数据库组合,数据使用者通过应用程序与数据交互。
  1. B/S结构
    通过浏器/web应用服器/数据库三层组合结构。
    浏览器作为表示层,web应用服务器为处理层。最后数据库为实体层

数据模型

模型Model 是现实世界特征的模似和抽象表达:数据特征。它是对现实世界数据特片的抽象,描述的是数据的共性内容。

数据特征与数据模型组成要素

一般而言,数据具有静态和动态两种特征。其中,数据的静态特征包括数据的基本结构,数据间的联系以及数据取值范围的约束;数据的动态特征是对数据可以进行符合一定规则的操作。相应地,对现实世界数据特征进行抽象的数据模型,需要描述数据的静态特征与动态行为,并为数据的表示和操纵提供框架。因此,数据模型是用来描述数据的结构,定义在结构上的操纵以及数据间的约束的一组概念和定义。

通常,任何一种数据模型都是严格定义的概念集合,而这些概念必须能够精确地描述系统的静态特征,动态特征和数据约束条件,因此,数据模型通常由数据结构,数据操作和数据约束三个要素组成的

(1)数据结构

数据结构描述的是系统的静态特征,即数据对象的数据类型,内容,属性以及数据对象之间的联系。由于数据结构反映了数据模型最基本的特征,因此人们常常按照数据结构的类型来命名数据模型。层次结构,网状结构,关系结构数据模型分别命名为层次模型,网状模型,关系统模型。

(2)数据操作

数据操作描述的是系统的动态特性,是对各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。数据操作主要分为更新和检索两大类,其中更新包括插入,删除和修改。数据模型必须定义这些操作的确切含义,操作符号,操作规则以及实现操作的语言。

(3)数据约束

数据约束描述数据结构中数据间的语法和语义关联,包括相互制约与依存关系以及数据动态变化规则,以保证数据的正确性,有效性与相容性。数据约束包括数据完整性约束、数据安全性约束以及并发控制约束,数据约束既刻画了数据静态特征,也表示了数据的动态行为规则,任一数据模型应该反映和规定本数据模型必须遵守的,基本的,通用的数据约束,特别是数据完整性约束,它是一组完整性规则的集合,例,在关系模型中,任何关系必须满足实休完整性约束和参照完整性这两类约束,此外,数据模型还应该提供定义完整性约束条件机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。

数据模型分类

现实世界中人们认识,理解的数据和信息。不能直接被计算机处理,但可通过数据模型这个建模工具进行抽象表达,表示成计算机能够加工和处理的形式,并存放入数据库中时行存储与管理。因而,数据模型应满足三个方面的要求,即:能比较真实地模拟现实世界;容易为人们所理解;同时便于计算机上实现。然而,目前一种数据模型要很好地满足这三个方面的要求,仍很困难。

为此,人们通常是针对不同的使用对象和应用目的,采取逐步抽象的方法,在不同的抽象层面使用不同的数据模型,从而实现将世界中的具体事物逐步抽象,转换,组织成机器世界中某一具体数据库管理系统所支持的数据类型,即,首先,将现实世界中的客观对象抽象为信息世界中的某一种信息结构,这种信息结构并不依赖于具体的计算机系统,也不与具体的数据库管理系统相关,是一种概念的模型,然后再将概念级的模型转换为机器世界中某一具体的数据管理系统支持的数据模型。

1. 概念层数据模型

(1)信息世界中的基础概念

概念层是数据抽象级别的最高层,其目的是按用户的观点来对世界建模。概念层数据模型,也称为数据的概念模型(Conceptual Model)或信息模型,它用来描述现实世界的事物,与具体的计算机系统无关,且独立于任何DBMS,但容易向DBMS所支技的逻辑数据模型转换。这类模型主要用于数据库的设计阶段,即在设计数据库时,通常概念模型来由象,表示现实世界的各种事物及其联系。

  • 实体(Entiy)
    客观存在并可相互区别的事物称为实体。实体可以是实际的事物,也可以是抽像的概念或联系。
  • 属性(attribute)
    实体所具有的某种特性称为实体的属性,一个实体可以由多个属性来描述。
  • 码或键(key)
    可唯一标识实体的属性集称为码或键。
  • 域(Domain)
    属性的取值范围称为该属性的域,
  • 实体型(Entity Type)
    具有相同属性的实体必然具有共同的特征和性质。用实体名与属性集合来抽象和刻画同类实体,称为实型。
  • 实体集(Entity Set)
    同型实体的集合称实体集。
  • 联系(Relationship)
    在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指实体各属性之间的联系。实体之间的联系是指不同实体之间的联系。
    在数据模型中有"型 type" 和 "值 value"两个不同的概念。型:指的是对某一类数据的结构和属性的说明,而 值:是型的一个具体赋值。

(2)概念模型的表示方法

概念模型是对信息世界建模,概念模型的表示方法很多。其中最为常用是:实体-联系方法(Entity-Relationship approach).该方法用 E-R图来描述世界的概念模型,E-R方法也称为E-R模型。E-R图提供了表示信息世界中实体,属性和联系的方法,其中表示实体,属性,联系的图形含义如下

  • 实体型,其用矩形表示,框内写明实体的名称
  • 属性,其用椭圆形表示,并用无向边将其与相应的实体连接起来。
  • 联系,其用菱形表示,菱形框内写明联系名称,并用无向边分别与有关实体连接起来,同时在无向边旁边标上联系的类型, (1:1,1:N,M:N),如果一个联系具有属性,则这些属性也要用无向边与该联系连接起。

e.g

实体-联系主法是抽象和描述现实世界的有力工具,用E-R图表示的概念模型独立于DBMS所支持的逻辑模型,它是种逻辑模型的共同基础,因而比逻辑模型更一般,更抽象,更接近现实世界。

**2. 逻辑层数据模型 **

逻辑层是数据抽象的中间层,描述数据整体的逻辑结构,这一层的数据抽象称为逻辑层数据模型,也称为数据的逻辑模型(Logical Model)它是用户通数据库管理系统能看到的现实世界,是基于计算机系统的观点来对数据进行建模和表示,因此它既要考虑用户容易理解。

任何DBMS都是基于某种逻辑数据模型。其中,主要的逻辑数据模型有层次模型(Hierachical Model)网状模型(Network Model)关系模型(Relational Model)面向对象型型(Object Oriented Model)等,这里只简要介绍逻辑数据模型的基本概念,而基于关系模型的数据库,即关系数据库。

  • 层次模型

  • 层次模型是数据库系统最早使用的一种数据模型,它的数据结构是一棵'有向树',树的每个结点对应一个记录集,也就是现实世界的实体集。层次模型的特点是:有且仅有一个结点没有父节点,它称作为根结点;其他对点有且仅有一个父结点。组织机构就是典型

  • 网状模型

    网状模型以网状结构表示实体与实体之间的联系。网状模型是层次模型的扩展,允许结点有多于一个父结点,并可以有一个以上的结点没有父结点,现实世界中实体集之间的关系很复杂,网状模型可以方便地表示实体间各种类型的联系,即可以表示从属的关系,也可以表示数据间的交叉关系,但结构复杂,实现的算法难以规范化。

  • 关系模型

    关系模型是二维表结构来表实体及实体间联系的模型,并以二维表格的形式组织数据库中的数据,它具有以下优点:

    i)关系模型是建立在严格的数学概念的基础上的。

    ii)关系模型的概念单一,统一用关系来表示实体以及实体之间的联系,对数据的检索和更新结查同样也用关系(即表)来表示,因而关系统模型的数据结构简单,清淅。

    iii)关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

  • 面向对象模型

    尽管关系模型简单灵活,但是相对于现实世界中一些复杂的数据结构,很难用关系模型描述。面向对象方法与数据库相结合所构成的数据模型称为面向对象模开进 ,而向对象模型既是概念模型又是逻辑模型。面向对象数据模型用面向对象观点来描述现实世界实体的逻辑组织,对象间的联系,其表达能力丰富,具有对象可复用,维护方便等优点。

3.物理层数据模型

物理层数据据模型,也称为数据的物理模型(Physical Model)其描述数据在存储介质上的组织结构,是逻辑模型的物理实现,即每一种逻辑模型在实现时都 有与其相对应的物理模型。物理模型是数据库最底层的抽象,它确定数据的物理存储结构。数据存取路径以及调整,优化数据库性能。物理模型的设计目标是提高数据性能和有效利用存储空间。物理数据模型不但由DBMS的设计决定,而且与操作系统,计算机硬件密切相关。物理数据结构一般都向用户屏蔽,用户不必了解细节。

概括而言,这三个不同的数据模型之间既相互独立,而又存在着相联。从现实世界到概念模型的转换是由数据库设 计人员完成的,从概念模型到逻辑模型的转换可以数据库设计人员完成,也可以用数据库设计工具协助设计人员完成,从逻辑模型到理物模型的转换主要由数据库管理系统完成的。

相关推荐
花间相见1 小时前
【计算基础|MySQL03】【上手】多表查询与聚合
数据库·mysql
小羊没烦恼!1 小时前
T-SQL查询高级—SQL Server索引中的碎片和填充因子
开发语言·前端·javascript·数据库·后端·python·web安全
lv__pf1 小时前
redis【TL redis(6)】
数据库·redis·缓存
冰暮流星1 小时前
mysql索引失效的情形
数据库·笔记·sql·mysql
IvorySQL1 小时前
IvorySQL 校园行走进山东大学:从 PostgreSQL 到 AI,连接技术实践与职业成长
数据库·人工智能·postgresql
广州智造1 小时前
Radioss 材料本构的二次开发
运维·数据库·自动化·建模·后处理·前处理
闲云自留地2 小时前
从零造一台 Ubuntu 24.04:虚拟机、装系统、配 IP 到 root 远程登录一篇通
数据库·tcp/ip·ubuntu
Allen-Steven2 小时前
SQL查询专项:从完整书写到综合判断
运维·服务器·数据库
Navicat中国2 小时前
SQL 编辑器生产力:重构与实时错误检测
数据库·sql·重构·编辑器·navicat