Presentation is loading. Please wait.

Presentation is loading. Please wait.

第六章 数据库技术基础 本章要点  数据库系统概述 数据库系统概述  关系数据库 关系数据库  数据库设计 数据库设计.

Similar presentations


Presentation on theme: "第六章 数据库技术基础 本章要点  数据库系统概述 数据库系统概述  关系数据库 关系数据库  数据库设计 数据库设计."— Presentation transcript:

1 第六章 数据库技术基础 本章要点  数据库系统概述 数据库系统概述  关系数据库 关系数据库  数据库设计 数据库设计

2 数据库系统概述 数据管理技术的发展分三个阶段: 人工管理阶段 文件系统管理阶段 数据库系统管理阶段 数据管理技术的发展

3 数据库、数据库管理系统和数据库系统 长期 组织共享大量 数据库 (Database, 简称 DB) 是长期储存在计算机内、 有组织的、可共享的大量数据集合。 数据库系统概述 一、数据库 二、数据库管理系统 数据库管理系统 (DataBase Management System , DBMS) 位于应用程序和操作系统之 间,是为建立、使用和维护数据库而配置的 一层数据管理软件,负责对数据库中的数据 进行统一的管理和控制。

4  目前常用的数据库 Oracle  Larry Ellison 和另两个编程人员在 1977 创办,目前 Oracle 关 系数据库产品的市场占有率名列前茅。 SQL Server  1989 年,微软发布了 SQL Server 1.0 版。 mySQL  mySQL 是一个小型关系型数据库管理系统,目前 MySQL 被广 泛地应用在 Internet 上的中小型网站中。由于其体积小、速度 快、总体拥有成本低,尤其是开放源码这一特点,许多中小型 网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数 据库。 Sybase  公司成立于 1984 年,公司名称 “Sybase” 取自 “system” 和 “database” 相结合的含义。 数据库系统概述

5  Acess 数据库 由微软发布的关联式数据库管理系统。数据库管理系统 一些不熟练的程序员和非程序员的 “ 进阶用户 ” 能使用它 来开发简单的应用软件 Access 的可扩放性并不高

6 数据库系统 (Data Base System , DBS) 是指带有数据 库的计算机系统。 包括数据库、数据 库管理系统、应用 程序、数据库管理 员以及用户等部分 数据库、数据库管理系统和数据库系统 数据库系统概述 三、数据库系统 用户 1 用户 2 …… 用户 n 数据库系统示意图 数据库管 理系统 数据库 应用程序 数据库管理员数据库管理员

7 数据库、数据库管理系统和数据库系统  数据的整体结构化。  目前数据库以二维 表的形式存在  数据的共享性高,冗余度 低。  数据的独立性高。  数据的统一管理和控制。 数据库系统概述 四、数据库系统的特点 学号姓名性别班级 200805360 蔡汶庭 女机械 081 200805361 宋艳美 女机械 081 200805362 苗圆圆 女机械 081 200805363 曹永玲 女机械 081 200805364 王丹波 女机械 081 200805365 邓玮玮 女机械 081

8 模型是现实世界特征的模拟和抽象。 数据模型应满足三方面要求:  能比较真实地模拟现实世界;  容易为人所理解;  便于在计算机上实现。 根据数据模型的应用目的不同,数据模型分为两类  概念模型,也称信息模型,它是按用户的观点来对数 据进行描述  逻辑数据模型,它是按计算机系统的观点对数据进行 描述 数据模型 数据库系统概述

9 数据结构:所研究的对象类型的集合。 数据操作:对相应数据结构允许执行的操作的集合 数据的完整性约束:一组完整性规则的集合。完整性规则 是给定的数据模型中数据及其联系所具有的 制约和依存规则,以保证数据的正确、有效 和相容。 数据模型 数据库系统概述 一、数据模型的组成要素

10 实体:客观存在并可相互区别的事物称为实体 (Entity) 。 实体可以是具体的人、事、物,也可以是抽象 的概念或联系。例如,一个职员、一名学生、 一个车间、学生选课、车间领料等都是实体。 属性:实体的特性称为实体的属性 (Attribute) 。一个实 体可以由若干个属性来刻画。例如,学生可以 由学号、姓名、专业、班级等属性刻画。 数据模型 数据库系统概述 二、概念模型(实体 - 联系数据模型)

11 联系:在现实世界中,事物内部以及事物之间是有联系的, 这些联系在信息世界中反映为实体集内部的联系 和实体集之间的联系。 二、实体 - 联系数据模型 数据模型 数据库系统概述

12 两个实体集之间的联系分为三类: 一对一联系 (1 : 1)  如果对于实体集 A 中的每一个实体,实体 集 B 中至多有一个实体与之联系,反之亦 然,则称实体集 A 与 B 具有一对一联系,记 为 1 : 1 。  例如:班级实体和班长实体,一个班级有 一个班长,一个班长只能是一个班级的班 长 二、实体 - 联系数据模型 数据模型 数据库系统概述

13 一对多联系 (1 : n) 如 果对于实体集 A 中的每一个实体,实体集 B 中有 n 个实体 (n≥0) 与之联系,反之,对于 实体 B 中的每一个实体,实体集 A 中至多只 有一个实体与之联系,则称实体集 A 与 B 具 有一对多联系,记为 1 : n 。 班级实体和学生实体:一个班级有多个学生,而一 个学生只能属于一个班级 二、实体 - 联系数据模型 两个实体集之间的联系分为三类: 数据模型 数据库系统概述

14 多对多联系 (m : n) 如果对于实体集 A 中的每一个实体,实体集 B 中有 n 个实体 (n≥0) 与之联系,反之,对于实体集 B 中的每 一个实体,实体集 A 中也有 m 个实体 (m≥0) 与之联系, 则称实体集 A 与 B 具有多对多联系,记为 m : n 。 学生实体和教师实体:一个学生可以有多个老师教 授,一个老师可以教多名学生 二、实体 - 联系数据模型 两个实体集之间的联系分为三类: 数据模型 数据库系统概述

15 E-R 图的表示: 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,椭圆形内写明属性名, 并用无向边将其与相应的实体连接起来。 联系:用菱形表示,菱形框内写明联系名, 并用无向边分别与有关实体或联系连接起来, 同时在无向边旁标上联系的类型。 数据模型 数据库系统概述 二、实体 - 联系数据模型

16 例:在学生选课子系统中涉及到的实体以及 实体的属性为:  学生实体:学号、姓名、性别  课程实体:编号、名称、性质、学分 有关的语义如下:  每个学生可以选修多门课程;  每门课程可以被多个学生选修;  每个学生选修的每门课程都有一个成绩。 可见学生实体和课程实体之间是多对多的联 系,而且联系也有属性,其属性为成绩。 二、实体 - 联系数据模型 E-R 图 数据模型 数据库系统概述

17 n m 学生 学生选课子系统 E-R 图 课程 选修 学号 姓名性别 编号名称性质 学分 成绩 二、实体 - 联系数据模型 E-R 图 数据模型 数据库系统概述

18 关系数据库 基本术语如下:  关系 (Relation) :一个关系对应一张二维 表。  元组 (Tuple) :表中的一行即为一个元组。  属性 (Atturibute) :表中的一列即为一个 属性,每一列的第一行是属性名,其余 行是属性值。  候选码:表中的某个属性或属性组合, 它可以唯一的标识一个元组  主码:在多个候选码中选择一个作为主 码 关系模型的基本概念 一、关系数据结构 学号姓名性别 200805360 蔡汶庭 女 200805361 宋艳美 女 200805362 苗圆圆 女 200805363 曹永玲 女 200805364 王丹波 女 200805365 邓玮玮 女

19 关系数据库 关系应满足如下性质: 关系必须是规范化的,即要求关系必须满足一定的 规范条件,其中最基本的一条就是,关系的每一列 不可再分。 关系中必须有主码,使得元组唯一。如学生关系中, 学号属性是主码,课程关系中,编号是主码,选修 关系中,学号和编号一起是主码。 关系模型的基本概念 一、关系数据结构

20 元组的个数是有 限的且元组的顺 序可以任意交换。 属性名是唯一的 且属性列的顺序 可以任意交换。 姓名学号性别 苗圆圆 2008053 62 女 曹永玲 2008053 63 女 蔡汶庭 2008053 60 女 宋艳美 2008053 61 女

21 实体完整性规则  主码的属性值不能为空值。因为如果出现空值, 那么主码就无法保证元组的唯一性。 参照完整性规则  关系之间的联系是靠公共属性实现的  如果这个公共属性是一个关系 R1 的主码,那么在 另一个与它有联系的关系 R2 中就称为外码。 二、关系完整性规则 关系数据库 关系模型的基本概念

22 学号姓名性别 20080536 0 蔡汶庭女 20080536 1 宋艳美女 20080536 2 苗圆圆女 20080536 3 曹永玲女 学号课程成绩 200805360 大学计算机基础 92 200805360 程序设计 80 200805362 大学计算机基础 85 200805363 大学英语 75 学生表 选课表 选课表中的学号是外码  参照完整性规则:外码的取值只有两种可能,要么是空 值,要么等于 R1 中某个元组的主码值。

23 用户定义完整性  反映某一具体应用所涉及的数据必须满足的语义要 求。 二、关系完整性规则 关系数据库 关系模型的基本概念

24 关系操作的对象是关系,结果也是关系。 查询:就是在一个关系或多个关系中查找满足条件的列 或行,得到一个新的关系。 插入:在指定的关系中插入一个或多个元组。 删除:将指定关系中的一个或多个满足条件的元组删除。 修改:针对指定关系中满足条件的一个或多个元组修改 其数据项的值。 三、关系操作 关系数据库 关系模型的基本概念

25 数据库设计 应能真实、充分地反映现实世界, 是现实世界中具体应用的一个真实 模型 易于向关系等各种数据逻辑模型转 换。 概念结构设计

26 E-R图向关系模型的转换 转换原则: ⒈ 一个实体型转换为一个关系模式。 关系的属性 关系的属性:实体型的属性 关系的码 关系的码:实体型的码 例如:学生实体可以转换为如下关系模式: 学生(学号,姓名,性别) 课程(课程编号,课程名称,性质,学分) n m 学生 学生选课子系统 E-R 图 课程 选修 学号 姓名性别 编号名称性质 学分 成绩 数据库设计 逻辑结构设计

27 ⒉ 一个 m:n 联系转换为一个关系模式。 关系的属性 关系的属性:与该联系相连的各实体的码以及联系 本身的属性 关系的码 关系的码:各实体码的组合 例, “ 选修 ” 联系是一个 m:n 联系,可以将它转换为如下 关系模式,其中学号与课程号为关系的组合码: 选修(学号,课程号,成绩) E-R 图向关系模型的转换 数据库设计 逻辑结构设计 n m 学生 课程 选修 成绩

28 选修表 学号课程号成绩 201100 1 195 201100 2 183 201100 1 274 课程表 课程号课程名称课程性质 1 大学计算机基础必修 2 程序设计语言必修 学号姓名性别 2011001 蔡汶庭女 2011002 宋艳美女 学生表

29 ⒊ 一个 1:n 联系可以转换为一个独立的关系模式,也可以 与 n 端对应的关系模式合并。 1) 转换为一个独立的关系模式  关系的属性  关系的属性:与该联系相连的各实体的码 以及联系本身的属性  关系的码  关系的码: n 端实体的码 E-R 图向关系模型的转换 数据库设计 逻辑结构设计

30 例如: “ 组成 ” 联系为 1:n 联系。 将其转换为关系模式的两种方法: 1) 使其成为一个独立的关系模式: 组成(学号,班号) 2) 将其学生关系模式合并: 学生(学号,姓名,性别,班号) E-R 图向关系模型的转换 n 1 学生 班级 组成 学号 姓名性别 班号名称 人数 数据库设计 逻辑结构设计

31 2) 与 n 端对应的关系模式合并  合并后关系的属性  合并后关系的属性:在 n 端关系中加入 1 端关系的码和联系本身的属性  合并后关系的码  合并后关系的码:不变 可以减少系统中的关系个数,一般情况下更倾向于采 用这种方法 E-R 图向关系模型的转换 数据库设计 逻辑结构设计

32 ⒋ 一个 1:1 联系可以转换为一个独立的关系模式,也可以 与任意一端对应的关系模式合并。 1) 转换为一个独立的关系模式  关系的属性  关系的属性:与该联系相连的各实体的码 以及联系本身的属性  关系的候选码  关系的候选码:每个实体的码均是该关系 的候选码 E-R 图向关系模型的转换 数据库设计 逻辑结构设计

33 2) 与某一端对应的关系模式合并  合并后关系的属性  合并后关系的属性:加入对应关系的 码和联系本身的属性  合并后关系的码  合并后关系的码:不变 E-R 图向关系模型的转换 数据库设计 逻辑结构设计

34 例如:班主任和班级的 “ 管理 ” 联系为 1:1 联系,可以有三种转换方 法: ( 1 )转换为一个独立的关系模式: 管理(职工号,班号)或管理(班号,职工号) ( 2 ) “ 管理 ” 联系与班级关系模式合并,则只需在班级关系中加 入教师关系的码,即职工号: 班级(班号,学生人数,职工号) ( 3 ) “ 管理 ” 联系与教师关系模式合并,则只需在教师关系中加 入班级关系的码,即班级号: 教师(职工号,姓名,性别,职称,班号) E-R 图向关系模型的转换 数据库设计 逻辑结构设计

35 小结  数据库、数据库管理系统、数据库系统的概念及 数据库系统的特点  数据库的三级模式两级映射  实体 - 联系模型的基本概念和 E-R 图的画法  关系数据库的基本概念及性质,关系的完整性规 则  数据库的逻辑结构设计

36 作业题 习题 6:  6-1  6-2


Download ppt "第六章 数据库技术基础 本章要点  数据库系统概述 数据库系统概述  关系数据库 关系数据库  数据库设计 数据库设计."

Similar presentations


Ads by Google