第一章 绪论

第一章 绪论

参考资料:《数据库系统概论(第5版)》是王珊、萨师煊
本系列文章仅供个人复习使用,仅提取一些重点,适合有一定基础的人复习用,有些细节不做详细解释

 基础篇
第1章 绪论
第2章 关系数据库
第3章 关系数据库标准语言SQL
第4章 数据库安全性
第5章 数据库完整性

 设计与应用开发篇
第6章 关系数据理论
第7章 数据库设计
第8章 数据库编程

 系统篇
第9章 关系查询处理和查询优化
第10章 数据库恢复技术
第11章 并发控制
*第12章 数据库管理系统

第1至第11章是本科专业的基本教程
(书中有*号的部分除外)
第12至第16章是新技术篇(本科生、研究生选读)

第一章 绪论

1.1数据库系统概述

  • 4个基本概念

    • 数据(Data)

    • 数据库(Database):位于OS底层的数据库系统

      • 定义:数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
      • 数据库的基本特征
    • 数据库管理系统(DBMS):管理数据库的软件

      • 功能:提供数据定义语言(DDL)如表操作;提供数据操纵语言(DML)如数据项操作

      在这里插入图片描述

    • 数据库系统(DBS):数据库系统的构成:

      • 数据库

      • 数据库管理系统(及其应用开发工具)

      • 应用程序

      • 数据库管理员

        在这里插入图片描述

  • 数据库管理系统提供的数据控制功能

    1. 数据的安全性(Security)保护
      保护数据以防止不合法的使用造成的数据的泄密和破坏。
    2. 数据的完整性(Integrity)检查
      保证数据的正确性、有效性和相容性。
    3. 并发(Concurrency)控制
      对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
    4. 数据库恢复(Recovery)
      将数据库从错误状态恢复到某一已知的正确状态。

1.2数据模型

数据模型是对现实世界数据特征的抽象。通俗地讲数据模型就是现实世界的模拟

①两类模型
  • 概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
  • 逻辑模型和物理模型

在这里插入图片描述


②概念模型
  • 信息世界中的基本概念

    1. 实体(Entity)
      客观存在并可相互区别的事物称为实体。
      可以是具体的人、事、物或抽象的概念。

    2. 属性(Attribute) :
      实体所具有的某一特性称为属性。
      一个实体可以由若干个属性来刻画。

    3. 码(Key) :
      唯一标识实体的属性集称为码。

    4. 实体型(Entity Type) :
      用实体名及其属性名集合来抽象和刻画同类实体称为
      实体型

    5. 实体集(Entity Set) :
      同一类型实体的集合称为实体集

    6. 联系(Relationship) :
      现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
      实体内部的联系通常是指组成实体的各属性之间的联系
      实体之间的联系通常是指不同实体集之间的联系
      实体之间的联系有一对一、一对多和多对多等多种类型

  • 实体-联系方法(Entity-Relationship Approach)

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

③数据模型的组成要素
  • 数据结构 (对系统静态特性的描述)
  • 数据操作 (对系统动态特性的描述)
  • 数据的完整性约束条件
    • 一组完整性规则的集合
    • 完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则
    • 用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容
    • 反映和规定必须遵守的基本的通用的完整性约束条件。
    • 提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。

④常用的数据模型
  • 层次模型(Hierarchical Model)
  • 网状模型(Network Model)
  • 关系模型(Relational Model))
  • 面向对象数据模型(Object Oriented Data Model)
  • 对象关系数据模型(Object Relational Data Model)
  • 半结构化数据模型(Semistruture Data Model)

​ 前面三个常用


⑤层次模型

层次模型是数据库系统中最早出现的数据模型
层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统
层次模型用树形结构来表示各类实体以及实体间的联系

  • 满足下面两个条件的基本层次联系的集合为层次模型
    1. 有且只有一个结点没有双亲结点,这个结点称为根结点
    2. 根以外的其它结点有且只有一个双亲结点
  • 层次模型中的几个术语:
    • 根结点,双亲结点,兄弟结点,叶结点

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

  • 层次模型的数据操纵:查询、插入、删除、更新 ;(也就是增删查改)

  • 层次模型的完整性约束条件

    • 无相应的双亲结点值就不能插入子女结点值
    • 如果删除双亲结点值,则相应的子女结点值也被同时删除
    • 更新操作时,应更新所有相应记录,以保证数据的一致性
  • 优点

    • 层次模型的数据结构比较简单清晰
    • 查询效率高,性能优于关系模型,不低于网状模型
    • 层次数据模型提供了良好的完整性支持
  • 缺点

    • 结点之间的多对多联系表示不自然
    • 对插入和删除操作的限制多,应用程序的编写比较复杂
    • 查询子女结点必须通过双亲结点
    • 层次命令趋于程序化

⑥关系模型

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

在这里插入图片描述

  • 术语定义
关系(Relation)
	一个关系对应通常说的一张表
元组(Tuple)
	表中的一行即为一个元组
属性(Attribute)
	表中的一列即为一个属性,给每一个属性起一个名称即属性名
主码(Key)
	也称码键。表中的某个属性组,它可以唯一确定一个元组
域(Domain)
	是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
分量
	元组中的一个属性值。
关系模式
	对关系的描述:
		关系名(属性1,属性2,…,属性n)
		学生(学号,姓名,年龄,性别,系名,年级)

  • 术语说人话

在这里插入图片描述

  • 关系必须是规范化的,满足一定的规范条件

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

    在这里插入图片描述

  • 数据操作是集合操作,操作对象和操作结果都是关系:查询,插入,删除,更新

  • 关系的完整性约束条件

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

    • 建立在严格的数学概念的基础上
    • 概念单一
    • 实体和各类联系都用关系来表示
    • 对数据的检索结果也是关系
    • 关系模型的存取路径对用户透明
    • 具有更高的数据独立性,更好的安全保密性
    • 简化了程序员的工作和数据库开发建立的工作
  • 缺点

    • 存取路径对用户透明,查询效率往往不如格式化数据模型
    • 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度

⑦网状模型

网状数据库系统采用网状模型作为数据的组织方式
典型代表是DBTG系统:亦称CODASYL系统,20世纪70年代由DBTG提出的一个系统方案
实际系统:
Cullinet Software公司的 IDMS
Univac公司的 DMS1100
Honeywell公司的IDS/2
HP公司的IMAGE

  • 满足下面两个条件的基本层次联系的集合:
    • 允许一个以上的结点无双亲;
    • 一个结点可以有多于一个的双亲。
  • 表示方法:与层次数据模型相同
  • 网状模型与层次模型的区别
    • 网状模型允许多个结点没有双亲结点
    • 网状模型允许结点有多个双亲结点
    • 网状模型允许两个结点之间有多种联系(复合联系)
    • 网状模型可以更直接地描述现实世界
    • 层次模型实际上是网状模型的一个特例

在这里插入图片描述

在这里插入图片描述

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

1.3数据库系统的结构

数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构
数据库最终用户角度看,数据库系统的结构分为:单用户结构,主从式结构,分布式结构,客户-服务器,浏览器-应用服务器/数据库服务器多层结构等

①数据库系统模式的概念
  • “型” 和“值” 的概念

    • 型(Type):对某一类数据的结构和属性的说明

    • 值(Value):是型的一个具体赋值

    • 例如:

      学生记录:(学号,姓名,性别,系别,年龄,籍贯)
      一个记录值:(201315130,李明,男,计算机系,19,江苏南京市)

  • 模式(Schema):

    • 数据库逻辑结构和特征的描述
    • 是型的描述,不涉及具体值
    • 反映的是数据的结构及其联系
    • 模式是相对稳定的
  • 实例(Instance):

    • 模式的一个具体值
    • 反映数据库某一时刻的状态
    • 同一个模式可以有很多实例
    • 实例随数据库中的数据的更新而变动
②数据库系统的三级模式结构
  • 模式(Schema)(也称逻辑模式):

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

    • 所有用户的公共数据视图

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

    • 模式的地位:

      • 是数据库系统模式结构的中间层
      • 与数据的物理存储细节和硬件环境无关
      • 与具体的应用程序、开发工具及高级程序设计语言无关
    • 模式的定义

      • 数据的逻辑结构(数据项的名字、类型、取值范围等)
      • 数据之间的联系
      • 数据有关的安全性、完整性要求
  • 外模式(External Schema)(也称子模式或用户模式)

    • 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
    • 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
    • 外模式的地位:介于模式与应用之间
      • 模式与外模式的关系:一对多
        外模式通常是模式的子集
        一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求
        对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同
      • 外模式与应用的关系:一对多
        同一外模式也可以为某一用户的多个应用系统所使用
        但一个应用程序只能使用一个外模式
    • 外模式的用途:
      保证数据库安全性的一个有力措施
      每个用户只能看见和访问所对应的外模式中的数据
  • 内模式(Internal Schema) (也称存储模式)

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

在这里插入图片描述


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

三级模式二级映像:
三级模式–>内模式,模式、外模式
二级映像–>外模式/模式映像,模式/内模式映像

  • 保证数据的逻辑独立性
    • 当模式改变时,数据库管理员对外模式/模式映象作相应改变,使外模式保持不变
    • 应用程序是依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
  • 保证数据的物理独立性
    • 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。
    • 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。
  • 数据库的二级映像
    • 保证了数据库外模式的稳定性
    • 从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改

1.4数据库系统的组成

数据库
数据库管理系统(及其开发工具)
应用程序
数据库管理员

硬件平台及数据库
软件
人员

在这里插入图片描述

1.5小结

  • 数据库系统概述
    • 数据库的基本概念
    • 数据管理的发展过程
    • 数据库系统的特点
  • 数据模型
    • 数据模型的三要素
    • 三种主要数据库模型
  • 数据库系统内部的系统结构
    • 数据库系统三级模式结构
    • 数据库系统两层映像系统结构
      程序的物理独立性,简称数据的物理独立性。
  • 数据库的二级映像
    • 保证了数据库外模式的稳定性
    • 从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值