数据库系统概论(第5版)

个人读书笔记


用书:王珊、萨师煊编著《数据库系统概论》(第5版)

第1章 绪论

操作系统是管理硬件的,数据库是管理数据的。


 

本章重点:

1.概念模型的基本概念,主要建模方法E-R图;

2.关系数据模型相关概念、数据库系统三级模式和两层映射的体系结构;

3.逻辑独立性和物理独立性等。

本章难点:

基本概念、数据模型、数据库系统体系结构

 


1.1 数据库系统概述

1  数据库的4个基本概念

  • 数据(Data):描述事物的符号记录。 数据的含义称为数据的语义,数据与其语义是不可分的。

——数据有文字、图形、图像、音频、视频等多种表现形式,它们都可以经过数字化后存入计算机,经过解释才有意义。

  • 数据库(DataBase):是长期存储在计算机内、有组织的可共享的 大量数据的集合。

——长期存储:需要管理,保证数据的完整和安全,不能遗失。数据得以长时间保存。

——有组织:用数据模型将数据组织起来,而不是杂乱无章的。有利于存取数据(存入+取出)。

——可共享:不是一个人所独有的,各个相关的人都可以使用这个数据库。

  • 数据库管理系统(DataBase Management System,DBMS):位于用户和操作系统之间的一层数据管理软件。(考虑如何高效地获取和维护数据)

功能

——定义(描述数据对象的含义),如 ‘Student’ 在一个表中的含义。

——操作(增删改  查)

——管理和运行,保证数据安全性(权限)和完整性(正确性、有效性),多用户并发使用以及故障后的系统恢复。

——建立和维护,数据库的建立,数据的输入、转换,数据库的转储、恢复、重组。

  • 数据库系统(DataBase System,DBS):由数据库、数据库管理系统(及其应用开发工具)、应用程序和 数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的系统。

——以数据库而不是文件为核心

2  数据独立性

数据独立性包括(高度的)物理独立性 和 (一定的)逻辑独立性

  • 物理独立性:用户的应用程序与数据库中数据的物理存储是相互独立的。程序无需知道数据是怎样存储的。
  • 逻辑独立性:数据逻辑结构改变时,用户程序也可以不变。比如增加一个字段,应用程序可以相对不变,但有些情况下不得不改。    【下文详细说】

1.2 数据模型

数据模型,是对现实世界数据特征的抽象(描述、组织、操作数据)。数据模型是数据库系统的核心和基础。

1  两类数据模型

数据模型应满足的要求:

① 能比较真实地模拟现实世界

② 容易为人所理解

③ 便于在计算机上实现

在建立数据模型时分两部走。一是将现实世界抽象为概念模型(将现实世界抽象为信息世界);二是将概念模型转换为某一DBMS支持的数据模型(然后将信息世界转换为机器世界)。

数据模型分为两大类:第一类是概念模型(信息模型),第二类是逻辑模型(层次模型、网状模型、关系模型)和物理模型

2  概念模型

信息世界主要涉及的概念

  • 实体:客观存在并可相互区别的事物。
  • 属性:实体所具有的某一特性。
  • 码:唯一标识实体的属性集。(学号是学生实体的码)
  • 域:属性的取值范围。(性别:{男,女})
  • 实体型:用实体名及其属性名集合来抽象和刻画同类实体。如,学生(学号,姓名,性别,出生年月,所在院系,入学时间)
  • 实体集:同一类型实体集合。如,全体学生或全体教师
  • 联系:事物内部以及事物之间是有联系的,实体内部属性之间的联系,各实体之间的联系。联系有一对一、一对多、多对多等多种类型。

 

概念模型的一种表示方法:实体-联系方法(E-R模型),使用E-R图来描述现实世界的概念模型。

矩形:实体

椭圆矩形:属性

菱形:联系

3  数据模型的组成要素

1️⃣数据结构

描述数据库的组成对象以及对象之间的联系,是对系统静态特性的描述。(对象+联系)

2️⃣数据操作

是指对数据库中各种对象)的实例)允许执行的操作的集合,包括操作及有关的操作规则。型是表示公共的属性,如 xxx院的学生,值是具体的某些人A、B、C。

3️⃣数据完整性约束条件

一组完整性规则。保证数据的正确、有效和相容。如年龄不会为负或零,而且有一定的范围。(在关系模型中,任何关系必须满足实体完整性参照完整性两个条件。【后文讲解】)

4  常用的数据模型

  • 层次模型(hierarchical model)
  • 网状模型(network model)
  • 关系模型(relational model)
  • 面向对象数据模型
  • 对象关系数据模型
  • 半结构化数据模型

层次模型、网状模型和关系模型是三种重要的数据模型。这三种模型是按其数据结构而命名的。前两种采用格式化的结构,格式化模型可以描述复杂的数据结构,用存取路径实现数据间的联系。关系模型为非格式化的结构,用单一的二维表的结构表示实体及实体之间的联系。在格式化模型中数据结构的单位是基本层次联系,即指两个记录以及它们之间的一对多(包括一对一)的联系。

5  层次模型(格式化模型)

1️⃣数据结构

层次模型用树形结构来表示各类实体以及实体间的联系。

(1)有且仅有一个结点没有双亲结点,称为根节点;

(2)根以外的其他结点有且只有一个双亲结点。

 

2️⃣数据操作

以上为结构的相关知识,层次结构的数据操纵主要有查询、插入、删除和更新,对此也有相应的完整性约束。(完整性并不单指完整,还有合理有效)

  1. 插入操作时,如果没有相应的双亲结点值就不能插入它的子女结点值。(如上图1.10 一个新职工,有职工号、姓名、研究方向,但是并未分配教研室,这时不能将其插入数据库中)
  2. 删除操作时,如果删除双亲结点,则其下的子女结点值也将被同时删除。
  3. 更新操作时,应更新所有相关的记录(新调入教员时,职员、教研室、系都要更新,学生不必),以保证数据的一致性。

3️⃣数据存储

数据及其联系结合一起存储,用相邻表达或指针表达。

1.邻接法:前序遍历组成一排数组

2.链接法:孩子-兄弟指针、层次序列链接

4️⃣优缺点

特点:

  1. 层次模型像一棵倒立的树,结点的双亲是唯一的,每个结点表示一个记录类型(数据结构比较简单清晰)
  2. 查询效率高;
  3. 良好的完整性支持。

缺点:

  1. 层次模型只能直接处理一对多的实体联系
  2. 任何记录值只有按其路径查看时,才能显出它的全部意义,查询子女结点必须通过双亲结点
  3. 对于多对多联系显得很笨拙

5️⃣典型的层次数据库系统:IMS数据库管理系统。

6  网状模型(非格式化模型)

网状数据模型的典型代表是DBTG系统,亦称CODASYL系统。

1️⃣数据结构

(1)允许一个以上的结点无双亲;

(2)一个结点可以有多于一个的双亲。

2️⃣数据操作

完整性约束条件没有层次模型那么严格:允许插入尚未确定双亲结点值的子女结点值允许只删除双亲结点值

3️⃣数据存储

单向链接;双向链接;环状链接;向首链接。

在多对多的联系中,插入连接记录(选课记录)以后可以转换成两个一对多的联系。

4️⃣优缺点

特点 和层状模型一样:

1.只能直接处理一对多的实体联系;

2.任何记录值只有按其路径查看时,才能显出它的全部意义。

优点:

1.能够更为直接地描述现实世界,一个结点可以有多个双亲,结点之间可以有多种联系;

2.较好的性能,存取效率较高。

缺点:

1.结构复杂;

2.嵌入某一种高级语言;

3.应用程序在访问数据时必须选择适当的存取路径,用户必须了解系统结构的细节。

总之对用户不友好。

7  关系模型

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

1️⃣数据结构

基本概念:

  • 关系:一个关系对应一张表。
  • 元组:表中一行。
  • 属性:表中一列。
  • 码:码键,表中某个属性组,它可以唯一确定一个元组。
  • 域:属性取值范围,如人的年龄一般在1~120之间。
  • 分量:元组中的一个属性值,分量必须是一个不可分的数据项。
  • 关系模式:对关系的描述,一般表示为“关系名(属性1,属性2,……,属性n)”。

2️⃣数据操纵

查询、插入、删除和更新,这些操作必须满足关系的完整性约束条件,包括三大类:实体完整性参照完整性用户定义的完整性

数据操作是集合操作,操作对象和操作结果都是关系存取路径对用户隐蔽,用户只需指出“干什么”或“找什么”,不必详细说明“怎么干”或“怎么找”。(提高了数据独立性,提高关系生产率。)

3️⃣数据存储

实体和实体间的联系都是用表来表示。

表以文件形式存储。

4️⃣优缺点

优点:

1.概念模型建立在严格的数学概念的基础上。

2.概念单一,一切用关系来表示。

3.存储路径对用户透明,更高数据独立性、更好安全保密性。

缺点:

由于路径隐蔽,查询效率往往不如格式化数据模型;开放难度高。

1.3 数据库系统的结构

1  三级模式结构

模式(schema):也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。(一个数据库只有一个模式。)

外模式(external schema):也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。(外模式1只能看见应用A和应用B,外模式1、2、3是可以有交叉应用存在的。)

内模式(internal schema):也称存储模式,一个数据库只有一个内模式。它是数据物理结构存储方式的描述

模式需要保证满足所有用户的需求,并将这些需求有机地结合成一个逻辑整体。在定义一个模式的时候,需要定义①逻辑结构(数据项的名字、类型、取值范围等);②数据之间的联系。

外模式是保证数据库安全性的一个有力措施,用户只能看见与对应应用相关的外模式,即一个应用程序只能使用一个外模式。

内模式是数据在数据库内部的组织方式,规定了如何存储,用什么方式存储数据,数据是否加密、是否压缩以及一个记录能否跨页存储等等与记录结构相关的信息。

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

1. 外模式 / 模式 映像

模式改变时(新关系,新属性,数据类型更新等),由数据库管理员DBA对映像作相应的改变,可以使外模式保持不变。而应用程序就是根据外模式来编写的,因此应用程序保持不变,也就保证了数据与程序的逻辑独立性

2. 模式 / 内模式 映像

两者唯一,映像同样唯一。当数据库的存储结构发生改变时(存储结构从堆存储改为属性值升序或降序存储),由DBA对应映像作相应的改变,可以使模式保持不变,从而应用程序也保持不变,即保证了数据与程序的物理独立性

3. 独立性

数据与程序之间的独立性使得数据的定义和描述可以从应用程序分离,简化应用程序的编制,大大减少了应用程序的维护和修改。

 

 

 

 

 

 

 

 

 

  • 5
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值