用书:王珊、萨师煊编著《数据库系统概论》(第5版)
操作系统是管理硬件的,数据库是管理数据的。
本章重点:
1.概念模型的基本概念,主要建模方法E-R图;
2.关系数据模型相关概念、数据库系统三级模式和两层映射的体系结构;
3.逻辑独立性和物理独立性等。
本章难点:
基本概念、数据模型、数据库系统体系结构
数据(Data):描述事物的符号记录。 数据的含义称为数据的语义,数据与其语义是不可分的。
——数据有文字、图形、图像、音频、视频等多种表现形式,它们都可以经过数字化后存入计算机,经过解释才有意义。
数据库(DataBase):是长期存储在计算机内、有组织的、可共享的 大量数据的集合。
——长期存储:需要管理,保证数据的完整和安全,不能遗失。数据得以长时间保存。
——有组织:用数据模型将数据组织起来,而不是杂乱无章的。有利于存取数据(存入+取出)。
——可共享:不是一个人所独有的,各个相关的人都可以使用这个数据库。
数据库管理系统(DataBase Management System,DBMS):位于用户和操作系统之间的一层数据管理软件。(考虑如何高效地获取和维护数据)
功能
——定义(描述数据对象的含义),如 ‘Student’ 在一个表中的含义。
——操作(增删改 查)
——管理和运行,保证数据安全性(权限)和完整性(正确性、有效性),多用户并发使用以及故障后的系统恢复。
——建立和维护,数据库的建立,数据的输入、转换,数据库的转储、恢复、重组。
——以数据库而不是文件为核心
数据独立性包括(高度的)物理独立性 和 (一定的)逻辑独立性
数据模型,是对现实世界数据特征的抽象(描述、组织、操作数据)。数据模型是数据库系统的核心和基础。
数据模型应满足的要求:
① 能比较真实地模拟现实世界
② 容易为人所理解
③ 便于在计算机上实现
在建立数据模型时分两部走。一是将现实世界抽象为概念模型(将现实世界抽象为信息世界);二是将概念模型转换为某一DBMS支持的数据模型(然后将信息世界转换为机器世界)。
数据模型分为两大类:第一类是概念模型(信息模型),第二类是逻辑模型(层次模型、网状模型、关系模型)和物理模型。
信息世界主要涉及的概念
概念模型的一种表示方法:实体-联系方法(E-R模型),使用E-R图来描述现实世界的概念模型。
矩形:实体
椭圆矩形:属性
菱形:联系
1️⃣数据结构
描述数据库的组成对象以及对象之间的联系,是对系统静态特性的描述。(对象+联系)
2️⃣数据操作
是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。型是表示公共的属性,如 xxx院的学生,值是具体的某些人A、B、C。
3️⃣数据完整性约束条件
一组完整性规则。保证数据的正确、有效和相容。如年龄不会为负或零,而且有一定的范围。(在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。【后文讲解】)
层次模型、网状模型和关系模型是三种重要的数据模型。这三种模型是按其数据结构而命名的。前两种采用格式化的结构,格式化模型可以描述复杂的数据结构,用存取路径实现数据间的联系。关系模型为非格式化的结构,用单一的二维表的结构表示实体及实体之间的联系。在格式化模型中数据结构的单位是基本层次联系,即指两个记录以及它们之间的一对多(包括一对一)的联系。
1️⃣数据结构
层次模型用树形结构来表示各类实体以及实体间的联系。
(1)有且仅有一个结点没有双亲结点,称为根节点;
(2)根以外的其他结点有且只有一个双亲结点。
2️⃣数据操作
以上为结构的相关知识,层次结构的数据操纵主要有查询、插入、删除和更新,对此也有相应的完整性约束。(完整性并不单指完整,还有合理有效)
3️⃣数据存储
数据及其联系结合一起存储,用相邻表达或指针表达。
1.邻接法:前序遍历组成一排数组
2.链接法:孩子-兄弟指针、层次序列链接
4️⃣优缺点
特点:
缺点:
5️⃣典型的层次数据库系统:IMS数据库管理系统。
网状数据模型的典型代表是DBTG系统,亦称CODASYL系统。
1️⃣数据结构
(1)允许一个以上的结点无双亲;
(2)一个结点可以有多于一个的双亲。
2️⃣数据操作
完整性约束条件没有层次模型那么严格:允许插入尚未确定双亲结点值的子女结点值;允许只删除双亲结点值。
3️⃣数据存储
单向链接;双向链接;环状链接;向首链接。
在多对多的联系中,插入连接记录(选课记录)以后可以转换成两个一对多的联系。
4️⃣优缺点
特点 和层状模型一样:
1.只能直接处理一对多的实体联系;
2.任何记录值只有按其路径查看时,才能显出它的全部意义。
优点:
1.能够更为直接地描述现实世界,一个结点可以有多个双亲,结点之间可以有多种联系;
2.较好的性能,存取效率较高。
缺点:
1.结构复杂;
2.嵌入某一种高级语言;
3.应用程序在访问数据时必须选择适当的存取路径,用户必须了解系统结构的细节。
总之对用户不友好。
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
1️⃣数据结构
基本概念:
2️⃣数据操纵
查询、插入、删除和更新,这些操作必须满足关系的完整性约束条件,包括三大类:实体完整性、参照完整性和用户定义的完整性。
数据操作是集合操作,操作对象和操作结果都是关系;存取路径对用户隐蔽,用户只需指出“干什么”或“找什么”,不必详细说明“怎么干”或“怎么找”。(提高了数据独立性,提高关系生产率。)
3️⃣数据存储
实体和实体间的联系都是用表来表示。
表以文件形式存储。
4️⃣优缺点
优点:
1.概念模型建立在严格的数学概念的基础上。
2.概念单一,一切用关系来表示。
3.存储路径对用户透明,更高数据独立性、更好安全保密性。
缺点:
由于路径隐蔽,查询效率往往不如格式化数据模型;开放难度高。
模式(schema):也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。(一个数据库只有一个模式。)
外模式(external schema):也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。(外模式1只能看见应用A和应用B,外模式1、2、3是可以有交叉应用存在的。)
内模式(internal schema):也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述。
模式需要保证满足所有用户的需求,并将这些需求有机地结合成一个逻辑整体。在定义一个模式的时候,需要定义①逻辑结构(数据项的名字、类型、取值范围等);②数据之间的联系。
外模式是保证数据库安全性的一个有力措施,用户只能看见与对应应用相关的外模式,即一个应用程序只能使用一个外模式。
内模式是数据在数据库内部的组织方式,规定了如何存储,用什么方式存储数据,数据是否加密、是否压缩以及一个记录能否跨页存储等等与记录结构相关的信息。
1. 外模式 / 模式 映像
当模式改变时(新关系,新属性,数据类型更新等),由数据库管理员DBA对映像作相应的改变,可以使外模式保持不变。而应用程序就是根据外模式来编写的,因此应用程序保持不变,也就保证了数据与程序的逻辑独立性。
2. 模式 / 内模式 映像
两者唯一,映像同样唯一。当数据库的存储结构发生改变时(存储结构从堆存储改为属性值升序或降序存储),由DBA对应映像作相应的改变,可以使模式保持不变,从而应用程序也保持不变,即保证了数据与程序的物理独立性。
3. 独立性
数据与程序之间的独立性使得数据的定义和描述可以从应用程序分离,简化应用程序的编制,大大减少了应用程序的维护和修改。