- 本文概要
本文企图讲清数据库系统的基础知识,帮助大家知道什么是数据库系统。下面是我这篇文章思维导图,希望看完这篇文章后,大家能对数据库系统有所了解。如果哪里没有讲清楚,或者有错欢迎大家留言指正。
数据库系统
- 数据库系统定义
数据库系统(Database System),是由数据库及其管理软件组成的系统。
数据库系统企图解决的问题,它的目标
- 数据冗余和不一致
- 安全性
- 并发访问异常问题
- 完整性问题
- 数据孤立问题
- 原子性
- 数据孤立
数据库系统(DBMS)的标准结构
这一节我希望能够讲清楚数据库系统的标准结构,虽然我们一提到数据库,就想到关系数据库,但是我们数据库不仅仅是关系型数据库,还有非关系型等等;而这牵扯到我们数据模型是关系型概念,这些都希望在这一节能够说清楚。
首先明确:数据库系统(Database System),是由数据库及其管理软件组成的系统。
- 下图是典型的数据库系统的结构
我们平常提到的Mysql,Oracle等等就是数据库管理软件;应用程序就不用说了,就是我们使用的软件;
在下面我讲说几个概念,如果初次接触可能会有点晦涩难懂,可以看一遍有大概映像,逐步往下看慢慢就会知道这些概念位置。
-
三个层次、三个模式、三级视图、两级映像
我们将DBMS分为三个层次、三个模式、三级视图、两级映像。下面我通过展示两幅图,企图告诉大家这几个概念之间的关系与所处的层次,这里三个层次是一个独立的概念;而三个模式;三级视图、两级映像是可以联系的概念,后面我为大家慢慢讲解这些分级的概念。
-
DBMS的三个层次
典型的数据系统的结构,我们将它划分成三个层次,分别为用户、逻辑、物理层次。
- 用户层次:某一用户能够看见并处理的数据,全局数据的一部分。
- 逻辑层次:从全局角度理解、管理数据,含有相应的约束。
- 物理层次:存储在介质上的数据,包括存储路劲,存储方式、索引方式。
- 数据与模式
- 数据/视图:某一种表现形式表现出来的数据库的数据。
- 模式:数据的结构,对数据中数据进行结构性的描述,所观察数据的结构信息。
- DBMS的三级模式
- 外模式、外视图:某一用户能够看到与处理数据的结构描述
- 逻辑模式、逻辑视图:从全局角度理解/管理数据结构的描述,含相应的关联约束。
- 内模式、内视图:存储在介质上数据结构的描述,含存储路径、存储方式、索引方式。
- DBMS的两层映像
- 外模式映像:将外模式映射为概念模式,从而支持从概念视图向外视图的转换,便于用户观察和使用。
- 内模式映像:将概念模式映射为内模式,从而醋精数据概念视图向数据内部视图的转换,便于计算机进行存储和处理。
- 为何要按照标准结构进行数据库系统的抽象
- 逻辑数据独立性:当概念模式发生改变可以无需改变外模式,从而保证无需更改应用程序。
- 物理数据独立性 :当内模式发生改变可以无需更改概念模式,从而无需更改外模式。
数据模型
数据模型是一个非常重要的概念,应为我们数据库可能是常用的关系型数据库,也可能不是关系型数据库。
前面我们知道模式是数据的结构,而下面我们要讲的数据模型,数据模型是模式的结构。
- 数据模型概念引入:
规定模式统一描述方式的模型,包括:数据结构、操作和约束
数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象 - 数据模型有哪些?
- 关系模型:所有模式都可为抽象表(Table)的形式[数据结构],而每一个具体的
模式都是拥有不同列名的具体的表。对这种表形式的数据有哪些[操作]和[约束] - 层次模型:以树形式组织数据。
- 网状模型:以图的形式组织数据。
数据建模与数据库的设计
当我们将现实世界中的海量数据,转换成计算机世界的数据,创建计算机世界的数据库时,这时我们就需要数据建模和数据库的设计的知识。
- 定义:由于计算机不能直接处理现实世界中的具体事务和联系,所以人们想到用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗的讲数据模型就是现实世界的模拟。
- 我们为了方便数据建模,将世界分为三个世界,逐步对数据进行抽象。
- 数据库设计步骤
通过上图我们对现实世界数据的逐步抽象,其实这就是数据库设计的步骤。数据库设计步骤分为四个步骤:
需求分析 -> 概念模型设计 -> 逻辑模型设计 ->物理模型设计
- 关于数据库设计具体步骤,我专门写了一篇文章关系数据库设计步骤,详细进行讲解,希望文章可以帮到大家。关系数据库设计