数据库系统概述
基本概念
数据
- 数据是数据库中存储的基本对象;
- 数据定义:描述事物的符号记录;
- 描述事物的符号很多,可以是数字、文字,也可以是图形、声音等信息,它们都可以经过数字化后存入计算机;
- 数据与其语义是不可分的,数据的语义也称数据的含义,就是指对数据的解释;
- 数据与关于数据的解释是不可分的。
数据库
数据库(DB)是指长期存储在计算机内的、有组织的、可共享的大量数据集合。
数据库管理系统
数据管理系统(DBMS):是位于用户与操作系统之间的一层数据管理软件;
数据库管理系统主要功能:
- 数据定义功能:用户可以通过它方便地对数据库中地数据对象进行定义;
- 数据操纵功能:用户可以通过它实现对数据库查询、插入、删除、修改等基本操作;
- 数据库地运行管理:用户可以通过它实现对数据库安全性、完整一致性的保障;
- 数据库的建立和维护功能:用户可以实现数据库的初始化、运行维护等;
数据库系统(DBS):是指在计算机系统中引入数据库后的系统,是由软件和硬件组成的完整系统。一般由数据库、数据库管理系统、计算机硬件和软件支撑环境、因公系统、数据库管理员和用户构成。
现实世界的信息化过程
现实世界的信息化过程:
- 现实世界中的客观对象抽象为信息世界的概念模型;
- 信息世界的概念模型转换为机器世界的数据模型;
现实世界
现实世界:是客观存在的对象,它设定了用户需求及边界条件,这为整个信息化过程提供了客观基础和初始启动环境。
如:现实世界中的人
信息世界
- 信息世界是现实世界在人脑中的反映,是对客观事物及其联系的一种抽象描述;
- 信息世界由概念模型描述。概念模型是按用户的观点对数据建模,是对现实世界的抽象表示,是现实世界到机器世界中的一个中间层次;
概念模型相关术语:
- 实体:客观存在的可以相互区别的事物或概念(如超市中的商品)
- 属性:实体所具有的额某一特性(商品的编码、名称)
- 码:能够唯一标识实体的属性集;
- 域:属性的取值范围;
- 实体型:具有相同属性的实体称为同型实体,用实体名及其属性名的集合来抽象和刻画同型实体,称为实体型。(商品(商品编码、商品名称、商品种类、价格、数量))
- 实体集:同一个实体型的实体集合(所有类型商品就是一个实体集)
- 联系:包括实体内部的联系与实体之间的联系。实体内部的联系指实体的各属性之间的联系,实体之间的联系是指不同实体集之间的联系。
- 实体内部的联系:“员工”实体的“职级”与“工质等级”之间的联系
- 实体之间的联系:“商品”实体和“学生”实体之间的联系
机器世界
机器世界即计算机世界,是在信息世界上致力于在计算机物理结构上的描述。机器世界将信息世界的概念模型转换为数据模型,实现信息的数据化,便于机器处理。
数据模型组成要素
数据结构
- 数据结构是主要描述数据类型、内容、性质的有关情况以及描述数据间的联系。
- 对系统静态特征的描述
数据操作
- 数据操作主要描述在相应数结构上的操作类型与操作方式
- 是对系统动态行为的描述
- 数据操作的类型:
- 检索
- 更新(包括插入、删除、修改)
完整性约束条件
- 完整型约束条件主要描述数据结构内数据间的语法、语义联系,它们间的制约与依存关系,以及数据动态变化的规则以此来保证数据的正确、有效与相容
- 完整性约束条件举例:
- 商品编码作为码必须非空且取值唯一(通用)
- 学生性别的取值只能是“男”或“女”(专用)
常用数据模型
下面的这些模型都是根据现实世界信息的形式来的
层次模型
- 数据结构:层次模型是用树型结构表示记录类型及其联系的,其特点是:
- 有且只有一个结点没有父结点,这个结点称为根结点
- 根以外的其他结点有且只有一个父结点
- 数据操作:查询、插入、删除和修改
- 完整性约束:
- 插入:如果没有相应的双亲结点值就不能插入子女从节点值;
- 删除:如果删除双亲结点值,则相应的子女结点值也被同时删除;
- 修改:应修改所有相应记录,以保证数据的一致性。
网状模型
- 数据结构:网状模型的数据结构是用有向图结构表示实体类型及实体间联系的数据模型,其特点是:
- 允许一个以上的结点无父结点
- 一个结点可以有多于一个的父节点
- 数据操作:主要有查询、插入、删除和修改
- 完整性约束:完整性约束条件并不严格
关系模型
关系的最基本条件:关系的每一个分量必须是不可分的数据项(就是不允许表中有表)
数据结构:关系模型是一种以二维表的形式表示实体数据和实体之间关系的数据模型,它由行和列组成;
数据操作:主要有查询、插入、删除和修改操作;
完整性约束:关系模型的完整性包括三大类:
- 实体完整性(必须支持)
- 参照完整性(必须支持)
- 用户定义的完整性
优点:
- 具有数学基础
- 概念单一
- 存取路径透明
缺点:查询效率受限
面向对象模型
- 数据结构:基本结构是对象而不是记录,一切事物、概念都可以看作对象,一个对象不仅包含描述它的数据,而且还包括对其进行操作的方法的定义;
- 数据操作:面向对象模型的数据操作由对象与类中方法建构对象数据模式上的数据操作,这种操作语义强于传统数据模型;
- 完整性约束:完整性约束也是一种方法,即是一种逻辑表达式,可以用类中方法表示模式约束。
数据库系统的内部体系结构
数据库的三级模式结构
(应用程序 1、2、3、4、5...) => (外模式 1、2) => 模式 => 内模式 => 数据库
模式
- 模式又称逻辑模式或概念模式,它是数据库中全体数据的逻辑结构和特征的描述,也是所有用户的公共数据视图
- 一个数据库只有一个模式
- 定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求
外模式
- 外模式又称子模式或用户模式,它是模式的子集,是数据的局部逻辑结构,也是数据库用户看到的数据视图
- 一个数据库可以有多个外模式
- 每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据对他们是不可见的,从而对数据库的安全性起到了有力的保障
内模式
- 内模式又称存储模式,它是数据在数据库中的内部表示,即数据的物理结构和存储方式的描述。
- 一个数据库只有一个内模式。
外模式/模式映像
- 对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系;
- 当模式改变时,由数据库管理员对各个外模式/模式映像作相应的改变,可以使外模式保持不变。应用程序时依据数据的外模式编写的,从而应用程序可以不必修改,保证了数据与程序的逻辑独立性
模式/内模式映像
- 模式/内模式映像定义了数据库的全局逻辑结构与存储结构之间的对应关系;
- 当数据库的存储结构改变时,由数据库管理员对模式/内模式映像做相应改变,可以使得外模式不变,从而应用程序也不必改变,保证了数据与应用程序的物理独立性;
- 模式/内模式映像是唯一的。
数据库系统的外部体系结构
- 单用户结构
- 主从结构
- 分布式结构
- CS 结构
- BS 结构
数据库系统特点
- 数据结构化:在数据库系统中采用数据模型表示复杂的数据结构,数据模型不仅描述数据本身的特征,还要描述数据之间的联系,即从整体上看数据是有结构的;数据结构化是数据库的主要特征之一,也是数据库系统与文件系统的本质特诊
- 数据冗余度低,实现了数据共享:数据不再面向特定的某个或多个应用,而是面向整个应用系统,数据可以被多个用户、多个应用共享使用,大大减少了数据冗余
- 数据独立性高:数据的独立性包括数据的逻辑独立性和数据的物理独立性,是指用户的应用程序与数据的逻辑存储结构和物理存储结构之间的相互独立性。有数据库管理系统的二级映像功能来保证
- 数据由 DBMS 统一管理和控制:
- 为用户提供存储、检索、更新数据的手段;
- 实现数据库的并发控制
- 实现数据库的恢复
- 保证数据完整性
- 保障数据安全性