高分数据库 第一章概论

本系列是上课同步记录笔记,最后有期末复习大礼包
使用教材:[王珊等. 数据库系统概论(第5版),高等教育出版社, 2014 ]
其他在线学习资源
1、 MOOC:http://www.icourse163.org/spoc/course/GYD069-1450298514
2、教学大纲:http://chinadb.ruc.edu.cn/
3、[ Database System Concepts (The 6th Edition). Silberschatz等.High Education Press,2014 ]

[目录]

    • 第一讲 概述
      • 1.1数据库的4个基本概念
      • 1.2 数据管理技术的产生和发展
      • 1.3数据库系统的特点
      • 1.4 课堂练习易错题总结
    • 第二讲 数据模型
      • 2.1 两类数据模型
      • 2.2 概念模型
      • 2.3 数据模型的组成要素
      • 2.4 常用的数据模型
      • 2.5 层次模型
      • 2.6 网状模型
      • 2.7 关系模型
    • 第三讲 数据库系统的结构
      • 3.1 模式与实例
      • 3.2 数据库系统的三级模式结构
      • 3.3 数据库的二级映像与数据独立性


这一章的概念最多 wdm

第一讲 概述


重点:

掌握数据库的4个基本概念
1.1.2 了解数据管理技术的产生和发展概况
1.1.3 了解数据库系统的特点

1.1数据库的4个基本概念


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

  • 定义:描述事务的符号
  • 计算机可以处理的数据:数值型数据,如整数、素数、浮点数等
  • 数据的语义:即为数据的含义,数据与语义是不可分的
  • 数据有结构的:记录是计算机存储数据的一种格式或一种方法 ,

2、数据库 DB(DB)

  • 定义:数据库是长期存储在计算机内,有组织的可共享大量数据的集合
  • 数据库中的数据按一定的数据模型组织、描述和储存,具有较小冗余度,、较小的数据独立性和易扩展性,可为各种用户共享
  • 特点:永久储存、有组织、可共享
    ①数据按一定的数据模型组织、描述和储存
    ②可为各种用户共享、冗余度较小、易扩展
    ③数据独立性较高

3、数据库管理系统(DBMS)

  • 定义:
    ①位于用户应用与操作系统之间的一层数据管理软件
    ②是基础软件,是一个大型复杂的软件系统
  • 用途:科学地组织和存储数据、高效地获取和维护数据
  • 主要功能:
    数据定义功能:
    提供数据定义语言(DDL)、定义数据库中的数据对象
    数据组织和管理:
    分类组织、存储和管理各种数据;
    确定数据在存储级别上的结构和存取方式;
    实现数据之间的关系,提供多种存取方法提高存取效率
    数据操纵:
    提供数据操纵语言(DML);
    实现对数据库的基本操作 :增删改查
    数据库的事务管理和运行管理 :
    数据的安全性、完整性、多用户对数据的并发使用 ,发生故障后的系统恢复数据库。
    由数据库管理系统统一管理和控制,保证事务正确运行
    数据库的建立和维护功能 :
    提供实用程序/工具,完成数据库数据批量装载,数据库转储,介质故障恢复,数据库的重组织和性能监视等
    其他功能 :
    数据库管理系统与网络中其它软件系统的通信 ;
    数据库管理系统系统之间的数据转换 ;
    异构数据库之间的互访和互操作

4、数据库系统

  • 定义:在计算机系统中引入数据库后的系统构成。
    (在不引起混淆的情况下常常把数据库系统简称为数据库)
  • 数据库系统的构成 :数据库 、数据库管理系统(及其应用开发工具) 、应用程序 、数据库管理员

1.2 数据管理技术的产生和发展


1、数据管理

  • 对数据进行分类、组织、编码、存储、检索和维护
  • 数据处理和数据分析的中心问题

2、数据管理技术的发展过程
高分数据库 第一章概论_第1张图片

1.3数据库系统的特点


1、数据结构化

  • 数据的整体结构化是数据库的主要特征之一
  • 数据用数据模型描述,无需应用程序定义

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

  • 数据面向整个系统,可以被多个用户、多个应用共享使用
  • 数据共享的好处
    ① 减少数据冗余,节约存储空间
    ② 避免数据之间的不相容性与不一致性
    ③ 使系统易于扩充

3、数据独立性高

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

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

  • 数据库管理系统提供的数据控制功能 :数据的安全性保护 、数据的完整性检查、并发控制、数据库恢复

1.4 课堂练习易错题总结


1、(数据库)是储存在计算机内有结构的数据的集合
2、 数据库系统和文件系统的本质区别是(数据整体结构化)
3、 要保证数据库的数据的独立性要修改的是(三级模式的两级映像)
4、 在数据库领域的各种逻辑数据模型中,一个节点可以有多个双亲,节点之间可以有多种联系,该数据模型指的是(网状模型)

第二讲 数据模型

重点:

概念模型的基本概念
数据模型的3个组成要素
关系数据模型的相关概念


1、定义: 数据模型是对现实世界数据特征的抽象。 (即:数据模型就是现实世界的模拟)
数据模型是一种能够表达数据结构、数据操作、完整性约束的模型
2、条件

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

3、数据模型是数据库系统的核心和基础

2.1 两类数据模型


1、分类

  • 概念模型(信息模型)
    它是按用户的观点来对数据和信息建模,用于数据库设计

  • 逻辑模型和物理模型
    ① 逻辑模型:逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对 象关系数据模型、半结构化数据模型等。
    按计算机系统的观点对数据建模,用于DBMS实现
    ②物理模型: 物理模型是对数据最底层的抽象
    描述数据在系统内(磁盘上)的表示方式和存取方法

数据库设计人员完成
数据库人员借助数据库设计工具协助完成
由DBMS完成
现实世界
概念模型
逻辑模型
物理模型

2.2 概念模型


1、定义及用途

  • 概念模型用于信息世界的建模
  • 是现实世界到机器世界的一个中间层次
  • 是数据库设计的有力工具
  • 数据库设计人员和用户之间进行交流的语言

2、基本要求

  • 较强的语义表达能力
  • 简单、清晰、易于用户理解

3、基本概念(为实体联系法铺垫)

  • 实体:客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。
  • 属性:实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
  • 码:唯一标识实体的属性集称为码。
  • 实体型:用实体名及其属性名集合来抽象和刻画同类实体称为实体型
  • 实体集:同一类型实体的集合称为实体集
  • 联系:
    实体内部的联系: 是指组成实体的各属性之间的联系
    实体之间的联系: 通常是指不同实体集之间的联系
    实体之间的联系有一对一(1:1)、一对多(1:n)和多对多(m:n)等多种类型

4、实体-联系法概念模型的一种表示方法

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

2.3 数据模型的组成要素


  1. == 数据模型是严格定义的一组概念的集合==,精确地描述了系统的静态特性、动态特性和完整性约束条件
  2. 数据模型的组成要素
  • 数据结构——描述系统的静态特性
    数据结构的类型来命名数据模型
    描述数据库的组成对象——对象的类型、内容、性质
    描述对象之间的联系 -——记录
  • 数据操作——描述系统的动态特性
    ① 数据操作:对数据库中各种对象的实例允许执行的操作的集合 包括操作及有关的操作规则
    ② 数据操作的类型 : 查询 、更新(包括插入、删除、修改)
    ③ 数据操作语言 :定义数据操作的确切含义、符号、优先级别 ,实现数据操作的语言 ——查询语言、更新语言
  • 完整性约束
    ① 完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则
    ② 用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容
    数据模型对完整性约束条件的定义
    反映和规定必须遵守的基本的通用的完整性约束条件。 提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。

2.4 常用的数据模型


  • 格式化模型:
    层次模型、网状模型
    tips:格式化模型中数据结构的单位:基本层次联系
  • 关系模型
  • 对象模型
    面向对象数据模型、对象关系数据模型
  • 半结构化数据模型 —如XML
  • 非结构化数据模型、图模型 ………

2.5 层次模型


1、 层次模型用树形结构来表示各类实体以及实体间的联系
2、表示方法
实体型:
用记录类型描述
每个结点表示一个记录类型(实体)
属性:
用字段描述
每个记录类型可包含若干个字段
联系:
用结点之间的连线表示记录类型(实体)之间的一对多的父子联系
3、 层次模型的定义条件

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

4、特点:

  • 结点的双亲是唯一的
  • 只能直接处理一对多的实体联系
  • 任何记录值只有按其路径查看
  • 没有一个子女记录值能够脱离双亲记录值而独立存在

5、层次模型的数据操纵 :增删改查
6、层次模型的完整性约束条件:

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

7、层次模型的优点

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

8、缺点

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

2.6 网状模型


1、 网状数据库系统采用网状结构来表示各类实体以及实体间的联系
2、表示方法(同上)
3、网状模型的条件

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

4、特点

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

5、==多对多联系在网状模型中的表示:==将多对多联系分解成一对多联系
6、数据操纵:
导航式的查询语言和增删改操作语言
7、完整性约束条件
完整性约束条件不严格

  • 允许插入尚未确定双亲结点值的子女结点值
  • 允许只删除双亲结点值

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

  • 支持码:唯一标识记录的数据项的集合,取唯一的值
  • 保证一个联系中双亲记录与子女记录之间是一对多联系
  • 可以定义双亲记录和子女记录之间某些约束条件。

8、网状模型的优点

  • 能够更为直接地描述现实世界,如一个结点可以有多个双亲
  • 具有良好的性能,存取效率较高

9、缺点

  • 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;
  • DDL、DML语言复杂,用户不容易使用;
  • 记录之间联系是通过存取路径实现的,应用程序必须选择存取路径,加重了程序员的负担。

2.7 关系模型


1、数据的逻辑结构是一张二维表
2、 关系模型的数据结构
(1)基本概念

  • 关系(Relation)——一个关系对应通常说的一张表
  • 元组(Tuple)—— 表中的一行即为一个元组
  • 属性(Attribute)——表中的一列即为一个属性,给每一个属性起一个名称即属 性名
  • 主码(Key)——也称码键。
    表中的某个属性组,它可以唯一确定一个元组
  • 域(Domain)——是一组具有相同数据类型的值的集合。
    属性的取值范围来自某个域。
    例:学生年龄属性的域(15~45岁), 性别的域是(男,女),
    系名的域是一个学校所有系名的集合
  • 分量——元组中的一个属性值。
  • 关系模式——对关系的描述
    关系名(属性1,属性2,…,属性n)
    学生(学号,姓名,年龄,性别,系名,年级)
    (2)补充说明
  • 关系必须是规范化的
    最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允 许表中还有表

3、关系模型的操纵
增删改查
attention:

  • 数据操作是集合操作,操作对象和操作结果都是关系
  • 存取路径对用户隐蔽,用户只要指出“找什么”,不必详 细说明“怎么找”。

作用:提高了数据的独立性,提高了用户生产率。

4、完整性约束
实体完整性、参照完整性、用户定义完整性
(实体完整性和参照完整性是关系的两个不变性)
5、优点

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

6、缺点

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

第三讲 数据库系统的结构


3.1 模式与实例


三级模式结构是数据库系统的内部结构
1、模式 (Schema)

  • 对数据库逻辑结构和特征的描述
  • 对型的描述,不涉及具体值
  • 模式相对稳定

2、实例(Instance)

  • 数据库某一时刻的状态——模式的一个具体值
  • 统一模式可以有多个实例
  • 实例随着数据库更新而变动

3.2 数据库系统的三级模式结构


高分数据库 第一章概论_第2张图片
1、模式(也称逻辑模式)

  • 模式:数据库中全体数据的逻辑结构和特征的描述
  • 所有用户的公共数据视图
    一般,某个应用的数据库有一个模式
    模式是数据库系统模式结构的中心,与数据的物理存储细节和硬件环境无关 ,与具体的应用程序、开发工具及高级程序设计语言无关
  • 定义模式
    ① DDL定义数据的逻辑结构,以某种数据模型为基础
    ② 数据记录由哪些数据项构成,数据项的名字、类型、取值范围等
    ③ 定义数据之间的联系
    ④ 定义与数据有关的安全性、完整性要求

2、外模式

  1. 外模式(也称子模式或用户模式) :数据库用户使用的局部数据的逻辑结构和特征的描述 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
  2. 外模式与模式的关系 :
  • 外模式通常是模式的子集、一个模式可以有多个外模式反映不同的用户的应用需求、看待数据的方式、对数据保密的要求
  • 对模式中某一数据,在不同的外模式中 结构、类型、长度、保密级别等都可以不同
  1. 外模式和应用的关系
    一个外模式可以为多个应用系统所使用,一个应用程序只能使用一个外模式

4. 外模式的用途

  • 每个用户只能看见和访问所对应的外模式中的数据,简化用户视图
  • 保证数据库安全性的一个有力措施

3、内模式

  • 内模式(也称存储模式)
  • 是数据物理结构和存储方式的描述
  • 是数据在数据库内部的表示方式
    ① 记录的存储方式 (例如,顺序存储,堆存储,Cluste按hash方法存储等)
    ② 索引的组织方式(B+树,Bitmap,Hash)
    ③ 数据是否压缩存储
    ④ 数据是否加密
    ⑥数据存储记录结构的规定—如定长/变长,记录是否可以跨页存放等
  • 一个数据库只有一个内模式

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


1、三级模式是对数据的三个抽象级别
2、数据库管理系统内部提供二级映像

  1. 外模式/模式映像
  • 每一个外模式有一个外模式/模式映像
    定义外模式与模式之间的对应关系
    映像定义通常包含在各外模式的描述中
  • 保证数据独立性
    ① 当模式改变时,数据库管理员对外模式/模式,映像作相应改变,使外模式保持不变
    ② 应用程序是依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
  1. 模式/内模式映像
    定义了数据全局逻辑结构与存储结构之间的对应关系。如说明某个逻辑记录对应何种存储结构
  • 数据库中模式/内模式映象是唯一的。 该映象定义通常包含在模式描述中。
  • 保证数据的物理独立性
    ① 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员 修改模式/内模式映象,使模式保持不变。
    ② 模式不变,则应用程序不变。保证了数据与程序的物理独立性,简称数据的 物理独立性。
  1. 三个抽象层次的联系和转换

3、好处:
数据库的二级映像功能保障了数据独立性(物理独立性和逻辑独立性)带来的好处是:

  • 保证了应用程序的稳定性
  • 从程序为中心——发展为 以数据为中心
  • 数据的存取由数据库管理系统管理

你可能感兴趣的:(数据库)