likes
comments
collection
share

数据库系统概述

作者站长头像
站长
· 阅读数 17

绪论

数据库系统概述

数据(Data)

  • 数据(Data)是数据库中存储的基本对象

数据库(Database)

数据库的定义

数据库(Database,简称DB)是长期储存计算机内有组织可共享的大量数据集合

数据库的基本特征

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

数据库管理系统(DBMS)

什么是DBMS?

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

DBMS的用途

科学地组织和存储数据、高效地获取和维护数据

DBMS的主要功能

  • 数据定义功能 提供数据定义语言(DDL) 定义数据库中的数据对象

  • 数据组织、存储和管理 分类组织、存储和管理各种数据 确定组织数据的文件结构和存取方式 实现数据之间的联系 提供多种存取方法提高存取效率

  • 数据操纵功能 提供数据操纵语言(DML) 实现对数据库的基本操作 (查询、插入、删除和修改)

  • 数据库的事务管理和运行管理 数据库在建立、运行和维护时由DBMS统一管理和控制 保证数据的安全性、完整性、多用户对数据的并发使用 发生故障后的系统恢复

  • 数据库的建立和维护功能(实用程序) 数据库初始数据装载转换 数据库转储 介质故障恢复 数据库的重组织 性能监视分析等

  • 其它功能 DBMS与网络中其它软件系统的通信 两个DBMS系统的数据转换 异构数据库之间的互访和互操作

数据库系统(DBS)

什么是数据库系统(Database System,简称DBS)

在计算机系统中引入数据库后的系统构成

数据库系统的构成

  • 数据库 Database
  • 数据库管理系统(及其开发工具)Database Management System
  • 应用系统
  • 数据库管理员 Database Administrator

数据库系统概述

数据库系统的特点

  • 数据结构化
  • 数据的共享性高,冗余度低,易扩充
  • 数据独立性高
  • 数据由DBMS统一管理控制

数据模型

数据模型的概念

  • 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
  • 通俗地讲数据模型就是现实世界的模拟

数据模型应满足三方面要求:

  • 能比较真实地模拟现实世界
  • 容易为人所理解
  • 便于在计算机上实现

两大类数据模型

**概念模型**也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。

逻辑模型物理模型

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

物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。

概念模型

信息世界中的基本概念

  • (1) 实体(Entity) 客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。
  • (2) 属性(Attribute) 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。
  • (3) 码(Key) 唯一标识实体的属性集称为码。
  • (4) 域(Domain) 属性的取值范围称为该属性的域。
  • (5) 实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画同类实体称为实体型
  • (6) 实体集(Entity Set) 同一类型实体的集合称为实体集
  • (7) 联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。 实体内部的联系通常是指组成实体的各属性之间的联系 实体之间的联系通常是指不同实体集之间的联系

概念模型的E-R表示方法

实体型

用矩形表示,矩形框内写明实体名。

数据库系统概述

属性

用椭圆形表示,并用无向边将其与相应的实体连接起来

数据库系统概述

联系

用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)

数据库系统概述

联系的表示方法示例

数据库系统概述

联系的属性

联系本身也是一种实体型也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来

数据库系统概述

一个实例

用E-R图表示某个工厂物资管理的概念模型

  • 实体 仓库: 仓库号、面积、电话号码 零件 :零件号、名称、规格、单价、描述 供应商:供应商号、姓名、地址、电话号码、帐号 项目:项目号、预算、开工日期 职工:职工号、姓名、年龄、职称

实体之间的联系如下:

(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。 (2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系 (3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。 (4)供应商、项目和零件三者之间具有多对多的联系

数据库系统概述

层次模型

数据结构
  • 有且只有一个结点没有双亲结点,这个结点称为根结点
  • 根以外的其它结点有且只有一个双亲结点
特点
  • 结点的双亲是唯一
  • 只能直接处理一对多的实体联系
  • 每个记录类型可以定义一个排序字段,也称为·码字段
  • 任何记录值只有按其路径查看时,才能显出它的全部意义
  • 没有一个子女记录值能够脱离双亲记录值而独立存在

数据库系统概述

优缺点
  • 优点: 层次模型的数据结构比较简单清晰 查询效率高,性能优于关系模型,不低于网状模型 层次数据模型提供了良好的完整性支持
  • 缺点: 多对多联系表示不自然 对插入删除操作的限制多,应用程序编写比较复杂 查询子女结点必须通过双亲结点 由于结构严密,层次命令趋于程序化

网状模型

数据结构
  • 允许一个以上的结点无双亲;
  • 一个结点可以有多于一个的双亲。

数据库系统概述

优缺点
  • 优点 能够更为直接地描述现实世界,如一个结点可以有多个双亲; 具有良好的性能,存取效率较高;
  • 缺点 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握; DDL、DML语言复杂,用户不容易使用;

关系模型

数据结构

在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。

  • 关系(Relation) 一个关系对应通常说的一张表

  • 元组(Tuple) 表中的一行即为一个元组

  • 属性(Attribute) 表中的一列即为一个属性,给每一个属性起一个名称即属性名

  • 主码(Key) 表中的某个属性组,它可以唯一确定一个元组。

  • 域(Domain) 属性的取值范围。

  • 分量 元组中的一个属性值。

  • 关系模式 对关系的描述 关系名(属性1,属性2,…,属性n) 学生(学号,姓名,年龄,性别,系,年级)

数据库系统概述

规范化:

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

数据库系统概述

关系的完整性约束条件

  • 实体完整性
  • 参照完整性
  • 用户定义的完整性

优缺点

  • 优点
    • 建立在严格的数学概念的基础上;
    • 概念单一: 实体和各类联系都用关系来表示; 对数据的检索结果也是关系;
    • 关系模型的存取路径对用户透明; 具有更高的数据独立性,更好的安全保密性 简化了程序员的工作和数据库开发建立的工作;
  • 缺点
    • 存取路径对用户透明导致查询效率往往不如非关系数据模型;
    • 为提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度;

数据库系统结构和组成

数据库系统模式的概念

模式是数据库结构的描述、关系模式是表的结构的描述

数据库的三级模式结构

数据库系统概述

模式

  • 数据库中全体数据的逻辑结构和特征的描述
  • 所有用户的公共数据视图,综合了所有用户的需求

一个数据库只有一个模式,可以把模式看成唯一的数据库,实例就是数据库里面的多个表。

外模式(也称子模式或用户模式)

  • 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
  • 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,可以看成把数据库的部分数据,运用在不同的应用程序上,在UI界面上显示

一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求;

内模式(也称存储模式)

  • 是数据物理结构和存储方式的描述
  • 是数据在数据库内部的表示方式:
    • 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)
    • 索引的组织方式
    • 数据是否压缩存储
    • 数据是否加密
    • 数据存储记录结构的规定

一个数据库只有一个内模式

数据库的二级映像功能与数据独立性

  • 三级模式是对数据的三个抽象级别
  • 二级映象在DBMS内部实现这三个抽象层次联系转换

外模式/模式映象

  • 每一个外模式,数据库系统都有一个外模式/模式映象
  • 保证数据的逻辑独立性
    • 模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变
    • 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性

模式/内模式映象

  • 模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
  • 数据库中模式/内模式映象唯一
  • 保证数据的物理独立性
    • 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变.
    • 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性