数据库系统概论 第 三 版 主 讲: 李明东
第一章 绪 论 统、 数据库系统 一、数据(Data) 1.1 数据库系统概述 1.1.1 数据、数据库、数据库管理系 第一章 绪 论 1.1 数据库系统概述 1.1.1 数据、数据库、数据库管理系 统、 数据库系统 一、数据(Data) 学生姓名 、性别、年龄、出生年月、籍贯、所在系别、入学时间 (张三,男,21,1981,四川,计科系,2000) 二、数据库(DataBase,简称DB)
硬件 三、数据库管理系统(DataBase Management System,简称DBMS) 四、数据库系统(DataBase System,简称DBS) 应用开 发工具 DBMS、编译系统 用户 用户 用户 应用系统 OS 应用系统 应用开发工具 硬件 数据库管理系统 数据库 管理员 操作系统 数据库 图1.1 数据库系统 图1.2 数据库在计算机系统中的地位
1.1.2 数据管理技术的产生和发展 一、人工管理阶段 特点: 1、数据不保存 2、应用程序管理数据 3、数据不共享 4、数据不具有独立性 1.1.2 数据管理技术的产生和发展 一、人工管理阶段 特点: 1、数据不保存 2、应用程序管理数据 3、数据不共享 4、数据不具有独立性 应用程序1 数据集1 应用程序2 数据集2 …… …… 应用程序n 数据集n 图1.3 人工管理阶段应用程序与数据之间的对应关系
二、文件系统阶段 特点: 1 、数据可以长期保存 2、由文件系统管理数据 3、数据共享性差、冗余度大 4、数据独立性差 应用程序1 文件 1 应用程序1 文件 2 存取 方法 …… …… 应用程序1 文件 n
一、数据结构化 三、数据库系统阶段 1.1.3 数据库系统的特点 学生人事记录 学号 姓名 性别 系别 年龄 政治 面貌 家庭 出生 籍贯 1.1.3 数据库系统的特点 一、数据结构化 学生人事记录 学号 姓名 性别 系别 年龄 政治 面貌 家庭 出生 籍贯 成员 奖惩 情况 学号 姓名 性别 系别 年龄 政治面貌 家庭出生 籍贯 家庭成员记录 奖惩情况记录 学号 与本人关系 详细情况 日期 奖惩条目 图1.6(a)主记录——详细记录格式式例
家庭成员记录 奖惩情况记录 张二 父子 …… 2001 一等奖学金 王一 母子 …… 2001 院级三好学生 张五 兄弟 …… 1301001 张三 男 计科系 21 共青团员 干部 四川成都 家庭成员记录 奖惩情况记录 张二 父子 …… 2001 一等奖学金 王一 母子 …… 2001 院级三好学生 张五 兄弟 …… 图1.6(b) 学生张三记录示例 二、数据的共享性高,冗余度低,易扩充 三、数据独立性高 四、数据由DBMS统一管理和控制
1.2 数 据 模 型 1.2.1 数据模型的组成要素 一、数据结构 数据结构是所研究的对象类型(Object type)的集合. 这些对象 是数据库的组成部分。 二、数据操作 数据操作是指对数据库中各种对象的实例允许执行执行的操 作的集合,包括操作及有关的操作规则。 三、数据的约束条件 数据的约束条件是完整性规则的集合。
二、两个实体之间的联系 1.2.2 概 念 模 型 一、信息世界中的基本概念 1、实体 2、属性 3、码 4、域 5、实体型 6、实体集 1.2.2 概 念 模 型 一、信息世界中的基本概念 1、实体 2、属性 3、码 4、域 5、实体型 6、实体集 7、联系 二、两个实体之间的联系 1、一对一联系(1:1) 2、一对多联系(1:n) 3、多对多联系(m:n) 我们可以用图形来表示这三类联系(见图1.10)
实体型 A 实体型 B 1 n (b)1:n的联系 联系名 实体型 A 实体型 B m n (c)m:n的联系 联系名 实体型 A 实体型 B 1 (a).1:1的联系 联系名 图 1.10 两个实体型之间的联系
三、概念模型的表示方法 该方法是P.P.S.Chen于1976年提出的.该方法是用E-R图来描述某一组织的概念模型。 1、E-R图例说明: (1)实体型。用矩形表示实体型,在框内写上实体名。 (2)属性。用椭圆形表示实体的属性,并用无向边把实体与其属性连接起来。 (3) 联系。用菱形表示实体间的联系,菱形框内写上联系名。 学生 学号 姓名 性别 出生年月 图1.13 学生实体及属性 …… 供应 供 应 商 项目 零件 供应量 图1.14 联系的属性
2、举例说明用E-R图来表示某个工厂的物资管理的概念模型 (1) 物资管理涉及的实体 A、仓库。属性有仓库号,仓库面积,电话号码。 B、零件。属性有零件号,名称,规格,单价,描述。 C、供应商。属性有供应商号,姓名,地址,电话号码,帐号。 D、项目。属性有项目号,预算,开工日期。 E、职工。属性有职工号,姓名,年龄,职称。 (2) 这些实体之间的联系 A、一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。因此,仓库和零件具有多对多的联系。 B、一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。 因此,仓库和职工之间是一对多的联系。 C、职工之间具有领导和被领导关系。因此,职工实体中具有一对多的联系。 D、供应商、项目和零件三者之间具有多对多的联系。
(3)该工厂的物资管理E-R图 仓库号 面积 电话 职工号 姓名 年龄 职称 仓库 职工 零件号 名称 规格 单价 描述 项目号 预算 开工日期 零件 项目 (a) 实体及其属性图
供应商号 姓名 地址 电话号 帐号 供应商 (a) 实体及其属性图 n 1 工作 职工 仓库 供应商 m 1 n m 仓库 供应 库存量 供应量 p 领导 n n 零件 项目 (b) 某工厂物资管理实体及其联系图(E-R图)
1.2.3 最常用的数据模型 当前,实际数据库系统中所支持的主要数据模型有: .层次模型(Hierachical Model) .网状模型(Network Model) .关系模型(Relational Model) . 面向对象模型(Object Orientet Model) 非关系模型 一、基本层次联系 任何一个图可以分解为两点与一边的基本单元,数据库中非关系模型的数据结构也可以分解为基本层次联系。 图 1-16 基本层次联系 Ri Rj Lij
一、层次数据模型的数据结构 1.2.4 层 次 模 型 在数据库中,我们定义满足下面两个条件的“基本层次关系”的集合为层次模型。 1.2.4 层 次 模 型 一、层次数据模型的数据结构 在数据库中,我们定义满足下面两个条件的“基本层次关系”的集合为层次模型。 1、有且仅有一个结点无双亲,这一个结点为根结点。 2、其他结点有且仅有一个双亲。 教员学生 R1 系 系编号 系名 办公地点 教研室 学生 R2 R3 教研室编号 教研室 学号 姓名 成绩 教员 R4 R5 职工号 姓名 研究方向 图 1-17 层次模型示意图 图1.18教员 学生数据库模型
二、多对多联系在层次模型中的表示 学生S S C m S-C n C S (a) (b) S C C V.C S V.S (c) 学号 姓名 成绩 S 学号 姓名 成绩 C 课程号 课程名 m S-C n C 课程号 课程名 课程号 课程名 S 学号 姓名 成绩 (a) (b) S C 学号 姓名 成绩 课程号 课程名 C V.C S V.S (c) 图1.20 用层次模型表示多对多联系
三、层次模型的数据操纵与完整性约束 四、层次模型的存储结构 1 邻接法 A A1 B B1 B4 B6 C 1 邻接法 A A1 B B1 B4 B6 C C3 C5 C7 C14 C2 C9 C4 C6 C8 (a) (b) 图1.21 层次数据库及实例 A1 B1 C3 C5 C7 C14 B4 C2 C9 B6 C4 C6 C8 A2 …… 图1.22 邻接法
2. 链接法 用指引元来反映数据之间的层次联系. (1) 子女—兄弟链接法 (2) 层次序列链接法 A1 · A2 · B1 · B4 · 2. 链接法 用指引元来反映数据之间的层次联系. (1) 子女—兄弟链接法 A1 · A2 · B1 · B4 · B6 · * C3 · C5 · C7 · C14 * C2 · C9 * C4 · C6 · C8 * (2) 层次序列链接法 · A1 · B6 · B4 · B1 · C14 · C8 · C7 · C6 · C5 · C9 · C4 · C3 · C2
1、层次模型的主要优点 (1)、层次数据模型本身比较简单。 (1)、现实世界中很多联系是非层次性的,层次模型难于直接体现这些联系。 五、层次模型的优缺点 1、层次模型的主要优点 (1)、层次数据模型本身比较简单。 (2)、对于实体间联系是固定的,且预先定义好了应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。 (3)、层次模型提供了良好的完整性支持。 2、层次模型的主要缺点 (1)、现实世界中很多联系是非层次性的,层次模型难于直接体现这些联系。 (2)、对插入和删除操作的限制比较多。 (3)、查询子女结点必须通过双亲结点。 (4)、由于结构严密,层次命令趋于程序化。
在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型。 (1)允许一个以上的结点无双亲; (2)一个结点可以有多余一个的双亲 1.2.5 网状模型 一、网状数据模型的数据结构 1、网状模型的定义: 在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型。 (1)允许一个以上的结点无双亲; (2)一个结点可以有多余一个的双亲 2、网状模型示例 R1 R2 R1 R2 R1 L1 L2 L3 R3 L1 L2 L1 L2 L4 L5 R4 R5 R3 R2 (b) (a) (c) 图1.24 学生 学号 姓 名 系别 课程号 课程名 学分 课程 S-SC C-SC 选课 学号 课程号 成 绩 图1.25 学生/选课/课程的网状数据库模式
二、网状数据模型的操纵与完整性约束 DBTG在模式DDL中提供了定义DBTG数据库完整性的若干概念和语句,主要有: (1)支持记录码的概念,码即唯一标识记录的数据项的集合。 (2)保证一个联系中双亲记录和子女记录之间是一对多的联系。 (3)可以支持双亲记录和子女记录之间某些约束条件。 三、网状数据模型的存储结构 网状数据模型的存储结构中关键是如何实现记录之间的联系。常用的方法有链接法(包括单向链接、双向链接、环状链接、向首链接等),此外还有指引元阵列法、二进制阵列法、索引法。
四、网状数据模型定优缺点 1、主要优点: S1 C1 A S1 S1 C2 A (1)能够更为直接地描述现实世界,如一个结点可以有多个双亲。 (2)具有良好的性能,存取效率高。 2、主要缺点: (1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。 (2)其DDL、DML语言复杂,用户不易使用。 S1 S1 C2 A C1 S2 C1 A S2 S2 C3 B S3 C1 B C2 S3 S3 C2 B S4 C1 A C3 S4 S4 C2 A S4 C3 B 图1.26 学生/选课/课程的网状数据库实例
1.2.6 关 系 模 型 一、关系数据库模型的数据结构 学生登记表 学 号 姓 名 性别 年龄 系 名 称 年级 …… 99124101 李 芹 女 21 计科系 99 99124102 王小明 男 22 99124103 张 华 20 关系模型中的常用术语: (1) 关系(Relation) (2) 元组(Tuple) (3) 属性(Attribute) (4) 主码(Key) (5) 域(Domain) (6) 分量 (7) 关系模式 关系名(属性1,属性2,属性3,……,属性n) 学生(学号,姓名,性别,年龄,系名称,年级,……)
(1).关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的. 二、关系数据库模型的操纵与完整性约束 三、关系数据库模型的的存储结构 四、关系数据库模型的优缺点 1、优点: (1).关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的. (2).关系模型的概念单一. (3).关系模型的存取路径对用户透明,从而具有较高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。 2、主要缺点: 由于存取路径对用户透明,查询效率往往比如非关系模型。
1.3 数据库系统结构 1.3.2 数据库系统三级模式结构 1.3.1 数据库系统模式的概念 1.3 数据库系统结构 1.3.1 数据库系统模式的概念 1.3.2 数据库系统三级模式结构 数据库系统的三级模式结构由外模式、模式和内模式组成。 外模式2 外模式3 内模式 应用A 应用B 应用C 应用D 应用E 外模式1 模 式 模式/内模式映象 外模式/模式映象 图1-29 数据库系统的三级模式 数据库
一、模式(Schema) 模式是数据库中全部数据的一个逻辑表示或描述,是所有用户的公共数据视图。 模式是数据库数据在逻辑集上的视图,故也称为逻辑模式。 数据库系统提供模式描述语言(模式DDL)来严格地表示这些内容。用模式DDL写出的一个数据库逻辑定义的全部语句称为某一个数据库的模式。 二、外模式(External Schema) 外模式是个别用户的视图,即与某一应用有关的数据的逻辑表示。 外模式通常是模式的子集,也称子模式。 数据库系统提供外模式描述语言(外模式DDL)描述用户视图。用外模式DDL写出的一个用户数据视图的逻辑定义的全部语句成为此用户的外模式。
三、内模式 内模式是全体数据库数据的内部表示或者底层描述,用来定义数据的存储方式和物理结构。 内模式通常用内模式数据描述语言(内模式DDL也成为存储模式DDL)来描述和定义。 1.3.3 数据库的二级映象功能与数据独立性 一、外模式/模式的映象 模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。外模式/模式的映象定义某一个外模式和模式之间的对应关系。 二、模式/内模式的映象 数据库中只有一个模式,也只有一个内模式,所以模式/内模式的映象是唯一的,它定义数据逻辑结构和存储结构之间的对应关系。
1.4 数据库系统的组成 一、硬件平台及数据库 (1). 要有足够大的内存空间. (2). 有足够大的直接存取外部设备存放数据库. 1.4 数据库系统的组成 一、硬件平台及数据库 (1). 要有足够大的内存空间. (2). 有足够大的直接存取外部设备存放数据库. (3). 要求系统有较高的通道能力,以提高数据的传送率. 二、软件 (1). DBMS. (2). 支持DBMS运行的操作系统. (3). 具有与数据库接口的高级语言及其编译系统,便于开发应用程序. (4). 以DBMS为核心的应用开发工具. (5).为特定应用环境开发的数据库应用系统.
1. 数据库管理员 三、人员 负责全面管理和控制数据库系统,具体职责有5项。P 37-38 2. 系统分析员和数据库设计人员 3. 应用程序员 4. 用户 用户 数据表示 应用系统 应用程序员 外模式 DBMS DBA, 系统分析员 模式 内模式 OS DB 数据抽象级别 软件系统层次 图 1.30 各种人员的数据视图
作业: P41-42 二. 数据库设计 三. 数据库理论 1题、 5题、 7题、 9题、 10题 12题、15题、 18题、21题、23题 1.5 数据库技术的研究领域 一. 数据库管理系统软件的研制 二. 数据库设计 三. 数据库理论 作业: P41-42 1题、 5题、 7题、 9题、 10题 12题、15题、 18题、21题、23题
本章结束