第3章 关系数据库 内容提要 关系模型的数据结构 关系模型的常用术语 关系数据库的完整性概念 数据库的关系运算 函数依赖的定义

Slides:



Advertisements
Similar presentations
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
Advertisements

必修2 第一单元 古代中国经济的基本结构和特点
報告人:教育部會計處處長 黃 永 傳 日 期:103 年12 月27 日
3.2 农业区位因素与农业地域类型.
第四章 空间力系.
人生格言: 天道酬勤 学院:自动化与电气工程学院 班级: 自师1201 姓名:刘 威.
民國88年至99年期間,下列何種空氣品質指標污染物有逐年升高的趨勢?
2011年10月31日是一个令人警醒的日子,世界在10月31日迎来第70亿人口。当日凌晨,成为象征性的全球第70亿名成员之一的婴儿在菲律宾降生。 ?
数据库系统概论 An Introduction to Database Systems
案例1 A(17周岁)、B(19周岁)两人来到中国,欲向C服装公司订购一批服装到本国销售。其中,A来自甲国,该国法律规定,具有完全民事行为能力的成年人的年龄标准为16周岁;而B来自乙国,乙国法律规定,具有完全民事行为能力的成年人的年龄标准为20周岁。中国法律规定的具有完全民事行为能力的人的年龄标准为18周岁(不考虑16至18周岁的特殊情况)。
第九课时 二元一次方程组 .
七(7)中队读书节 韩茜、蒋霁制作.
第六章 資料倉儲與採礦技術 6.1 資料倉儲與採礦定義 6.2 資料採礦之步驟與技術分類 6.3 資料採礦在顧客關係管理之應用
第8章 数据库技术基础 数据库可以直观地理解为存放数据的仓库,只 不过这个仓库是在计算机的大容量存储器上。
第2章 数据模型 2.1 实体联系模型 2.2 关系模型 2.3 面向对象的数据模型 习 题 2.
初级会计实务 第八章 产品成本核算 主讲人:杨菠.
第七章 证券投资管理 教学目的: 1.掌握证券投资的种类 2.理解证券投资风险与收益 3.重点掌握组合投资策略.
第3章 关系数据库的基本理论 冯万利.
非计算机应用专业教材 数据库原理与应用 李 明 科学出版社.
Principles and Applications of the Database
中考阅读 复习备考交流 西安铁一中分校 向连吾.
第三章 仓储技术作业过程.
岳阳市教学竞赛课件 勾股定理 授课者 赵真金.
全球最大电涡流缓速器供应商.
财经法规与会计职业道德 (3) 四川财经职业学院.
中央广播电视大学开放教育 成本会计(补修)期末复习
簡報 石門水庫及其集水區整治計畫 之水庫集水區保育 第2次評鑑 中華民國97年01月23日 交通部公路總局第一區養護工程處
血液循環失調 急救課程手冊修訂版.
人教版义务教育课程标准实验教科书 小学数学四年级上册第七单元《数学广角》 合理安排时间 248.
软件设计师培训.
第1章 数据库基础 1.1 数据库基本概念 数据处理 数据(Data)是对客观事物的某些特征及其相互联系的一种抽象化、符号化表示。 例如:王华出生日期为1970年7月12日,身高1.75m,体重65kg,部门代码A01,职称是副教授,其中王华、1970年7月12日、1.75m、65kg、A01、副教授等都是数据.
第三单元 发展社会主义民主政治.
3.3 资源的跨区域调配 ——以南水北调为例 铜山中学 李启强.
第4章 数据控制功能和表间关系 4.1 数据控制功能 为了确保数据库中数据的正确有效以及数据库系统的有效运行,RDBMS提供了数据控制功能:
专题二 识图题增分技巧.
第四课时 常见天气系统 阜宁一中 姚亚林.
中考语文积累 永宁县教研室 步正军 2015.9.
第4章 数据库技术及应用 软件开发技术基础 计算机教学实验中心 2006.
课标教材下教研工作的 实践与思考 山东临沂市教育科学研究中心 郭允远.
群組未知 水蜜桃每4個裝一盒,爸爸買了5盒,一共買了幾個水蜜桃? 爸爸想把20個水蜜桃平分給他的5個朋友,每個朋友可以得到幾個水蜜桃?
小学数学知识讲座 应用题.
勾股定理 说课人:钱丹.
倒装句之其他句式.
证券投资基金 投资121 06号余煜欢 09号陈秋婷 33号陈柔韵 08号潘晓峰 10号曾杰 34号谭锐权.
第 22 课 孙中山的民主追求 1 .近代变法救国主张的失败教训: “师夷之长技以制 夷”“中体西用”、兴办洋务、变法维新等的失败,使孙中山
課程名稱:資料庫系統 授課老師:李春雄 博士
第7章 關聯式資料庫的正規化 7-1 正規化的基礎 7-2 功能相依 7-3 第一階到第三階正規化型式 7-4 多重值相依與第四階正規化型式
第 2 章 規劃關聯式資料庫.
第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.
資料庫簡介 郭士煒 助教.
表格正規化簡介 講授大綱: 第一正規化 資料表的切割 第二正規化 第三正規化 Boyce/Codd正規化 第四正規化 第五正規化
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
第4章 關聯式資料庫模型 4-1 關聯式資料庫模型的基礎 4-2 關聯式資料庫模型的資料結構 4-3 關聯式資料庫模型的完整性限制條件
An Introduction to Database System An Introduction to Database System
人教版数学四年级(下) 乘法分配律 单击页面即可演示.
问题求解 入门.
第 2 章 規劃關聯式資料庫.
★ ★ ★ ★ ★如有教务问题,课后统一提问或者到服务QQ提问
Welcome 实验:筷子提米.
第一部分 数字电路 第4章 组合逻辑电路 主讲教师:喻红.
第四章:相互作用 第1节:重力与重心.
9.1.2不等式的性质 周村实验中学 许伟伟.
美丽的旋转.
第二章关系数据库 2.1关系数据库概述 2.2关系数据结构 2.3关系的完整性 2.4关系代数 2.5关系演算** 2.6关系数据库管理系统.
畢氏定理(百牛大祭)的故事 張美玲 製作 資料來源:探索數學的故事(凡異出版社).
 3.1.4 空间向量的正交分解及其坐标表示.
大綱: 比例線段定義 平行線截比例線段性質 顧震宇 台灣數位學習科技股份有限公司
成本會計 在決策中的功能 第四課 1.
102年人事預算編列說明 邁向頂尖大學辦公室製作.
Presentation transcript:

第3章 关系数据库 内容提要 关系模型的数据结构 关系模型的常用术语 关系数据库的完整性概念 数据库的关系运算 函数依赖的定义 第3章 关系数据库 内容提要 关系模型的数据结构 关系模型的常用术语 关系数据库的完整性概念 数据库的关系运算 函数依赖的定义 关系规范化理论

本章知识点 熟悉关系数据库的数据结构 掌握关系数据库的常用术语 掌握关系数据库的完整性概念 掌握数据库的关系运算 掌握函数依赖的定义 掌握关系规范化理论

3.1 关系模型 关系模型是由关系数据结构、关系操作集合和完整性规则三部分组成。 1、数据结构 在关系模型中,数据的逻辑结构是一张二维表,一个二维表又称为一个关系。该表格分为两个不同部分,一是表头部分,它描述关系的名称,又称表名;以及关系中的各属性名称;二是表格内容,它描述关系中的具体元组值。即表格中的每一行对应一个元组值,表格中的每一列对应一个属性。

◆关系模型中的一些术语: (1)关系(Relation):一个关系对应通常所说的一张二维表; (2)元组(Tuple):表中的一行即为一个元组; (3)属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。表3-1有五列,对应五个属性(学号,姓名,性别,出生日期,籍贯); (4)域(Domain):属性的取值范围,所以又称“值域”; (5)分量:元组中的一个属性值;

(6)关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n) (7)关键字或码(Key):表中用来唯一确定(标识)一个元组的某个属性或属性组合。 关键字必须唯一,但它的唯一性不是只对关系的当前元组构成来确定的。还要考虑元组构成的将来可能性。一个关系中,关键字的值不能为空,即关键字的值为空的元组在关系中是不允许存在的。

◆与关键字相关的术语: (1)候选关键字(Candidate Key)或候选码:如果一个关系中存在多个属性或属性组合都能用来唯一标识该关系的元组,这些属性或属性组合都称为该关系的候选关键字或候选码。 (2)主关键字(Primary Key)或主码:在一个关系的若干个候选关键字中指定作为关键字的属性或属性组合称为该关系的主关键字或主码。

(3)外部关键字(Foreign Key)或外码:当关系中某个属性或属性组合虽不是该关系的关键字或只是关键字的一部分,但却是另外一个关系的关键字时,称该属性或属性组合为这个关系的外部关键字或外键。 (4)主表与子表:主表与子表是指以外键相关联的两个表;以外键作为主键的表称为主表,外键所在的表称为子表。

关系模型的主要特点有: (1)关系中每一分量不可再分,是最基本的数据单位,即不允许有表中表。 (2)每一竖列的分量是同属性的,列数根据需要而定,且各列的顺序是任意的。 (3)每一横行由一个个体事物的诸多属性构成,且各行的顺序是任意的。 (4)一个关系是一张二维表,不允许有相同的属性名,也不允许有相同的元组。

2、关系操作集合 在关系模型中,以功能强大的关系操作集合对存储在该关系中的数据进行操作。关系模型一共有8种基本关系操作:专门关系运算有:选择操作、投影操作、连接操作、除操作。传统的集合操作有:并操作、交操作、差操作和笛卡儿积操作。 3、完整性约束条件: 包括:实体完整性、参照完整性、用户定义的完整性。

(1)实体完整性(Entity Integrity) 实体完整性是通过主键实现的。一个主键可以由表中的一列或者多列组成,它唯一标识表中的一行数据(一个元组)。每个元组主关键字的值应该是唯一的,主关键字的值不能为空。 (2)参照完整性(Referential Integrity) 参照完整性是对关系间引用数据的一种限制。 在关系模型中,实体间的联系是用关系来描述的,因而存在关系与关系间的引用。这种引用可通过外部关键字来实现。

(3)用户定义的完整性 由用户自己根据情况,对数据库中数据所做的规定称为用户定义的完整性规则,也称为域完整性规则。通过这些规则来限制数据库中只能接受符合用户定义完整性约束条件的数据值,从而保证了数据的正确性和有效性。

3.2关系代数 关系代数是在关系的基础上进行的一类代数运算,该运算完成对数据的抽象查询功能。每个运算都以一个或多个关系作为运算对象,使用一定的运算符,并生成另外一个关系作为该关系运算的结果。所以运算对象、运算符、运算结果是运算的三大要素。 关系代数的运算对象是关系,运算结果亦为关系。 关系的基本运算有两类:一类是传统的集合运算,另一类是专门的关系运算,有些查询需要几个基本运算的组合,要经过若干步骤才能完成。

3.2.1 传统的集合运算 传统的集合运算,包括并、差、交、广义笛卡尔积四种运算。 1、并(Union)(见P38) 关系R与关系S的并记作: R∪S = { t | t∈R ∨ t∈S } 其结果仍为关系,由属于R或属于S的元组组成。 2、交( Intersection) 关系R与关系S的交记作: R∩S = { t | t∈R ∧t∈S } 其结果关系仍为关系,由既属于R又属于S的元组组成.

关系R与关系S的差记作:R-S = { t | t∈R ∧ t\∈S }其结果关系仍为关系,由属于R而不属于S的所有元组组成。 3、差(Difference) 关系R与关系S的差记作:R-S = { t | t∈R ∧ t\∈S }其结果关系仍为关系,由属于R而不属于S的所有元组组成。 4、广义笛卡尔积(Extended Cartesian Product) 两个分别为n 和m个属性的关系 R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的元组,后m列是关系S的元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。 即用R的第i个元祖与S的全部元祖结合成k1个元祖,当i从1变到k2时就得到了新的关系的全部k1× k2个元祖。记作:R×S = { t| t=<tr,ts> ∧ tr∈R ∧ts∈S } 广义笛卡尔乘积也称为笛卡尔乘积。

3.2.2 专门的关系运算 专门的关系运算,包括选择、投影、连接和除运算. 1、选择运算 (Selection) 设F是一个条件表达式,在关系R上的F选择是在R中挑选满足F的所有元组,组成一个新的关系,这个新的关系是R的一个子集,记为:F(R) 其中F由下列三部分组成:运算对象、算术比较符、逻辑运算符。 例:从表3-3学生A表中(p38)选择出性别为“女”的学生, 则可记作:性别=“女”(学生信息表)(见P40表3.11)

2、投影运算 (Projection) 设R为k元关系,A1,A2,...,Am分别是它的第1,2...,m个属性,则关系R在A1,A2,...,Am上的投影是一个m元关系,其属性为A1,A2,...,Am,记作:∏ A(R) 投影的基本思想是从一个关系中选择我们需要的属性成分,并按要求排列组成一个新的关系,新的关系的各属性值来自原来关系中相应的属性值,并去掉重复元组。 例:从表3-3学生A表中,列出学生的姓名和籍贯 则可记作:∏ 姓名,籍贯(学生A))(见P40表3.12)

3、连接运算 (Join) 连接运算是从两个关系的笛卡尔积中选取满足一定连接条件的元组的集合,连接的结果是一个新的关系。也称为一般连接,记作:RS 连接运算中有两种最为重要的连接,等值和自然连接. (1)等值连接(见p41) 连接条件中的运算符为“=”的连接运算,称为等值连接。 (2)自然连接 在等值连接的基础上,去掉重复属性的连接,称为自然连接。

4、除运算(Division) 给定关系R(x,y)与S(z)其中x,y,z为属性集合。假设R中的y和S中的z是同名的属性(集)也可以有不同的属性名,但必须出自相同的域。在求解R÷S时,对R按x的值的分组,然后检查每一组,如某一组中的y包含S中全部的z,则取该组中的x的值作为关系P中的一个元组, 否则不取。R÷S的商等于关系P。 (见p42)选C22、C35、C37课的学生 选择、投影、连接运算是关系代数中最基本的数据操作运算,为构建关系数据库系统的操作语言奠定了基础。无论检索的过程涉及几个关系(表)以及何种条件,通过这3种运算都可以实现。目前关系数据库的数据操作都是基于关系代数运算而构造的。

3.3关系数据库规范化理论 数据库设计是针对某个具体的应用问题进行抽象 ,构造模型,为数据设计一个合适的逻辑结构,并建立数据库及其应用系统的过程。在关系数据库系统中,就是如何设计一些关系表以及这些表中的属性。本节将介绍与关系数据库中的关系模式(即关系表结构)密切相关的关系数据库设计的相关理论基础,也就是关系范式的有关基本知识。

3.3.1 问题的提出 我们将关系定义为笛卡尔积子集,也讨论了关系数据库中数据库的基本描述和关系代数基本运算等。但是还有一个基本的问题尚未涉及,那就是当给定一组数据后,如何构造一个适合于它们的数据模式,使得它不仅能准确的反映现实世界,而且适合于具体的应用场合。这就是数据库的逻辑设计问题。(见p43) 学号(NO)) 系名(SD) 系负责人(DM) 课程名(CN) 成绩(DG) 20060102 计算机 王凯 数据库原理与应用 89 20070101 C语言程序设计 76 80 20070201 85

3.3.2 函数依赖 函数依赖是关系数据库设计中的一个重要概念,下面我们给出函数依赖的定义。 定义1:设R(U)是属性集U上的一个关系模式,X,Y是U的子集。若对于R(U)中任意可能关系r,若对于r中任意两个元祖s和t。当s[X]=t[X]时,就有s[Y]=t[Y]则称属性子集X函数决定属性子集Y或称Y函数依赖于X, 记作X→Y。称X为决定因素。Y为依赖因素,当Y不函数依赖X,则记作X/ → Y。 如果X→Y,Y→X,则纪其为X←→Y。 注意:函数依赖不是指关系模式R中某个或某些关系满足的约束条件,而是指R的一切关系均要满足约束条件

非平凡函数依赖,否则称为平凡函数依赖。下面以前者作为 基础。 函数依赖的性质:假设R(A,B,C)是一个关系模式,A,B,C 若 X→Y 是一个函数依赖,但Y不是X的子集则称X→Y 是 非平凡函数依赖,否则称为平凡函数依赖。下面以前者作为 基础。 函数依赖的性质:假设R(A,B,C)是一个关系模式,A,B,C 为属性,若在R中有A→B 和B→C,则在R中必定有A→C. 可 看出函数依赖A→B, B→C逻辑蕴含了函数依赖A→C. 定义2:在R(U)中,若属性集合Y函数依赖于属性集 合X,但Y函数不依赖于X的任一子集,则称Y对X完全函数依 赖,记作 X f Y ,反之,若Y依赖于X的某一个真子集,则 称Y对X部分函数依赖,记作X P Y。 定义3:在R(U)中,如果X/→Y,Y→X,X→Z(X不 是Y的子集,Z不是X子集),则称Z对Y传递依赖Y→Z。

3.3.3 范式 关系的规范化理论是由E.F.Codd于1971年提出的。规范化理论为数据结构定义了规范化的关系模式,简称范式(Normal Forms, NF)。它提供了判别关系模式设计的优劣标准,为数据库设计提供了严格的理论基础。 关系数据库中的关系是要满足一定要求的,满足不同的要求就称为不同的范式,满足最低要求的叫第一范式,简称1NF。在第一范式基础上又满足其它一些要求的称为第二范式,简称2NF,其余以此类推,直到第五范式。

1、第一范式(1NF) 设R是一个关系模式,如果R中的所有属性都是最基本的、不可再分的最小数据项,则称R满足第一范式或R是第一范式,简记为1NF。 1NF是最基本的范式要求,任何关系都必须遵守。然而第一范式的关系却存在着很多的缺点。 例如,上节中举例的S关系,S(NO,SD,DM,CN,DG)它就是一个1NF的关系,因为关系S中的每个属性的值都是不可再分的最小数据项。(见p45-46)

2、第二范式(2NF) 如果关系模式R是第一范式,且非主属性(不在候选键中的属性)都完全依赖于其主关键字,则称R满足第二范式或R是第二范式,简记为2NF。(见p46) 3、第三范式(3NF) 如果关系模式R是第二范式,且所有非主属性对任何主关键字都不存在传递依赖,则称R满足第三范式或R是第三范式,简记为3NF。(见p46-47)

3.4 小结 本章首先介绍了关系模型的数据结构以及关系模型的常用术语。在关系数据库中,完整性是非常重要的概念,完整性可以从三个方面来约束:实体完整性、参照完整性和用户定义完整性。然后介绍了关系代数,它分为两种:传统的集合运算;专门的关系运算。 最后介绍了关系数据库设计中的一个重要概念:函数依赖,并由此引出关系数据库的规范化理论。在对数据库中的数据进行规范化设计的时候一定要注意:并不是规范化程度越高,关系模式就越好,而是根据用户的需要以及数据之间的联系来进行设计。关系规范化理论的应用对设计一个良好的数据库是非常必要的。