数据库系统概论|基础篇—Chapter1 绪论

Abstract:基础篇介绍数据库系统的基本概念和基础知识。第一章绪论,介绍数据库的额基本概念,数据模型的组成要素和常用数据模型,数据库系统的三季末世界观和其主要组成部分。
数据库是数据管理的有效技术。越来越多的应用领域运用数据库技术来存储和处理信息资源。B端的企业管理、电子商务等,C端的网上购物、订票、网银存取款等,都是数据库的应用。

Chapter1:数据库系统概述

第一章总结

四个基本概念cont

1.数据data

数据库中存储的基本对象。

是对现实世界中客观事物的符号表示,是描述事物的符号记录

计算机中的数据:能输入计算机,并能为其所处理的符号序列

种类:数值,文本text,图形graph,图像image,音频audio,视频video等

特点:数据与其语义(数据的含义)不可分。

  1. 数据库 DB

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

  • 存放数据的仓库,仓库位于计算机存储设备上,且按一定的格式存放。

特征:

  • 数据按一定的数据模型组织、描述和储存
  • 可为各种用户共享
  • 冗余度(redundancy)较小
  • 数据独立性(data independence)较高
  • 易扩展(scalability)

3.数据库管理系统DBMS

数据定义功能

  • DBMS提供数据定义语言(Data Definition Language,DDL)以便用户对数据库中的数据对象的组成与结构进行定义。

数据组织、存储和管理

  • DBMS要分类组织、存储和管理各种数据,包括数据字典,用户数据,数据的存放路径等。
  • 如何实现数据之间的联系:确定以何种文件结构和存取方式在存储级上组织这些数据
  • 多种存取方式提高存取效率:索引查找,hash查找,顺序查找

数据操纵功能

  • DBMS提供数据操纵语言(Data Manipulation Language,DML)以便用户操纵数据,实现对数据库的基本操作:增删改查

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

  • 数据库由DBMS统一管理和控制

数据库的建立和维护功能(实用程序)

  • 包括:初始数据的输入、转换功能,数据库存储、恢复功能,数据库的重组织功能和性能监视、分析功能

其他功能

  • DBMS与其他软件系统的通信功能
  • 数据转换
  • 异构数据库的互访和互操

4.数据库系统DBS

定义:在计算机系统中引入数据库后的系统构成。简称数据库。

构成

  • 数据库
  • DBMS及开发工具
  • 应用系统
  • 数据库管理员DBA:负责DBS的建立,使用和维护工作
  • 用户End User
1
2
3
4
5
6
7
graph LR
用户-->应用系统
应用系统-->应用开发工具
应用开发工具-->数据库管理系统
数据库管理系统-->操作系统
操作系统-->数据库
数据库管理员-->数据库管理系统

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

需求:数据处理和管理

  • 数据处理:数据收集,存储,加工,传播
  • 数据管理:数据分类,组织,编码,存储

经历三阶段

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

出现需求:数据量大,关系复杂,共享性要求强(多应用,多语言共享数据)

数据库系统的特点

1.数据结构化

整体数据结构化(DBS与文件系统的本质区别)

  • 用数据模型描述数据结构,无需程序定义和解释
  • 数据可以变长
  • 数据的最小存取单位是数据项
  • 从单应用到多应用,从无结构/部分结构化到整体结构化

共享性高

  • 数据共享可大大减少数据冗余,节省存储

数据独立性高

  • 物理独立性:用户的应用程序与存储在磁盘上数据库中的数据是相互独立的
  • 逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的;一方改变,另一方不变
  • 由DBMS的二级映像功能来保证

ps:数据与程序的独立把数据的定义从程序中分离出去,从而简化应用程序的编制和维护修改。

数据由DBMS统一管理和控制

  • 安全性控制:规定用户只能对某些数据以某些方式处理,防止数据因不合法使用而被破坏
  • 完整性控制
  • 并发控制:对多用户的并发操作进行控制
  • 数据库恢复

数据模型

两大类数据模型

1.数据模型的概念

  • 数据及数据间联系的表示形式(对现实世界特征的模拟,抽象和表示)
  • DBS的核心和基础

2.应满足3方面要求

  • 较真实地表示现实世界
  • 易为人所理解
  • 便于计算机实现

3.分2个不同层次

1
2
3
graph LR
现实世界-->信息世界
信息世界-->计算机世界

==概念模型-E-R模型==

  • 按用户观点对信息进行建模,主要用于DBS设计
  • E-R方法:实体——联系方法
  • 数据库设计的第一阶段

逻辑模型和物理模型

  • 逻辑模型:从计算机实现的观点来对数据建模,如层次模型(树状结构),网状,关系模型(集合、表格结构),面向对象数据模型,对象关系数据模型,半结构化等,主要用于DBMS的实现
  • 物理模型:对数据最底层的抽象,描述数据在系统内部的表示和存取方法
1
2
3
4
graph LR
现实世界-->认识抽象
认识抽象-->概念模型
概念模型-->逻辑模型

数据模型的组成要素

  • 数据结构
  • 数据操作
  • 完整性约束条件(integrity constraints):数据的完整性约束是一组完整性规则。完整性规则是给定的数据模型中数据及其联系所具有的制约和遗存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据及的正确、有效和相容。

概念模型(cont)

信息世界的几个基本概念

  • 实体entity:客观存在
  • 属性attribute:实体具有的特性
  • 实体型entity type:实体+属性=实体型

学生(学号,姓名,性别,所在院系)

  • 码key:唯一标识实体的属性集;如学号是学生实体的码
  • 实体集entity set:同类型实体的集合。如全体学生是一个实体集
  • 联系relationship:实体之间的联系=不同实体集之间的联系

实体型间的联系(A—>B 的映射关系)

  • 一对一(1:1)
  • 一对多(1:N)
  • 多对多(M:N)

联系的表示方法

  • 实体:矩形框
  • 联系本身:菱形;联系名+无向边+联系类型;联系本身也是实体型,也有属性
  • 属性:椭圆框

注:设计要避免冗余(浪费存储空间;带来数据的不一致性,一旦数据变化就需要大量修改)
如酒和厂家应分为2个不同实体,即2张表。

两个实体间的多对多的联系 —> 三个实体间的两个“一对多联系

层次模型

树结构

01

层次数据模型的数据操作:增删查改

通俗的讲层次模型就是一颗树,这棵树需要满足以下两个条件:

  • 有且只有一个节点没有双亲节点,这个节点称为根节点
  • 根以外的其他节点有且只有一个双亲节点。
  • 优缺点:数据结构比较简单清晰,查询效率高,提供了良好的完整性支持,但是并不能适用于现实世界的联系,有时能使用,但是很笨拙。

网状模型

典型代表:DBTG系统,亦称为CODASYL系统。 满足条件:

  • 允许一个以上的结点无双亲
  • 一个节点可以有多于一个的双亲 较层次模型更宽松的规则,更具有普遍性。

优缺点:

  • 优点:能够更为直接描述现实世界,良好的性能,存取效率较高。
    • 缺点:结构复杂,网状模型的DDL、DML复杂,并且需嵌入某一种高级语言中。有一定的应用程序负担

==关系模型==

  • 关系:一个关系对应通常说的一张表。
  • 元组:一行
  • 属性:一列
  • 码:也称为码键,表中的某个属性组,唯一确定一个元组。
  • 域:域是一组具有相同数据类型的值的集合。
  • 分量:元组中的一个属性值。
  • 关系模式:对关系的描述,一般表示为 关系名(属性1,属性2,。。。。属性n)

数据操作:集合操作;操作对象和结果都是关系(即为若干元组的集合)

存储结构:文件形式存储;

优缺点:建立在严格的数学概念上,概念单一,数据结构简单、清晰,用户易懂易用,开发方便。

典型关系数据库系统

关系模型要求关系必须是规范化的,关系的每一个分量必须是一个不可分的数据项。

数据库系统结构

==三级模式+二级映像+数据独立性==

型”和“值”的概念

  • 型type:对某一类数据的结构和数学的说明
  • 值value:型的一个具体赋值。

三级模式结构

三级模式+二级映像

模式

  • 模式是数据库中全体数据的逻辑结构和特征描述,模式的一个具体值称为模式的一个实例。模式是相对稳定的,而实例是相对变动的。
  • 模式:也称逻辑模式/概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。具有特点:全体性,逻辑性,特征性;
  • 一个DB只有一个模式。
  • 模式的地位:中间层,最核心。
  • 数据库系统的三级模式结构:外模式、模式和内模式三级构成。

外模式

  • 外模式:也称子模式(模式的一个子集)或用户模式(面向应用程序/用户的),它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
  • 外模式:介于模式与应用之间
  • 模式与外模式的关系:一对多(多个外模式间可以有交集,可重叠)
  • 反映:不同用户对数据保密、应用需求、看待数据的方式等的要求

如数字校园DBS,面向后勤集团的模式必须跟面向教务的分开,不然后勤都可以改学生的成绩了。

内模式

  • 内模式(存储模式、物理模式):它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
  • 一个数据库只有一个模式,也只有一个内模式

三级模式(数据的三个抽象级别)

  • 数据库系统的三级模式结构:外模式、模式和内模式三级构成。
  • 模式描述数据的全局逻辑结构,而外模式描述数据的局部逻辑结构
  • 定义外模式到模式的对应关系
  • 优点:把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式(说到底就是数据的独立性!)

数据库的二级映象功能

  • 出现原因:为了能在系统内部实现这三个抽象层次的联系和转换,DBMS在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。
  • 功能1-保证数据的逻辑独立性:当模式改变时,DBA只需修改有关的外模式\模式映像,使外模式保持不变。由于应用程序是根据外模式编写的,故应用程序也不必修改。(改映像不改模式
  • 功能2-保证数据的物理独立性:当DBS的存储结构改变时,DBA只需修改有关的外模式\内模式映像,使模式保持不变,从而应用程序也不必改变(改映像不改模式
  • 模式/内模式映象:当数据库的存储结构改变时,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。

采用三级模式+二级映像——>DBS具有数据独立性

  • 独立性:数据的定义和描述可以从应用程序中分离出去
  • 数据的存取由DBMS管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改
  • 数据的逻辑独立性是指应用程序对数据全局逻辑结构的依赖程度。数据逻辑独立性高是指当数据库系统的数据全局逻辑结构改变时,它们对应的应用程序不需要改变仍可以正常运行

DBS具有数据独立性的原因

  • 1.因为数据库管理系统能够提供数据的物理结构与逻辑结构之间的映像或转换功能。这种数据映像功能使得应用程序可以根据数据的逻辑结构进行设计,并且一旦数据的存储结构发生变化,系统可以通过修改其映像来适应变化。所以数据物理结构的变化不会影响到应用程序的正确执行。
  • 2.数据库系统能够提供数据的全局逻辑结构和局部逻辑结构之间的映像和转换功能。
  • 3.这种数据映像功能使得数据库可以按数据全局逻辑结构设计,而应用程序可以按数据局部逻辑结构进行设计。这样,当全局逻辑结构中的部分数据结构改变时,即使那些与变化相关的数据局部逻辑结构受到了影响,也可以通过修改与全局逻辑结构的映像而减小其受影响的程度,使数据局部逻辑结构基本上保持不变。
1
2
3
graph LR
外模式-->模式
模式-->内模式

DBS外部的体系结构

1.单用户结构的DBS

2.主从式结构的DBS

3.客户\服务器(C/S)结构的DBS

权限、可获取的系统资源都比B/S丰富

4.浏览器/应用服务器/数据库服务器结构

  • 客户端
  • 服务器
Thanks!