学习时间
2021-3-29
学习内容
数据库基本概念
信息、数据和数据处理
人们在在生产生活中,离不开对信息的收集、保存和处理。
而信息和数据之间的关系可以简单表示为:
- 数据是信息的具体表现形式。
- 信息是数据的有意义的表现。
- 信息本身具有数据化的特点。
- 数据本身是一种信息。
由此,我们可以知道:信息处理和数据处理往往指同一个概念。
数据自身也具有以下特性:
- 数据是数据库中存储的基本对象。
- 数据可以定义为描述事物的符号记录。
- 数据的表现形式不能完全表述其内容,需要经过解释。
数据管理技术的发展
数据处理的核心问题是数据管理,数据管理是指对数据进行分类、组织、编码、存储、检索、维护等操作。其先后经历三个阶段:
-
人工管理阶段:又称自由管理阶段,其特点包括:
- 数据不能长期保存
- 没有专门的软件对数据进行管理
- 数据不共享
- 数据不具有独立性
-
文件系统管理阶段:有以下特点:
优点:- 数据可以长期保存
- 由文件系统管理数据
缺点:
- 数据共享性差,冗余度大
- 数据独立性差
-
数据库系统管理阶段
数据库管理系统简称DBMS,与文件系统管理阶段相比,有以下优点:- 数据结构化(是数据库主要特征之一、最小的存取单位是记录)
- 数据的共享度高、冗余度低、易扩充
- 数据独立性高(由DBMS的二级映像来保证)
- DBMS对数据进行统一的管理和控制(DBMS提供以下几个方面的保证)
- 数据安全性保护
- 数据完整性控制
- 数据库恢复
- 并发控制
在数据库系统中,程序和数据之间的关系如图所示:
数据库系统结构
从不同的角度观察,可以得到不同的数据库系统结构。
从数据库管理系统的角度看,数据库系统通常采用三级模式结构(内部结构)
从数据库最终用户的角度看,数据库系统分为单用户结构、主从式结构、分布式结构、客户机/服务器结构、浏览器/服务器结构(外部结构)
数据库系统的三级模式结构
三级模式
百度百科的解释:数据库的三级模式
数据库系统的三级模式结构指的是外模式、模式、内模式。
如图所示:
数据定义语言DDL
(1)模式,又称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它与硬件、应用程序、开发工具和高级语言无关。是整个数据库系统的关键,其独立于数据库的其他层次。DBMS提供模式描述语言(模式DDL)来严格定义模式。
(2)外模式,又称子模式或用户模式,他是数据库用户能看见和使用的逻辑结构和特征的描述。通常是外模式的子集,且一个数据库可以有多个外模式。同一外模式可以为某个用户的多个应用系统使用,但是一个应用程序只能用一个外模式。DBMS提供子模式描述语言(子模式DDL)来严格定义子模式。
(3)内模式,又称存储模式,是数据在数据库内部的表示方式,是数据物理结构和存储方式的描述。一个数据库只有一个内模式。依赖于全局逻辑结构,但是独立于外模式。DBMS提供内模式描述语言(内模式DDL)来严格定义内模式。
两级映像
(1)外模式/模式映像
保证数据和程序的逻辑独立性。
(2)模式/内模式映像
保证数据和程序的物理独立性。
数据库系统的体系结构
特点:
- 单用户数据库系统:
一个用户独占,不同机器之间不能共享数据 - 主从式结构数据库系统:
一个主机带多个终端的多用户结构的数据库系统 - 分布式结构的数据库系统:
数据在逻辑上是一个整体,在物理分布在计算机网络的不同结点 - 客户机/服务器结构的数据库系统:
即C/S架构,将数据库管理系统的功能和应用程序分开,又可以分为集中的服务器结构和分布式服务器结构。- 客户机的请求传到数据库服务器之后,数据库服务器只将结果返回给用户,因而网络性能高。
- 数据都存储在服务器上,可以节省客户机的硬件开销。
- 移植性好,方便维护
- 浏览器/服务器结构的数据库系统:
即B/S架构,客户机上只需要安装单一的浏览器软件,负担很轻。它基于Web的三层或者多层结构,分别为Web服务器、应用服务器和数据库服务器。
数据模型
数据模型的概念
数据模型是一种模型,是对现实世界数据的抽象,用来描述数据、组成数据和对数据进行操作。
数据模型的要求:
- 能比较真实的模拟现实世界
- 容易被人们理解
- 便于在计算机上实现
数据模型三要素
- 数据结构:描述数据库的组成对象以及对象之间的联系,是数据数据模型最基本的特征,是对系统静态特性地描述
- 数据操作:对数据库中各种对象和实例进行操作的集合,是对系统动态特性的描述
- 数据的完整性约束条件:一组完整性规则的集合,反映和规定本数据模型必须遵守的基本通用的完整性约束条件,并提供完整性约束条件的机制
概念模型
概念模型是现实世界到机器世界的一个中间层次
信息世界中的基本概念
我们通过一些实例来具体理解一下这些概念
- 实体:对现实世界中客观存在并可以相互区别的事物的抽象。
比如,我作为一个学生,就是一个学生实体。 - 实体集:具有相同类型及相同性质的实体集合
比如,某大学某专业所有学生就是一个实体集。 - 属性:实体集中所有实体具有的共同特性的抽象描述
比如,学生都有姓名、性别、年龄等属性。 - 属性值域:属性的取值范围
比如,姓名可以取男或者女、学号有固定的格式 - 实体的键:能够唯一地标识实体集中每一个实体的一组属性
比如,学生之间有不可重复的学号和身份证号,也有可能会重复的姓名、性别。那么在选择键的时候,只能选择不可重复的属性。
另外,将满足键要求的属性称为候选键,一般选择一个作为主键。
两个实体集之间的联系
- 一对一联系
- 一对多联系
- 多对多联系
这些概念好理解,就不再赘述。
多个实体集之间的联系
如图所示
同一实体集内部的联系
如图所示
常用的数据模型
非关系模型
层次模型
在数据库中定义满足下面两个条件的记录以及它们之间联系的集合为层次模型:
(1)有且只有一个结点没有双亲结点,这个结点称为根结点;
(2)根以外的其他结点有且只有一个双亲结点
特点:任何一个给定的记录值只能按其层次路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在
网状模型
用网络结构表示实体类型及其实体之间联系的模型。
特点:
(1)允许有一个以上的节点无双亲。
(2)至少有一个节点可以有多于一个的双亲。
关系模型
关系模型是由若干个关系模式组成的集合。
与非关系数据模型相比,有以下优缺点:
优点:
(1) 数据结构单一
关系模型中,不管是实体还是实体之间的联系,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。
(2)关系规范化,并建立在严格的理论基础上
构成关系的基本规范要求关系中每个属性不可再分割,同时关系建立在具有坚实的理论基础的严格数学概念基础上。
(3)概念简单,操作方便
关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行操作。
缺点:
在执行查询操作时,需要执行一系列的查表、拆表、并表操作,所以执行时间长。
声明:
本文参考:
- 《数据库系统原理与应用》(孟彩霞,张荣,乔平安)人民邮电出版社
- 《数据库原理》(郭盈发,张红娟)西安电子科技大学出版社
关于转载:
允许非商业用途转载,注明出处和链接即可。