数据库系统概论【一】

一、初识数据库


1、数据库的4个基本概念

(1) 数据(Data)

定义:描述事物的符号记录例如:数字、文字、图形、图像、音频、视频、学生的档案记录等。因为是描述事物的符号记录,所以数据的含义和语义是不可分的就像数字93在不同语句能代表不同含义

(2)数据库(Database,DB)

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

(3)数据库管理系统(DataBase Management System,DBMS)

本质:软件

位于用户与操作系统之间的一层数据管理软件,是基础软件,是一个大型复杂的软件系统

通过各种语言实现数据库的定义(DDL)、操纵(DML)、控制(DCL)、维护功能

  • DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter等。
  • DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、udpate 和select 等。(增添改查)
  • DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。

一条数据库语言相当于高级语言的一个或多个循环程序

(4)数据库系统(DataBase System,DBS)

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

在不引起混淆的情况下常常把数据库系统简称为数据库。

包含:

  • 数据库
  • 数据库管理系统(及其应用开发工具)
  • 应用程序
  • 数据库管理员(DataBase Administrator,DBA)
  • 计算机基本环境

2、数据库系统的特点

(1) 数据结构化

数据的整体结构化是数据库的主要特征之一

  • 不再仅仅针对某一个应用,而是面向整个企业或组织
  • 不仅数据内部结构化,整体是结构化的,数据之间具有联系
  • 数据记录可以变长
  • 数据的最小存取单位是数据项

数据用数据模型描述,无需应用程序定义

(2) 数据的共享性高,冗余度低且易扩充

数据面向整个系统,可以被多个用户、多个应用共享使用

(3) 数据独立性高

物理独立性 指用户的应用程序与数据库中数据的物理存储是相互独立的。当数据的物理存储改变了,应用程序不用改变。

逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,应用程序不用改变。
数据独立性由数据库管理系统的二级映像功能来保证。

(4) 数据由数据库管理系统统一管理和控制

3、数据模型

数据模型是对现实世界数据特征的抽象。通俗地讲数据模型就是现实世界的模拟。它是数据库系统的核心和基础

数据模型分为两类(两个不同的层次)概念模型、逻辑模型和物理模型

注意!是数据模型分为这两类,和数据模型的组成要素要分清

(1) 概念模型(信息模型)

它是按用户的观点来对数据和信息建模,用于数据库设计。

概念模型的一种表示方法:实体-联系方法(Entity-Relationship Approach)

用E-R图来描述现实世界的概念模型 E-R方法也称为E-R模型。

(2) 逻辑模型和物理模型

逻辑模型:按计算机系统的观点对数据建模,用于DBMS实现。逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。

物理模型:描述数据在系统内(磁盘上)的表示方式和存取方法。由现实的使用的机器设计和操作系统控制,计算机通过DBMS自动存储。

在信息世界中,我们对一个实体的抽象:

(3)两个层次之间的 关系

4、数据模型的组成要素

由于数据模型是对现实世界数据特征的抽象,所以数据模型是严格定义的一组概念的集合,它精确地描述了系统的静态特性、动态特性和完整性约束条件(Integrity Constraints)。这也就是数据模型的三大组成要素

(1) 数据结构–描述系统的静态特性

数据结构是刻画数据模型性质的重要方面,用来描述数据库的组成对象–对象的类型、内容、性质和描述对象之间的联系

一般用数据结构的类型来命名数据模型,例如:层次结构-层次模型、网状结构–网状模型、关系结构—关系模型

(2)数据操作–描述系统的动态特性

数据操作是对数据库中各种对象的实例允许执行的操作的集合包括操作及有关的操作规则

(3)完整性约束

完整性约束:给定的数据模型中数据及其联系所具有的制约和依存规则。

通俗的讲,就是根据现实,我们的数据和联系需要一定的约束条件,例如一个人年龄不可能大于300等,但是注意约束不仅仅指的是值约束,比如厨师实体型不能插入教师实体集中,就需要有这种限制。总之就是符合实际和我们的使用需要,以及符合相应的数据模型设定

5、常用数据模型

上个世纪七八十年代使用层次和网状模型,由于逐渐复杂,且使用趋于程序化,当关系模型出现后很多应用很快被关系模型替代,现在最常用的是关系模型

(1)层次模型

层次模型用树形结构来表示各类实体以及实体间的联系,用记录类型描述每个结点表示一个记录类型(实体)用字段描述每个记录类型可包含若干个字段,用结点之间的连线表示记录类型(实体)之间的一对多的父子联系

类比我们现在面对对象的树设计,对象、属性、方法

层次模型的定义:满足下面两个条件的基本层次联系的集合为层次模型

  • 有且只有一个结点没有双亲结点,这个结点称为根结点
  • 根以外的其它结点有且只有一个双亲结点

特点:

  • 结点的双亲是唯一的
  • 只能直接处理一对多的实体联系
  • 任何记录值只有按其路径查看
  • 没有一个子女记录值能够脱离双亲记录值而独立存在
层次模型的完整性约束条件
  • 无相应的双亲结点值就不能插入子女结点值
  • 如果删除双亲结点值,则相应的子女结点值也被同时删除
  • 更新操作时,应更新所有相应记录,以保证数据的一致性

(2)网状模型

网状数据库系统采用网状结构来表示各类实体以及实体间的联系,用记录类型描述每个结点表示一个记录类型(实体)用字段描述每个记录类型可包含若干个字段,用结点之间的连线表示记录类型(实体)之间的一对多的父子联系。(表示方法与层次模型相同)

类比我们现在面对对象的图设计,对象、属性、方法

网状模型的定义:满足下面两个条件的基本层次联系的集合

  • 允许一个以上的结点无双亲
  • 一个结点可以有多于一个的双亲

特点:

  • 允许多个结点没有双亲结点,允许一个结点有多个双亲结点
  • 允许两个结点之间有多种联系,要为每个联系命名并指出与该联系有关的双亲记录和子女记录
表示多对多的方法

将多对多联系分解成一对多联系间接表示多对多联系

网状模型的完整性约束条件不严格
  • 允许插入尚未确定双亲结点值的子女结点值
  • 允许只删除双亲结点值

但是实际的网状数据库系统提供了一定的完整性约束

(3)关系模型

关系模型最大的进步,就是摆脱了层次、网状中需要的冗杂指针系统。

关系模型的数据结构

在用户观点下,关系模型中数据的逻辑结构是一张二维表。

关系必须是规范化的,满足一定的规范条件!最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。下图就是不规范的,不符合关系模型要求

关系术语一般表格的术语
关系名表名
关系模式表头(表格的描述)
关系(一张)二维表
元组记录或行
属性字段、列
属性名列名
属性值列值
分量一条记录中的一个列值
非规范关系表中有表(大表中嵌有小表)
关系模型的操纵与完整性约束

关系模型的数据操作是集合操作(增删改查),操作对象和操作结果都是关系

存取路径对用户隐蔽,用户只要指出“找什么”,不必详细说明“怎么找”。这样就提高了数据的独立性,提高了用户生产率。但是设计DBMS的人员也就要对用户的查询请求进行优化,增加了开发数据库管理系统
的难度,层次和网状数据库这两类系统虽然有它们的缺点,但是执行效率高是他们的显著优点

关系的完整性约束条件:

  • 实体完整性、参照完整性】—》关系的两个不变性(在详细介绍关系模型时进行深入了解)
  • 用户定义的完整性

二、数据库系统的结构和组成


1、数据库系统的结构

(1)模式的概念

数据模型组成要素:数据结构、数据操纵、约束,所以数据模型包含模式,但是这里模式并不是单指静态特征,更像是静态特征+部分约束

数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象

(2)三级模式

①模式(这里指逻辑模式,中间模式)

它是数据库中全体数据的逻辑结构和特征的描述

DBMS提供模式描述语言(模式DDL)来严格地定义模式。

②外模式(子模式或用户模式)

数据库用户使用的局部数据的逻辑结构和特征的描述

外模式通常是模式的子集、一个模式可以有多个外模式 反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求

DBMS提供外模式定义语言(外模式DDL)来严格定义外模式。

③内模式(存储模式)

数据物理结构和存储方式的描述例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定

注意:不同的方法存储,数据在硬件上的存储方式是不一样的。内模式的
物理性主要体现在操作系统及文件级上,它还不深入到设备级上(如磁盘及磁盘操作),
但近年来有向设备级发展的趋势(如原始磁盘、磁盘分块技术等)

DBMS提供内模式描述语言(内模式DDL/存储模式DDL)来严格定义内模式。

推荐阅读:

数据库模式

数据库模式(三级模式+两级映射)

(3)两层映像

①外模式到模式的映像

​ 外模式到概念模式的映射给出了外模式与概念模式的对应关系,这种映射一般由DBMS实现(SQL实现)

②模式到内模式的映像

该映射给出了概念模式中数据的全局逻辑结构到数据的物理存储结构间的对应关系,此种映射一般由DBMS实现(内部算法实现)。

③理解

例如,我们的外模式下想找数据A,通过某一映射F(x),能在模式中找到B,而数据B通过映射F(y),能够找到在物理上存储的数据C。当然F(x)F(y)都是打比方

(4)三级模式两层映像和数据独立性的关系

数据的独立性是由DBMS的二级映像功能来保证的。数据的独立性包括数据的物理独立性和数据的逻辑独立性。

①数据的物理独立性

数据的物理独立性是指当数据库的内模式发生改变时,数据的的逻辑结构不变。由于应用程序处理的只是数据的逻辑结构,这样物理独立性可以保证,当数据的物理结构改变了,应用程序不用改变。但是,为了保证应用程序能够正确执行,需要修改概念模式/内模式之间的映像

数据C的存储方式变了,只需要修改F(y)

②数据的逻辑独立性

数据的逻辑独立性是指用户的应用程序与数据库结构是相互独立的。数据的逻辑结构发生变化后,用户程序也可以不修改。但是,为了保证应用程序能够正确执行,需要修改外模式/概念模式之间的映像

数据B的存储方式变了,只需要修改F(x)

2、数据库系统的组成

包含:

  • 数据库
  • 数据库管理系统(及其应用开发工具)
  • 应用程序
  • 数据库管理员(DataBase Administrator,DBA)
  • 计算机基本环境

不同的人员涉及不同的数据抽象级别,具有不同的数据视图

三、总结


-----------------------本文结束 感谢阅读-----------------------
坚持原创技术分享,您的支持将鼓励我继续创作!恰饭^.^~