工程数据库课件_第1页
工程数据库课件_第2页
工程数据库课件_第3页
工程数据库课件_第4页
工程数据库课件_第5页
已阅读5页,还剩241页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 绪论1.1 数据库系统概述1.2 数据模型1.3 数据库系统结构1.4 数据库系统的组成1.5 数据库技术的研究领域1.6 小结一、数据 数据(Data)是数据库中存储的基本对象 信息与数据之间存在着固有的联系:数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释 数据的定义 描述事物的符号记录 数据的种类 文字、图形、图象、声音 数据的特点 数据与其语义是不可分的二、数据库(举例)二、数据库(续) 人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息 数据库的定义 数据库(Database,简称DB)是长期储存在计算机内

2、、有组织的、可共享的数据集合二、数据库(续) 数据库的特征 数据按一定的数据模型组织、描述和储存数据按一定的数据模型组织、描述和储存 可为各种用户共享可为各种用户共享 冗余度较小冗余度较小 数据独立性较高数据独立性较高 易扩展易扩展三、数据库管理系统 什么是DBMS 数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。为用户或应用程序提供访问DB的方法 基于不同的数据模型,可以分为层次型、网状型、关系型和面向对象型等。 DBMS的用途 科学地组织和存储数据、高效地获取和维护数据四、数据库系统 什么是数据库系统 数据库系

3、统(数据库系统(Database System,简称,简称DBS)是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。 在不引起混淆的情况下常常把数据库系统简称为数据库。在不引起混淆的情况下常常把数据库系统简称为数据库。 数据库系统的构成 由数据库、数据库管理系统(及其开发工具)、应用系由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。统、数据库管理员(和用户)构成。数据库系统(续) 数据库系统构成图示 参看教材page_5 图1.1数据库操作系统数据库管理系统应用系统应用开发工具 用户

4、用户 用户 数据库 管理员图1.1 数据库系统1.1.3 数据管理技术的产生和发展 什么是数据管理 对数据进行分类、组织、编码、存储、检索和维护,对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题是数据处理的中心问题 数据管理技术的发展过程 人工管理阶段人工管理阶段(40年代中年代中-50年代中年代中) 文件系统阶段文件系统阶段(50年代末年代末-60年代中年代中) 数据库系统阶段数据库系统阶段(60年代末年代末-现在现在)二、文件系统 时期 50年代末-60年代中 产生的背景 应用需求科学计算、管理 硬件水平磁盘、磁鼓 软件水平有文件系统 处理方式联机实时处理、批处理应用程序

5、与数据的对应关系(文件系统)应用程序应用程序文件文件应用程序应用程序文件文件2应用程序应用程序文件文件n存取存取方法方法.三、数据库系统 数据管理技术进入数据库阶段的标志是数据管理技术进入数据库阶段的标志是2020世纪世纪6060年代年代末的三件大事:末的三件大事: 1968年美国IBM公司推出层次模型的IMS系统 。 1969年美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型。 1970年美国IBM公司的E.F.Codd 连续发表论文,提出关系模型,奠定了关系数据库的理论基础。 产生的背景 应用背景大规模管理 硬件背景大容量磁盘 软件背景有数据库管理系统处理

6、方式联机实时处理,分布处理,批处理 数据库阶段信息处理方式的演变数据库阶段信息处理方式的演变 高级数据库技术阶段(一)分布式数据库系统主要有下面三个特点分布式数据库系统主要有下面三个特点数据库的数据物理上分布在各个场地,但逻辑上是一个整体。 每个场地既可以执行局部应用(访问本地DB),也可以执行全局应用(访问异地DB)。 各地的计算机由数据通信网络相联系。本地计算机单独不能胜任的处理任务,可以通过通信网络取得其它DB和计算机的支持。 应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用程序2数据库第一章 绪论1.1 数据库系统概述1.2 数据模型1.3 数据库系统结构1.4 数据库系统

7、的组成1.5 数据库技术的研究领域1.6 小结数据模型 在数据库中用数据模型这个工具来抽象、表示抽象、表示和处理和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟 数据模型应满足三方面要求 能比较能比较真实真实地模拟现实世界地模拟现实世界 容容易易为人所为人所理解理解 便于在计算机上便于在计算机上实现实现 1.2 数据模型 1.2.1 数据模型的组成要素 1.2.2 概念模型 1.2.3 常用数据模型 1.2.4 层次模型 1.2.5 网状模型 1.2.6 关系模型 1.2.1 数据模型的组成要素 数据结构(静态特性) 数据操作(动态特性) 数据的完整性约束条件 1.2.2 概念

8、模型1. 概念模型2. 信息世界中的基本概念3. 概念模型的表示方法2. 信息世界中的基本概念 (1) 实体(Entity) 客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念可以是具体的人、事、物或抽象的概念。(2) 属性(Attribute) 实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。 (3) 码(Key) 唯一标识实体的属性集称为码。唯一标识实体的属性集称为码。 信息世界中的基本概念(续)(4) 域(Domain) 属性的取值范围称为该属性的域属性的取

9、值范围称为该属性的域。 (5) 实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画用实体名及其属性名集合来抽象和刻画同类实体称为实体型同类实体称为实体型(6) 实体集(Entity Set) 同型实体的集合称为实体集同型实体的集合称为实体集信息世界中的基本概念(续)(7) 联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息世界现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系中反映为实体内部的联系和实体之间的联系实体型间联系 两个实体型两个实体型 一对一联系(一对一联系(1:1) 三个实体型三个实体型 一对多联系(一

10、对多联系(1:n) 一个实体型一个实体型 多对多联系(多对多联系(m:n) 两个实体型间的联系实体型实体型1联系名联系名实体型实体型2111:1联系联系实体型实体型1联系名联系名实体型实体型2mnm:n联系联系实体型实体型1联系名联系名实体型实体型21n1:n联系联系两个实体型间的联系 一对一联系 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中至中至多有一个实体与之联系,反之亦然,多有一个实体与之联系,反之亦然,则称实体集则称实体集A与实体集与实体集B具有一对一联系具有一对一联系。记为。记为1:1。 实例(乘客与座位)班级与班长之间的联系:班级与班长之间的联系:

11、一个班级只有一个正班长一个班级只有一个正班长一个班长只在一个班中任职一个班长只在一个班中任职两个实体型间的联系 (续) 一对多联系 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实体(个实体(n0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B中的中的每一个实体,实体集每一个实体,实体集A中至多只有一个实体与之联中至多只有一个实体与之联系,则称系,则称实体集实体集A与实体集与实体集B有一对多联系有一对多联系 记为记为1:n 实例(车间与工人)班级与学生之间的联系:班级与学生之间的联系:一个班级中有若干名学生,一个班级中有若干名学生,每个学生只

12、在一个班级中学习每个学生只在一个班级中学习两个实体型间的联系 (续) 多对多联系(m:n) 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实体(个实体(n0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B中的中的每一个实体,实体集每一个实体,实体集A中也有中也有m个实体(个实体(m0)与)与之联系,则称实体集之联系,则称实体集A与实体与实体B具有多对多联系。具有多对多联系。记为记为m:n 实例课程与学生之间的联系:课程与学生之间的联系:一门课程同时有若干个学生选修一门课程同时有若干个学生选修一个学生可以同时选修多门课程一个学生可以同时选修多门

13、课程多个实体型间的联系(续) 多个实体型间的一对多联系 若实体集若实体集E1,E2,.,En存在联系,对于实存在联系,对于实体集体集Ej(j=1,2,.,i-1,i+1,.,n)中)中的给定实体,最多只和的给定实体,最多只和Ei中的一个实体相联中的一个实体相联系,则我们说系,则我们说Ei与与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的。之间的联系是一对多的。多个实体型间的联系(续) 实例 课程、教师与参考书三个实体型课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本本参考

14、书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用参考书只供一门课程使用课程与教师、参考书之间的联系是一对多的课程与教师、参考书之间的联系是一对多的 多个实体型间的一对一联系 多个实体型间的多对多联系同一实体集内各实体间的联系 一对多联系 实例 职工实体集内部具有领导与被领导的联系职工实体集内部具有领导与被领导的联系某一职工(干部)某一职工(干部)“领导领导”若干名职工若干名职工一个职工仅被另外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系 一对一联系 多对多联系3. 概念模型的表示方法 概念模型的表示方法很多 实体联系方法(E-R方法) 用E-R图来

15、描述现实世界的概念模型 E-R方法也称为E-R模型E-R图(续)完整的E-R图 1.2.3 常用数据模型 非关系模型 层次模型(层次模型(Hierarchical Model) 网状模型网状模型(Network Model ) 数据结构:以基本层次联系为基本单位 基本层次联系:两个记录以及它们之间的一对多基本层次联系:两个记录以及它们之间的一对多(包括一对一(包括一对一)的联系的联系常用数据模型(续) 关系模型(Relational Model) 数据结构:表 面向对象模型(Object Oriented Model) 数据结构:对象关系模型 最重要的一种数据模型。也是目前主要采用的数据模型

16、1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出 本课程的重点关系数据模型的数据结构 在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。 学生登记表学生登记表 学学 号号 姓姓 名名 年龄年龄 性性 别别 系系 名名 年年 级级 95004 王小明王小明 19 女女 社会学社会学 95 95006 黄大鹏黄大鹏 20 男男 商品学商品学 95 95008 张文斌张文斌 18 女女 法律学法律学 95 关系模型的基本概念 关系(Relation)一个关系对应通常说的一张表。 元组(Tuple)表中的一行即为一个元组。 属性(Attribute)表中的

17、一列即为一个属性,给每一个属性起一个名称即属性名。关系模型的基本概念 主码(Key)表中的某个属性组,它可以唯一确定一个元组。 域(Domain)属性的取值范围。 分量元组中的一个属性值。 关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级) 关系 表 关系模式 记录 行 属性 列 属性名 列名 jbqk 关系名 表名 关系数据模型的数据结构(续) 实体及实体间的联系的表示方法 实体型实体型:直接用关系(表)表示。:直接用关系(表)表示。 属性属性:用属性名表示。:用属性名表示。 一对一联系一对一联系:隐含在实体对应的关系中。:隐含在实体对应的关系中。

18、一对多联系一对多联系:隐含在实体对应的关系中。:隐含在实体对应的关系中。 多对多联系多对多联系:直接用关系表示:直接用关系表示。关系数据模型的数据结构(续)例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)系系 (系号,系名,办公地点系号,系名,办公地点)例2系、系主任、系与系主任间的一对一联系关系数据模型的数据结构(续)例3学生、课程、学生与课程之间的多对多联系: 学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)课程(课程号,课程名,学分)选修(学号,课程

19、号,成绩)选修(学号,课程号,成绩)关系数据模型的数据结构(续)关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。可分的数据项,不允许表中还有表。工工 资资扣扣 除除职职 工工号号姓姓名名职职称称基基 本本工工 龄龄职职 务务房房 租租水水 电电实实发发8 8 6 6 0 0 5 5 1 1陈陈 平平讲讲 师师1 1 0 0 5 59 9 5 51 1 5 56 61 1 2 21 1 1 1 5 5 5 5. . . . . . . . . . . . . . . . . . .

20、. . . . . . . . .2.关系模型的数据操纵 查询、插入、删除、更新 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合 存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”5.关系模型的优缺点 优点 建立在严格的数学概念的基础上建立在严格的数学概念的基础上 概念单一。数据结构简单、清晰,用户易懂易用概念单一。数据结构简单、清晰,用户易懂易用 实体和各类联系都用关系来表示。实体和各类联系都用关系来表示。 对数据的检索结果也是关系。对数据的检索结果也是关系。 关系模型的存取路径对用户透明 具有更高的数据独立性,更好的安全保密性具有更高的数据独立性,更好的安

21、全保密性 简化了程序员的工作和数据库开发建立的工作简化了程序员的工作和数据库开发建立的工作关系模型的优缺点(续) 缺点存取路径对用户透明导致查询效率往往不如非存取路径对用户透明导致查询效率往往不如非关系数据模型关系数据模型为提高性能,必须对用户的为提高性能,必须对用户的查询请求进行优化查询请求进行优化增加了开发数据库管理系统的难度增加了开发数据库管理系统的难度6. 典型的关系数据库系统(RDBMS) ORACLE Oracle软件系统有限公司的产品软件系统有限公司的产品. Oracle成立于成立于1977年年,总部设在加利福总部设在加利福尼亚尼亚,是一家世界性的计算机软件供应商是一家世界性的计

22、算机软件供应商,向全球百余个国家的用户提供向全球百余个国家的用户提供大量的软件产品和电子化信息服务大量的软件产品和电子化信息服务. ORACLE系列产品在数据库领域系列产品在数据库领域一直居领先地位一直居领先地位,它在我国的销售份额占它在我国的销售份额占50%以上以上.它现在发展到了它现在发展到了Oracle 8I系列系列 SYBASE System和和Database相结合的含义相结合的含义. SYBASE公司是第一个提出并推出客公司是第一个提出并推出客户户/服务器服务器(C/S)体系结构的高性能数据库服务器的数据库厂商体系结构的高性能数据库服务器的数据库厂商,并促进并促进了它的广泛流行了它

23、的广泛流行.1999年年SYBASE公司率先在我国市场上发布企业门户公司率先在我国市场上发布企业门户(Enterprise Portal, EP)技术技术 INFORMIX 是关系数据库系统公司是关系数据库系统公司(Relational Database System Inc)的注册商标的注册商标,总总部设在美国加州部设在美国加州.它的取名来自它的取名来自Information+UNIX,自自1983年年,在在UNIX上上推出第一个关系数据库产品后推出第一个关系数据库产品后, INFORMIX公司继续开发了可以在公司继续开发了可以在UNIX、WINDOWS、NT、NetWare、Macinto

24、sh等多种操作环境下运等多种操作环境下运行行,具有很好的开放性具有很好的开放性 6. 典型的关系数据库系统 DB/2 DB2关系型数据库家族产品是关系型数据库家族产品是IBM公司的主要产品。公司的主要产品。80年代初年代初DB2的的发展重点放在大型的主机平台。从发展重点放在大型的主机平台。从80年代中期到年代中期到90年代初年代初DB2已发展已发展到中、小型机,以及微机平台。它适用于各种硬件平台,其中包括基到中、小型机,以及微机平台。它适用于各种硬件平台,其中包括基于于Intel的微机、的微机、IBM的的AS/400系统、大型并行处理机等系统、大型并行处理机等 Microsoft SQL Se

25、rver 是微软公司的产品是微软公司的产品,它建立在它建立在Microsoft Windows NT 操作系统基础之上操作系统基础之上,提供了一个功能强大的客户提供了一个功能强大的客户/服务器平台服务器平台,是能同时支持多个并发用户的是能同时支持多个并发用户的关系数据库系统关系数据库系统.不象大型机和小型机数据库不象大型机和小型机数据库,服务器数据库是通过称为服务器数据库是通过称为客户机的用户访问的,即是从其它计算机系统而不是从输入客户机的用户访问的,即是从其它计算机系统而不是从输入/输出输出(例如例如终端终端)进行访问的进行访问的.其最新产品是其最新产品是SQL SERVER 7.0 ING

26、RES 关系技术公司关系技术公司(Relational Technology Inc)的的INGRES数据库系统的多项数据库系统的多项技术直接采用了技术直接采用了Berkeley大学的最新研究成果大学的最新研究成果,因为关系数据库技术最因为关系数据库技术最早源于早源于Berkeley大学大学,所以可谓关系数据库技术之鼻祖所以可谓关系数据库技术之鼻祖.数据库不仅能管数据库不仅能管理数据理数据,而且还能管理知识和对象而且还能管理知识和对象,属于技术上领先的智能型数据库管理属于技术上领先的智能型数据库管理系统系统 第一章 绪论1.1 数据库系统概述1.2 数据模型1.3 数据库系统结构1.4 数据库

27、系统的组成1.5 数据库技术的研究领域1.6 小结数据库系统模式的概念 数据模型中“型” 和“值” 的概念 型(Type)对某一类数据的结构和属性的说明 值(Value)是型的一个具体赋值例如:学生记录例如:学生记录记录型:记录型: (学号,姓名,性别,系别,年龄,籍贯)(学号,姓名,性别,系别,年龄,籍贯)该记录型的一个记录值:该记录型的一个记录值: (900201,李明,男,计算机,李明,男,计算机,22,江苏),江苏)数据库系统模式的概念(续) 模式(Schema) 数据库中全体数据的逻辑结构和特征的描述数据库中全体数据的逻辑结构和特征的描述 仅是型的描述,不涉及具体的值仅是型的描述,不

28、涉及具体的值 反映数据的结构及其联系反映数据的结构及其联系 模式是相对稳定的模式是相对稳定的 模式的一个实例(Instance) 模式的一个具体值模式的一个具体值 反映数据库某一时刻的状态反映数据库某一时刻的状态 同一个模式可以有很多实例同一个模式可以有很多实例 实例随数据库中的数据的更新而变动实例随数据库中的数据的更新而变动数据库系统的三级模式结构:数据的三个抽象级别1模式(Schema) 模式(也称逻辑模式) 数据库中全体数据的逻辑结构和特征的描述数据库中全体数据的逻辑结构和特征的描述 所有用户的公共数据视图,综合了所有用户的需求所有用户的公共数据视图,综合了所有用户的需求 一个数据库只有

29、一个模式 模式的地位:是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关与数据的物理存储细节和硬件环境无关 与具体的应用程序、开发工具及高级程序设计语言无关与具体的应用程序、开发工具及高级程序设计语言无关 模式的定义 数据的逻辑结构(数据项的名字、类型、取值范围等)数据的逻辑结构(数据项的名字、类型、取值范围等) 数据之间的联系数据之间的联系 数据有关的安全性、完整性要求数据有关的安全性、完整性要求 由由DBMS提供的模式描述语言(模式提供的模式描述语言(模式DDL)实现定义)实现定义2. 外模式(External Schema) 外模式(也称子模式或用户模式) 数据库用户(包括

30、应用程序员和最终用户)使用的数据库用户(包括应用程序员和最终用户)使用的局部局部数据的逻辑结构和特征的描述数据的逻辑结构和特征的描述 数据库用户的数据视图,是与某一应用有关的数据数据库用户的数据视图,是与某一应用有关的数据的逻辑表示的逻辑表示外模式(续) 外模式的地位:介于模式与应用之间 模式与外模式的关系:一对多模式与外模式的关系:一对多 外模式通常是模式的子集外模式通常是模式的子集 一个数据库可以有多个外模式。反映了不同的用户一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求的应用需求、看待数据的方式、对数据保密的要求 对模式中同一数据,在外模式中的结

31、构、类型、长对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同度、保密级别等都可以不同 外模式与应用的关系:一对多 同一外模式也可以为某一用户的多个应用系统所使同一外模式也可以为某一用户的多个应用系统所使用,用, 但一个应用程序只能使用一个外模式但一个应用程序只能使用一个外模式。外模式(续) 外模式的用途保证数据库安全性的一个有力措施。保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据每个用户只能看见和访问所对应的外模式中的数据 由DBMS提供子模式描述语言定义3内模式(Internal Schema) 内模式(也称存储模式) 是数据物理结构和存储方

32、式的描述是数据物理结构和存储方式的描述 是数据在数据库内部的表示方式是数据在数据库内部的表示方式 记录的存储方式(顺序存储,按照记录的存储方式(顺序存储,按照B树结构存储,按树结构存储,按hash方法存储)方法存储) 索引的组织方式索引的组织方式 数据是否压缩存储数据是否压缩存储 数据是否加密数据是否加密 数据存储记录结构的规定数据存储记录结构的规定 一个数据库只有一个内模式 由DBMS提供的内模式描述语言定义1.3.2 数据库系统外部的体系结构 单用户结构 主从式结构 分布式结构 客户/服务器结构 浏览器/应用服务器/数据库服务器结构西华师范大学计算机学院数据库系统概论数据库系统概论第二章第

33、二章 关系数据库关系数据库第二章 关系数据库2.1 关系模型概述2.2 关系数据结构2.3 关系的完整性2.4 关系代数2.5 关系演算2.6 小结关系数据库简介 系统而严格地提出关系模型的是美国IBM公司的E.F.Codd 1970年提出关系数据模型 E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, Communication of the ACM,1970 之后,提出了关系代数和关系演算的概念 1972年提出了关系的第一、第二、第三范式 1974年提出了关系的BNF范式关系数据库简介 关系数据库应用数学方

34、法来处理数据库中的数据 80年代后,关系数据库系统成为最重要、最流行的数据库系统关系数据库简介 典型实验系统 System R University INGRES 典型商用系统 ORACLE SYBASE INFORMIX DB2 INGRES2.1 关系模型概述 关系数据库系统 是支持关系模型的数据库系统 关系模型的组成 关系数据结构 关系操作集合 关系完整性约束1. 关系数据结构 单一的数据结构-关系 现实世界的实体以及实体间的各种联系均用关系来表示 数据的逻辑结构-二维表 从用户角度,关系模型中数据的逻辑结构是一张二维表。 工工号号 姓姓名名 年年龄龄 性性别别 工工资资 4 40 00

35、 01 1 z zh ha an ng g 5 50 0 M M 2 20 00 00 0 4 40 00 02 2 l li i 4 40 0 F F 1 15 50 00 0 4 41 12 24 4 l li iu u 3 35 5 M M 2 20 00 00 0 5 50 01 18 8 w wa an ng g 2 25 5 M M 1 10 00 00 0 职工登记表 2. 关系操作集合 1) 常用的关系操作 2) 关系操作的特点 3) 关系数据语言的种类 4) 关系数据语言的特点1什么是关系模式关系模式(Relation Schema)是型关系是值关系模式是对关系的描述元组集合

36、的结构属性构成属性来自的域 属性与域之间的映象关系元组语义以及完整性约束条件元组语义:一个n目谓词(n:属性集中属性的个数);关系就是由符合元组语义的那部分元素,即令该n目谓词为真的笛卡尔积中的元素的全体构成的。属性间的数据依赖关系集合 2定义关系模式关系模式可以形式化地表示为: R(U,D,dom,F) R 关系名U 组成该关系的属性名集合D 属性组U中属性所来自的域dom 属性向域的映象集合F 属性间的数据依赖关系集合定义关系模式 (续)例:导师和研究生出自同一个域人,取不同的属性名,并在模式中定义属性向域的映象,即说明它们分别出自哪个域: dom(SUPERVISOR-PERSON)=

37、dom(POSTGRADUATE-PERSON)=PERSON定义关系模式 (续)关系模式通常可以简记为 R (U) 或 R (A1,A2,An) R 关系名A1,A2,An 属性名注:域名及属性向域的映象常常直接说明为 属性的类型、长度2.3 关系的完整性关系模型的完整性规则是对关系的某种约束条件。关系模型中三类完整性约束:实体完整性参照完整性用户定义的完整性实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性不变性,应该由关系系统自动支持。2.3.1 实体完整性实体完整性规则(Entity Integrity)若属性A是基本关系R的主属性,则属性A不能取空值例

38、SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE属性为主码(假设研究生不会重名),则其不能取空值实体完整性(续)关系模型必须遵守实体完整性规则的原因(1) 实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集或多对多联系。(2) 现实世界中的实体和实体间的联系都是可区分的,即它们具有某种唯一性标识。(3) 相应地,关系模型中以主码作为唯一性标识。实体完整性(续)关系模型必须遵守实体完整性规则的原因(续)(4) 主码中的属性即主属性不能取空值。 空值就是“不知道”或“无意义”的值。 主属性取空值,就说明存在某个不可标识的

39、实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性。实体完整性(续)注意实体完整性规则规定基本关系的所有主属性都不能取空值例选修(学号,课程号,成绩)“学号、课程号”为主码,则两个属性都不能取空值。2.3.2 参照完整性1. 关系间的引用2. 外码3. 参照完整性规则1. 关系间的引用在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。例1 学生实体、专业实体以及专业与学生 间的一对多联系 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名)学学 号号姓姓 名名性性 别别专专 业业 号号年年 龄龄8 0 1张张 三三女女0 1

40、1 98 0 2李李 四四男男0 12 08 0 3王王 五五男男0 12 08 0 4赵赵 六六女女0 22 08 0 5钱钱 七七男男0 21 9专专 业业 号号专专 业业 名名0 1信信 息息0 2数数 学学0 3计计 算算 机机学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)关系间的引用(续)例2 学生、课程、学生与课程之间的多对 多联系 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 课课程程号号课课程程名名学学分分01数数据据库库402数数据据结结构构403编编译译404PASCAL2学学 号号姓姓 名名性性 别别专专

41、业业 号号年年 龄龄8 0 1张张 三三女女0 11 98 0 2李李 四四男男0 12 08 0 3王王 五五男男0 12 08 0 4赵赵 六六女女0 22 08 0 5钱钱 七七男男0 21 9学学 号号课课 程程号号成成 绩绩801049280103788010285802038280204908030488学生学生学生选课学生选课课程课程2外码(Foreign Key)设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码基本关系R称为参照关系(Referencing Relation)基本关系S称为被参照关系(Referen

42、cedRelation)或目标关系(Target Relation)。外码(续)说明 关系R和S不一定是不同的关系 目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上 外码并不一定要与相应的主码同名 当外码与相应的主码属于不同关系时,往往 取相同的名字,以便于识别3. 参照完整性规则若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值。参照完整性规则(续)学生关系中每个元组的“专业号”属性只取下面两类值:(1)空值,表

43、示尚未给该学生分配专业(2)非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配到一个不存在的专业中参照完整性规则(续) 选修(学号,课程号,成绩)“学号”和“课程号”是选修关系中的主属性按照实体完整性和参照完整性规则,它们只能取相应被参照关系中已经存在的主码值关系的完整性(续) 2.3.1 实体完整性 2.3.2. 参照完整性 2.3.3. 用户定义的完整性2.3.3 用户定义的完整性 用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由

44、应用程序承担这一功能。用户定义的完整性(续)例: 课程(课程号,课程名,学分) “课程名”属性必须取唯一值 非主属性“课程名”也不能取空值 “学分”属性只能取值1,2,3,4第二章 关系数据库2.1 关系模型概述2.2 关系数据结构2.3 关系的完整性2.4 关系代数2.5 关系演算2.6 小结西华师范大学计算机学院第三章第三章 关系数据库标准语言关系数据库标准语言SQLSQL第三章 关系数据库标准语言SQL3.1 SQL概述3.2 数据定义3.3 查询3.4 数据更新3.5 视图3.6 数据控制3.7 嵌入式SQL3.8 小结SQL的产生与发展 1970年,美国IBM研究中心的E.F.Cod

45、d连续发表多篇论文,提出关系模型。1972年,IBM公司开始研制实验型关系数据库管理系统SYSTEM R,配制的查询语言称为SQUARE (Specifying Queries As Relational Expression )语言,在语言中使用了较多的数学符号。1974年,Boyce和Chamberlin把SQUARE修改为SEQUEL (Structured English QUEry Language )语言。后来SEQUEL简称为SQL (Structured Query Language ),即“结构式查询语言”,SQL的发音仍为“sequel”。 1986年10月美国国家标准局(

46、ANSI)数据库委员会批准了SQL作为关系数据库语言的美国标准。 同年公布了SQL标准文本(简称SQL-86)。 1987年6月, 国际标准化组织(ISO)将其采纳为国际标准。 在此之后, 对SQL进行修改和扩充的标准化工作不断进行着, 相继出现了SQL-89、 SQL2(1992)和SQL3(1999)。 SQL数据库的体系结构 SQ L用户视 图 1基 本 表 2存储文件 2基 本 表 1存储文件 1SQ L用户视 图 2基 本 表 3存储文件 3内模式模式外模式n从图中可以看出,模式与基本表相对应,外模式与视图相对应,内模式对应于存储文件。基本表和视图都是关系。1基本表(Base Tab

47、le) 基本表是模式的基本内容。每个基本表都是一个实际存在的关系。2视图(View)视图是外模式的基本单位,用户通过视图使用数据库中基于基本表的数据(基本表也可作为外模式使用)。一个视图虽然也是一个关系,但是它与基本表有着本质的区别。任何一个视图都是从已有的若干关系导出的关系,它只是逻辑上的定义,实际并不存在。在导出时,给出一个视图的定义(从哪几个关系中,根据什么标准选取数据,组成一个什么视图与基本表 名称的关系等),此定义存放在数据库(数据字典)中,但没有真正执行此定义(并未真正生成此关系)。当使用某一视图查询时,将实时从数据字典中调出此视图的定义;根据此定义以及现场查询条件,从规定的若干关

48、系中取出数据,组织成查询结果,展现给用户。因此,视图是虚表,实际并不存在,只有定义存放在数据字典中。 当然,用户可在视图上再定义视图,就像在基本表上定义视图一样,因为视图也是关系。视图与基本表(续) 3存储文件存储文件是内模式的基本单位。每一个存储文件存储一个或多个基本表的内容。一个基本表可有若干索引,索引也存储在存储文件中。存储文件的存储结构对用户是透明的。下面将介绍SQL的基本语句。各厂商的RDBMS实际使用的SQL语言,与标准SQL语言都有所差异及扩充。因此,具体使用时,应参阅实际系统的有关手册。 3.1 SQL概述 SQL的特点 1. 综合统一 2. 高度非过程化 3. 面向集合的操作

49、方式 4. 以同一种语法结构提供两种使用方法 5. 语言简洁,易学易用5. 语言简捷,易学易用表表 3.1 SQL语语言言的的动动词词SQL 功功 能能动动 词词数数 据据 定定 义义CREATE, DROP, ALTER数数 据据 查查 询询SELECT数数 据据 操操 纵纵INSERT,UPDATEDELETE数数 据据 控控 制制GRANT,REVOKE第四章 关系系统及其查询优化4.1 关系系统4.2 关系系统的查询优化4.3 小结关系系统 能够在一定程度上支持关系模型的数据库管理系统是关系系统。 由于关系模型中并非每一部分都是同等重要的 并不苛求一个实际的关系系统必须完全支持关系模型

50、。 西华师范大学计算机学院第五章第五章 关系数据理论关系数据理论第五章 关系数据理论5.1 问题的提出5.2 规范化5.3 小结5.1 问题的提出关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式 数据库逻辑设计的工具关系数据库的规范化理论问题的提出一、概念回顾二、关系模式的形式化定义三、什么是数据依赖四、关系模式的简化定义五、数据依赖对关系模式影响一、概念回顾 关系:描述实体、属性、实体间的联系。 从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。 关系模式:用来定义关系。 关系数据库:基于关系模型的数据库,利用关系来描述现实世界。 从形式上看,它由一组关系组成。

51、关系数据库的模式:定义这组关系的关系模式的全体。二、关系模式的形式化定义关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F)R: 关系名U: 组成该关系的属性名集合D: 属性组U中属性所来自的域DOM:属性向域的映象集合F: 属性间数据的依赖关系集合三、什么是数据依赖客观世界的事务间有着错综复杂的联系。 实体间的联系有两类,一类是实体与实体之间的联系; 另一类是实体内部各属性间的联系。 属性间的联系可分为以下三类: 一对一关系(1 1)以职工模式为例: 职工(职工号,姓名,职称,部门),如果该企业(或单位)中职工无重名,则属性职工号与姓名之间是1 1关系。 一个职工号唯一地

52、决定一个姓名,一个姓名也可决定唯一的职工号。 设X、 Y是关系R的两个属性(集)。 如果对于X中的任一具体值,Y中至多有一个值与之对应,且反之亦然,则称X、 Y两属性间是一对一关系。 一对多关系(1 m) 职工模式中,职工号和职称间是一对多关系。 一个职工号只对应一种职称(如胡一民只能对应工程师),但一种职称却可对应多个职工号(如工程师可对应多名职工)。 设X、 Y是关系R的两个属性(集)。 如果对于X中的任一具体值,Y中至多有一个值与之对应,而Y中的一个值却可以和X中的n个值(n0)相对应,则称Y对X是一对多关系。 多对多关系(m m) 在职工模式中,职称和部门之间是多对多关系。 一种职称可

53、分布在多个部门中(如每一个部门中均可有工程师),而一个部门中也可有多个职称。 设X、 Y是关系R的两个属性(集)。 如果对于X中的任一具体值,Y中有m(m0)个值与之对应,而Y中的一个值也可以和X中的n个值(n0)相对应,则称Y对X是多对多关系。 什么是数据依赖上述属性间的三种关系实际上是属性值之间相互依赖又相互制约的反映,称为属性间的数据依赖。2. 数据依赖 是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系 是现实世界属性间相互联系的抽象 是数据内在的性质 是语义的体现什么是数据依赖(续)3. 数据依赖的类型 函数依赖(Functional Dependency,简记为FD) 多

54、值依赖(Multivalued Dependency,简记为MVD) 连接依赖(Join Dependency,简称JD)其中最重要的是函数依赖和多值依赖。 四、关系模式的简化表示关系模式R(U, D, DOM, F) 简化为一个三元组: R(U, F)当且仅当U上的一个关系r 满足F时,r称为关系模式 R(U, F)的一个关系五、数据依赖对关系模式的影响例:描述学校的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程名(Cname)成绩(Grade)单一的关系模式 : Student U Sno, Sdept, Mname, Cname, Grade 数据依赖对

55、关系模式的影响(续)学校数据库的语义: 一个系有若干学生, 一个学生只属于一个系; 一个系只有一名主任; 一个学生可以选修多门课程, 每门课程有若干学生选修; 每个学生所学的每门课程都有一个成绩。 数据依赖对关系模式的影响(续)属性组U上的一组函数依赖F: F Sno Sdept, Sdept Mname, (Sno, Cname) Grade SnoCnameSdeptMnameGrade用有向图表示属性间函数依赖,结点表示属性,方框包含若干结点表示属性组合,有向箭头表示函数依赖。关系模式Student中存在的问题 数据冗余太大 浪费大量的存储空间 例:每一个系主任的姓名重复出现 更新异常(

56、Update Anomalies) 数据冗余 ,更新数据时,维护数据完整性代价大。例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组关系模式Student中存在的问题 插入异常(Insertion Anomalies) 该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。 删除异常(Deletion Anomalies) 不该删除的数据不得不删例,如果某个系的学生全部毕业了, 我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。数据依赖对关系模式的影响(续)结论: Student关系模式不是一个好的模式。 “好”的模式:不会发

57、生插入异常、删除异常、更新异常,数据冗余应尽可能少。原因:由存在于模式中的某些数据依赖引起的解决方法:通过分解关系模式来消除其中不合适 的数据依赖。5.2 规范化 规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。5.2.1 函数依赖一、函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖一、函数依赖函数依赖是属性之间的一种联系。 假设给定一个属性的值,就可以唯一确定(查到)另一个属性的值。 例如,知道职工号的值,可以得出其对应的职称的值。 如果这种情况成立, 就可以说职称函数依赖于职

58、工号。定义5.1 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作XY。 X称为这个函数依赖的决定属性集(Determinant)。 Y=f(x)说明: 1. 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 例如“姓名年龄”这个函数依赖只有在不允许有同名人的条件下成立3. 数据库设计者可以对现实世界作强制的规

59、定。例如规定不允许同名人出现,函数依赖“姓名年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。函数依赖(续)例: Student(Sno, Sname, Ssex, Sage, Sdept) 假设不允许重名,则有:Sno Ssex, Sno Sage , Sno Sdept, Sno Sname, Sname Ssex, Sname SageSname Sdept但Ssex Sage若XY,并且YX, 则记为XY。 若Y不函数依赖于X, 则记为XY。前面讨论的属性间的三种关系,并不是每一种关系中都存在函数依赖。 如果两属性集X、 Y间是1 1关系,则存在函

60、数依赖: XY。 如职工关系模式中,如果不允许同名职工存在,则有: 职工号姓名。 如果两属性集X、 Y间是1 m关系,则存在函数依赖:YX。 如: 职工号职称,职工号部门。 如果两属性集X、 Y间是m n关系,则不存在函数依赖。 如职称与部门之间即如此。 二、平凡函数依赖与非平凡函数依赖在关系模式R(U)中,对于U的子集X和Y,如果XY,但Y X,则称XY是非平凡的函数依赖若XY,但Y X, 则称XY是平凡的函数依赖例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) Grade 平凡函数依赖: (Sno, Cno) Sno (Sno, Cno) Cno

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论