收藏 分享(赏)

数据库原理_精品课件.ppt

上传人:精品资料 文档编号:10374929 上传时间:2019-11-04 格式:PPT 页数:445 大小:8.39MB
下载 相关 举报
数据库原理_精品课件.ppt_第1页
第1页 / 共445页
数据库原理_精品课件.ppt_第2页
第2页 / 共445页
数据库原理_精品课件.ppt_第3页
第3页 / 共445页
数据库原理_精品课件.ppt_第4页
第4页 / 共445页
数据库原理_精品课件.ppt_第5页
第5页 / 共445页
点击查看更多>>
资源描述

1、2019/11/4,数据库系统,1,本章要求:,1 数据库系统概述,4 数据库系统的组成,2 数据模型,3 DBS的结构,本章内容:,1、了解数据管理的发展过程 2、掌握数据库系统的基本概念和主要特点 3、掌握数据库系统的三级模式结构和数据库系统的组成 4、掌握实体、记录等有关概念和三种数据模型,请选择内容,返回,2019/11/4,数据库系统,2,一、基本概念 1、数据:描述事务的符号记录。可用文字、图形等多种形式表示,经数字化处理后可存入计算机。 2、数据库(DB):按一定的数据模型组织、描述和存储在计算机内的、有组织的、可共享的数据集合。 3、数据库管理系统(DBMS):位于用户和操作系

2、统之间的一层数据管理软件。主要功能包括:数据定义功能:DBMS提供DDL,用户通过它定义数据对象。数据操纵功能:DBMS提供DML,用户通过它实现对数据库的查询、插入、删除和修改等操作。,1 数据库系统概述,2019/11/4,数据库系统,3,数据库的运行管理:DBMS对数据库的建立、运行和维护进行统一管理、统一控制,以保证数据的安全性、完整性、并发控制及故障恢复。数据库的建立和维护功能:数据库初始数据的输入、转换,数据库的转储、恢复、重新组织及性能监视与分析等。 4、数据库系统(DBS):计算机中引入数据库后的系统,包括数据库DB数据库管理系统DBMS应用系统数据库管理员DBA和用户,201

3、9/11/4,数据库系统,4,二、数据管理与数据处理1、数据管理:对数据收集、整理、组织、存储、维护、检索、传送等,对象,操作,目标:在妥当的时候以妥当的形式给妥当的人提供妥当的数据。,2、数据处理:对数据进行加工、计算、提炼,从而产生新的有效数据的过程,数据,信息,2019/11/4,数据库系统,5,3、管理与处理的关系:管理是处理的基础处理为管理服务,数据处理,数据处理,源数据,新数据,新数据,管理和处理又可看成一个问题的两个阶段,故可以统一起来,其中心是管理,数据管理,数据管理,2019/11/4,数据库系统,6,三、数据管理的发展阶段 人工管理阶段(50年代中期以前) 文件系统阶段(5

4、0年代中期至60年代后期) 数据库系统阶段(60年代后期以后),2019/11/4,数据库系统,7,1、人工管理阶段(程序员管理阶段)特点:, 数据不保存 程序员负责数据管理的一切工作 数据和程序一一对应,没有独立性和共享性,数据和程序的关系:,应用程序1,数据1,应用程序2,数据2,应用程序n,数据n,2019/11/4,数据库系统,8,又可分为两个阶段(1)60年代初期出现了初等的文件系统 主要特点:,组织方式:顺序文件数据结构:物理结构 = 逻辑结构软件功能:仅有简单I/O操作,(2 )60年代中期出现了成熟的文件系统 主要特点:,组织方式:顺序和随机存取并用数据结构:物理结构和逻辑结构

5、有了简单的变换软件功能:软件系统提供了存取方法,硬件:有了大容量直接存储外存设备,如磁盘、磁鼓等 软件:有了专门的数据管理软件-文件系统 处理方式:有批处理、联机实时处理等,2、文件系统阶段,基 础,2019/11/4,数据库系统,9,三个主要缺点: 数据高度冗余:数据基本上还是面向应用或特定用户的。 数据共享困难:文件基本上是私有的,只能提供很弱的文件级共享 数据和程序缺乏独立性:只有一定的物理独立性,完全没有逻辑独立性。,应用程序1,数据1,应用程序2,数据2,应用程序n,数据n,数据与程序的关系:,存取方法,操作系统负责,2019/11/4,数据库系统,10,3、数据库系统阶段文件系统不

6、能适应大数据量、多应用共享数据的根本原因:数据没有集中管理数据库方法的基本出发点:把数据统一管理、控制,共享使用,应用程序1,应用程序2,应用程序n,数据与程序的关系:,DBMS,数 据 库,2019/11/4,数据库系统,11,(1) 数据高度结构化集成,面向全组织 (2) 数据共享性好。可为多个不同的用户共同使用 (3) 数据冗余少,易扩充 (4) 数据和程序的独立性高,物理独立性: 存储结构变,逻辑结构可以不变,从而应用程序也不必改变。,逻辑独立性: 总体逻辑结构变,局部逻辑结构可以不变,从而应用程序也不必改变。,好处:简化应用程序的编写和维护,(5)数据控制统一安全性控制:防止泄密和破

7、坏完整性控制:正确、有效、相容并发控制: 多用户并发操作的协调控制故障恢复:发生故障时,将数据库恢复到正确状态,主 要 优 点,2019/11/4,数据库系统,12,4、各个阶段的比较:从四个方面,人工管理 文件系统 数据库系统,谁管理数据,面向谁,共享性,数据独立性,程序员,特定应用,不能,没有,操作系统提供存取方法,系统集中管理,基本上是特定用户,共享很弱,面向系统,充分共享,一定的物理独立性,较高的独立性,文件系统和数据库系统的本质区别: 内部:数据库的数据是结构化的,有联系的文件系统的各记录无联系,外部:数据库系统是共享的文件系统基本上是面向特定用户的,2019/11/4,数据库系统,

8、13,2 数据模型,数据处理的抽象过程(涉及三个领域), 建立概念模型 建立数据模型(便于用户和DB设计人员交流) (便于机器实现)一、概念模型(信息模型)把现实世界中的客观对象抽象成的某种信息结构,主要用于数据库设计。 独立于具体的计算机系统独立于具体的DBMS支持的数据模型,现实世界 = 信息世界,抽象,= 机器世界(数据世界),转换,2019/11/4,数据库系统,14,实体:客观存在并可相互区分的事物。 实体集:性质相同的同类实体的集合。 属性: 实体具有的某一特性。 实体标识符:能将一个实体与其它实体区分开来的一个或一组属性。,信 息 世 界,记录 实体 (抽象表示) 文件 实体集

9、字段或数据项 属性 关键字 实体标识符。唯一地标识一个记录。又称码、键。,数 据 世 界,1、实体与记录,2019/11/4,数据库系统,15,2、型与值在DBS中,每一个对象广义上讲都有型与值之分:型是对象的结构或特性描述,值是一个具体的对象实例。,类似于程序设计语言中数据类型与数据值的概念。,(1)实体型:对实体固有特性或结构的描述。用实体名及其属性名集合来抽象和刻画。如 汽车(车牌号,车型,车主),实体值:实体型的一个实例,即一个具体的实体。如 (豫A00001,丰田,张三),(2) 记录型:记录格式。记录值:一个具体的记录。,2019/11/4,数据库系统,16,如:,(3)几点说明

10、区分型与值的实质 DBS中讨论的重点是型 通常只说实体、记录,含义根据上下文自明,3、实体间的联系 实体内部的联系(属性间的联系):反映在数据上就是记录内部数据项间的联系, 实体之间的联系:反映在数据上就是记录之间的联系,2019/11/4,数据库系统,17,(1) 1对1联系(1 :1):两个实体集中的每一个实体至多和另一个实体集中的一个实体有联系。,如 国家 部长学员队 学员,(2) 1对多联系(1 :n):若实体集A中的每个实体与实体集B中0个或多个实体有联系,而B中每个实体至多与A中的一个实体有联系,则称从A到B为1对多的联系。,如 国家 总统学员队 队长,实体之间的联系可归结为三类:

11、,(3) 多对多联系(m :n):两个实体集中的每一个实体都和另一个实体集中0个或多个实体有联系。,如 学员 课程,2019/11/4,数据库系统,18,DBS的核心问题之一:如何表示和处理实体及实体间的联系。,4、概念模型的表示方法之一:实体联系方法(Entity-Relationship Approach)用ER图( Entity-Relationship Diagram)描述: 实体型:用长方形表示联系 :用菱形表示属性 :用椭圆形表示 框内写上相应的名称 用无向边连接:,2019/11/4,数据库系统,19,说明: 联系也必须命名 多个实体之间也可以有联系, 联系也可以有属性,单个实体

12、之间也可以有联系,2019/11/4,数据库系统,20,例:某工厂物资管理E-R图(P20),2019/11/4,数据库系统,21,二、数据模型是对现实世界进行抽象的工具,它按计算机系统的观点对数据建模,用于提供数据库系统中信息表示和操作手段的形式框架,主要用于DBMS的实现,是数据库系统的核心和基础。,1、常用的数据模型层次模型 网状模型 关系模型 面向对象模型,称作非关系模型,是下 列基本层次联系的集合,Ri,Rj是实体型(记录型) Lij是从Ri到Rj的1:1或1:n联系,2019/11/4,数据库系统,22,2、数据模型 的 三要素,形式化描述数据、 数据之间的联系 以及数据操作 和有

13、关的语义 约束规则的方法,数据结构,数据操作,完整性约束,如何保证数据的 约束条件得到满足,如 何 实 现 查、增、删、改,如何表示 实体及联系 (难点是表示联系),根据现实世界实体间联系的特征 用四种不同的方法进行抽象,(因此,是按照数据结构 的类型来命名数据模型),(动态),(静态),2019/11/4,数据库系统,23,3、层次模型根据一个单位的组织结构直观地得出,方框表示一个实体型(结点)线表示联系(边),(1)定义:用树形结构来表示实体以及实体间联系的模型。其特征是:(a)有且仅有一个结点无双亲(根结点);(b)其它结点有且仅有一个双亲。,2019/11/4,数据库系统,24,(2)

14、说明:(a)树中实体间联系只能是从父到子的1:1或1:n联系,对m:n联系,须使用辅助手段转换成多个1:n联系,但不易掌握(b)简单直观,结构清晰,运行效率高,但编程复杂,4、网状模型(1)定义:用图结构来表示实体以及实体间联系的模型。其特征是:任一结点都可以无双亲或有一个以上的双亲。,例,2019/11/4,数据库系统,25,(2)优:可表示m:n的联系,运行效率高缺:过于复杂,实现困难,(3)说明(a)即使对网状模型,具体在计算机上实现时,m:n 的联系仍需分解成若干个1:n的联系。(因此,网状模型的图结构实质上是有向图),如,课程成绩单,学生成绩单,2019/11/4,数据库系统,26,

15、(b)网状模型中允许两结点间有多条边,层次模型则不允许,5、关系模型层次、网状模型基本上是面向专业人员的,使用极不方便问题:寻找一种能面向一般用户的数据模型?(1)定义:用二维表(关系)来描述实体及实体间联系的模型。,(2)示例,2019/11/4,数据库系统,27,供应商S,零件P,(联系)供应SP,关系:对应一张表,每表起一个名称即关系名 元组:表中的一行 属性:表中一列,每列起一个名称即属性名 主码:唯一确定一个元组的属 性组 域:属性的取值范围,2019/11/4,数据库系统,28,(3)关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,属性n),(4)优点: 无论实体还是实

16、体之间的联系都用统一的数据结构(二维表、关系)来表示,可方便地表示m:n联系,因此概念简单,用户易懂易用如:,可表示为:学生(学号,姓名,性别,系和年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩), 表格中行、列次序无关 有坚实的理论基础(关系理论),2019/11/4,数据库系统,29, 存取路径对用户透明,用户只需指出“做什么”,不需说明“怎么做”,因此数据独立性更高,缺点:由于存取路径对用户透明,查询效率不够高,必须对查询请求进行优化。,说明:关系必须规范化,关系的每个分量必须是一个不可分的数据项,不允许表中套表。规范化理论将在后续章节讲解。,(5)关系模型与非关系模型的比较

17、,统一 不统一 均为关系,对用户透明 对用户不透明,一次一集合 一次一记录,2019/11/4,数据库系统,30,三级模式(外模式、模式、内模式) 两级映象(外模式/模式,模式/内模式映象),一、DBS的三级模式结构1、模式(Schema):又称逻辑模式。DB的全局逻辑结构。即DB中全体数据的逻辑结构和特征的描述。,说明 模式只涉及到型的描述,不涉及具体的值(实例),反映的是数据的结构及其联系 模式不涉及物理存储细节和硬件环境,也与应用程序无关 模式承上启下,是DB设计的关键 DBS提供模式DDL(Data Definition Language)来定义模式(描述DB结构),3 DBS的结构,

18、2019/11/4,数据库系统,31, 模式定义的任务 (概念模型 模式)定义全局逻辑结构(构成记录的属性名、类型、宽度等)定义有关的安全性、完整性要求定义记录间的联系 一个数据库只有一个模式,2 、外模式:又称子模式或用户模式。DB的局部逻辑结构。即与某一应用有关的数据的一个逻辑表示。,说明: 外模式是某个用户的数据视图,模式是所有用户的公共数据视图; 一个DB只能有一个模式,但可以有多个外模式; 外模式通常是模式的子集,但可以在结构、类型、长度等方面有差异; DBS提供外模式DDL。,2019/11/4,数据库系统,32,3、内模式:又称存储模式。数据的物理结构和存储方式的描述。即DB中数

19、据的内部表示方式。,说明: 一个数据库只有一个内模式 DBS提供内模式DDL; 内模式定义的任务,4、两级映象及其作用(1)外模式/模式映象:定义外模式和模式间的对应关系。对应同一个模式可以有多个外模式,对每个外模式都有一个外模式/模式映象。作用:模式变,可修改映象使外模式保持不变,从而应用程序不必修改,保证了程序和数据的逻辑独立性。,2019/11/4,数据库系统,33,(2)模式/内模式映象:定义DB全局逻辑结构和存储结构间的对应关系。一个数据库只有一个模式,也只有一个内模式,因此模式/内模式的映象也是唯一的。作用:存储结构变,可修改映象使逻辑结构(模式)保持不变,从而应用程序不必修改,保

20、证了数据与程序的物理独立性。,2019/11/4,数据库系统,34,4 数据库系统的组成,1、数据库:一个或多个数据库数据库的四要素:用户数据、元数据、索引和应用元数据 2、 软件 操作系统;支持DBMS的运行 数据库管理系统 DBMS(DataBase Management System):操纵和管理数据库的大型软件系统,是数据库系统的核心 数据库应用开发工具等辅助软件 具有数据库接口的高级语言与编译系统,如C、C+等 某个数据库应用系统,一、数据库系统(DataBase System,DBS)的组成广义上讲,DBS就是计算机系统中引进数据库后的构成。有下面四部分:,2019/11/4,数据

21、库系统,35,3、人员用户 应用程序员 数据库管理员DBA,(使用),(开发),(管理),DBA(Data Base dministrator)的职责: 决定数据库的内容和逻辑结构、存储结构 确定数据的安全性要求和完整性约束条件 监控数据库的使用和运行,维护数据库 决定数据库的存储结构和存储策略 负责数据库的改进和重组重构,4、硬件计算机及有关设备,要求有足够大的内、外存储容量及较高的处理速度。,2019/11/4,数据库系统,36,数据库系统图示:,用户1,用户2,用户n,应用程序1,应用程序m,辅助软件,DBMS,操作系统,数据库,数据库,DBA 负责,应用 程序员, , , ,2019/

22、11/4,数据库系统,37,二、数据库系统研究的对象如何高效巧妙地进行数据管理,而又花费最少,如:占用空间少查询快维护方便等,三个主要研究领域:DBMS及其辅助软件数据库设计数据库理论,作业:3,5,7,12,13,20,22,2019/11/4,数据库系统数据库系统,38,本章要求:,本章内容:,请选择内容,返回,1、掌握关系、关系模式、关系数据库等基本概念 2、掌握关系的三类完整性的含义 3、掌握关系代数运算,1 关系模型的基本概念,2 RDBS的数据操纵语言:关系代数,3 RDBS的数据操纵语言:关系演算语言,2019/11/4,数据库系统数据库系统,39,层次、网状数据库是面向专业人员

23、的,使用很不方便。程序员必须经过良好的培训,对所使用的系统有深入的了解才能用好系统。关系数据库就是要解决这一问题,使它成为面向用户的系统。,关系数据库是应用数学方法来处理数据的。它具有结构简单、理论基础坚实、数据独立性高以及提供非过程性语言等优点。,1 关系模型的基本概念,2019/11/4,数据库系统数据库系统,40,一、关系的数学定义1、域(Domain): 值的集合。它们具有相同的数据类型,语义上通常指某一对象的取值范围。例如:全体整数,0到100之间的整数,长度不超过10的字符串集合,2、笛卡尔积(Cartesian Product):设D1、D2、Dn是n个域, 则它们的笛卡尔积为

24、D1D2Dn=(d1,d2,dn) | di Di, i=1,2,n其中每一个元素称为一个n元组(n-tuple), 简称元组;元组中的每个值di称为一个分量(component).,2019/11/4,数据库系统数据库系统,41,笛卡尔积可以写成一个二维表,例如: 设 D1=张三,李四,D2=数学,语文,D3=优,良 则D1D2D3可用二维表表示为:,张三 数学 优 张三 数学 良 张三 语文 优 张三 语文 良 李四 数学 优 李四 数学 良 李四 语文 优 李四 语文 良,3、关系(Relation)笛卡尔积D1D2Dn的子集合,记作 R(D1,D2,Dn),2019/11/4,数据库系

25、统数据库系统,42,4、说明 关系是一个二维表。 每行对应一个元组。 每列可起一个名字,称为属性。属性的取值范围为一个域,元组中的一个属性值是一个分量。,5、关系的性质 列是同质的,即每列中的数据必须来自同一个域 每一列必须是不可再分的数据项(不允许表中套表,即满足第一范式) 不能有相同的行 行、列次序无关,2019/11/4,数据库系统数据库系统,43,二、关系模型三部分:关系数据结构、关系操作集合、关系的完整性(一)数据结构1、单一的数据结构:关系(二维表)不论是实体还是实体间的联系都用关系表示。实体值 关系的元组,在关系数据库中通常称为记录属性值 元组的分量,在关系数据库中通常称为字段关

26、键字(码):唯一标识一个元组的属性组,关键字可以有多个,统称候选关键字。在使用时,通常选定一个作为主关键字。主关键字的诸属性称为主属性,其它为非主属性。,2019/11/4,数据库系统数据库系统,44,关系数据库模式:对关系数据库的描述,包括域的定义及在域上定义的所有关系模式。 关系数据库:所有实体及实体间联系的关系的集合。是某时刻所有关系模式对应的关系的集合。,2、关系模式:关系的描述。 包括关系名、诸属性名、属性向域的映象、属性间的依赖。,关系的型,一个元组为关系的一个值,表示: R(U,D,dom,F),属性的类型、长度等,值,型,2019/11/4,数据库系统数据库系统,45,3、关系

27、的三种类型基本关系:客观存在的基本表查询表:由基本表按一定条件检索得到的结果视图(View): 从一个或多个基本关系上导出的关系。它不对应实际的存储数据,是一个虚关系,然而可永久存在。相当于关系模型的外模式。,由于二维表的存储策略非常简单,关于数据库的物理存储完全由DBMS自动完成。因此,在关系模型中不需要与内模式相应的概念。,关系简单吗?,2019/11/4,数据库系统数据库系统,46,(二)关系操作1、种类:选择、投影、连接、除、并、交、差增加、删除、修改,一次一集合(关系型) 一次一记录(非关系型), 非过程化语言:用户只需告诉做什么(What)不需告诉怎么做(How), 数据定义、数据

28、操纵、数据控制语言集成在一起,2、特点: 集合操作,一次操作可存取多个元组,2019/11/4,数据库系统数据库系统,47,(三)关系模型的三类完整性1、实体完整性(Entity Integrity)基本关系的所有主属性不能取空值原因:基本关系 实体集,实体必可区分 (标识符),主关键字是 唯一性标识, 故不能空,2、参照完整性(Referential Integrity),也叫引用完整性若基本关系R含有与另一个基本关系S的主关键字相对应的属性组F(F称为R的外键或外部码),则R中每个元组在F上的值或为空值,或等于S中某个元组的主关键字值。,2019/11/4,数据库系统数据库系统,48,例:

29、 职工关系 EMP(ENO,ENAME,DNO)部门关系 DEPT(DNO,DNAME),DEPT的主键,EMP的外键,只能取空值或DEPT中某关键字的值,又如:学生关系(SNO,SNAME,AGE,SEX)课程关系(CNO,CNAME)选课关系(SNO,CNO,G),3、用户定义的完整性用户定义的某一属性值必须满足的语义要求。一经定义,DBMS会自动检查,从而不必在应用程序中作检查。,本节开头,下一节,本章开头,2019/11/4,数据库系统数据库系统,49,3、差(Difference): R S = t | tRtS,一、传统的集合运算1、并(Union): R S = t | tRtS

30、 2、交(Intersection):R S = t | tRtS,2 RDBS的数据操纵语言:关系代数,关系代数的运算对象是关系,运算结果也为关系。其运算按运算符的不同可分为两类。,4、笛卡尔积(广义): R S = trts | tr R ts S,2019/11/4,数据库系统数据库系统,50,二、专门的关系运算1、选择(Selection),又称限制(Restriction),在关系R中选出满足条件F的诸元组形成一个新关系。,2、投影(Projection),:在R中选出若干属性列组成一个新关系。,投影后若有重复行,则自动保留一个,从行的角度的运算,从列的角度的运算,2019/11/4

31、,数据库系统数据库系统,51,当为等号且A、B两属性相同时,称为自然连接,记作,3、连接(Join),:从两个关系的笛卡尔积中选取属性间满足条件A B的元组。,说明:,自然连接将去掉重复属性,连接是同时处理多个关系的重要运算,2019/11/4,数据库系统数据库系统,52,?,4、除(Division)R(X,Y) S(Y,Z):把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组,例:求至少选修C1、C3课程的学生号码,设一临时关系K:C#,C1 C3,关系代数表达式, S1, ,S# C# G,S1 C1 A S1 C2 A S1 C3 A S

32、1 C5 B S2 C1 B S2 C2 C S2 C4 C S3 C2 B S3 C3 C S3 C4 B S4 C1 B S4 C3 A,SC:,按S1分组,2019/11/4,数据库系统数据库系统,53, S1, ,S1 C1 A S1 C2 A S1 C3 A S1 C5 B S2 C1 B S2 C2 C S2 C4 C S3 C2 B S3 C3 C S3 C4 B S4 C1 B S4 C3 A,4、除(Division)R(X,Y) S(Y,Z):把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组,例:求至少选修C1、C3课程的学

33、生号码,设一临时关系K:C#,C1 C3,关系代数表达式,S# C# G,SC:,按S2分组,2019/11/4,数据库系统数据库系统,54,S1 C1 A S1 C2 A S1 C3 A S1 C5 B S2 C1 B S2 C2 C S2 C4 C S3 C2 B S3 C3 C S3 C4 B S4 C1 B S4 C3 A, S1, ,4、除(Division)R(X,Y) S(Y,Z):把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组,例:求至少选修C1、C3课程的学生号码,设一临时关系K:C#,C1 C3,关系代数表达式,S# C#

34、 G,SC:,按S3分组,2019/11/4,数据库系统数据库系统,55, S1, ,4、除(Division)R(X,Y) S(Y,Z):把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组,例:求至少选修C1、C3课程的学生号码,设一临时关系K:C#,C1 C3,关系代数表达式,S# C# G,SC:,按S4分组, S1, S4 ,S1 C1 A S1 C2 A S1 C3 A S1 C5 B S2 C1 B S2 C2 C S2 C4 C S3 C2 B S3 C3 C S3 C4 B S4 C1 B S4 C3 A,2019/11/4,数据

35、库系统数据库系统,56,三、关系代数运算举例,S: S# SN SD SA,S1 A CS 20 S2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22,C: C# CN PC#,C1 G C2 H C1 C3 I C2 C4 J C2 C5 K C4,S1 C1 A S1 C2 A S1 C3 A S1 C5 B S2 C1 B S2 C2 C S2 C4 C S3 C2 B S3 C3 C S3 C4 B S4 C2 B S4 C5 D S5 C2 C S5 C3 B S5 C5 B S6 C1 A S6 C5 A,求至少选修这样一门课

36、的学生姓名,这门课的直接先行课是C2, 先找出先行课为C2的课程号:, 找选修该类课程的学生学号:,记为PCS, 找出学生姓名:,2019/11/4,数据库系统数据库系统,57,本节开头,下一节,本章开头,最终的关系代数表达式:,说明:用关系代数表示查询时,若查询涉及多个关系,需用连接操作实现;若查询诸如“选修了全部课程”的学生、“使用了全部零件”的工程等,需用除法操作实现。 作业:1,4,5,6,2019/11/4,数据库系统数据库系统,58,一、元组关系演算1、元组关系演算表达式:,关系演算:基于谓词演算,面向元组:谓词变量的获得值是关系中的元组(元组变量) 面向域:谓词变量的获得值是关系

37、中某属性的值(域变量),按谓词变量的特征划分, t | (t) ,运算的结果 还是一个关系,3 RDBS的数据操纵语言:关系演算语言,2019/11/4,数据库系统数据库系统,59,2、原子公式 R (t): 表示t是关系R中的一个元组 tiuj: 表示t的第i个分量和u的第j个分量满足比较关系 tiC 或 C ti :含义同上,只不过C为常量,3、公式的递归定义(1)每个原子公式是一个公式;(2)设1、2是公式,则 1、 1 2、 1 2 也是公式;(3)设是公式,t是元组变量,则 ( t) 、 ( t) 也是公式;(4)除此之外没有其它形式的公式。,2019/11/4,数据库系统数据库系统

38、,60,4、关系代数运算均可用关系演算来表示,反之亦然见教材P71。,S: S# SN SD SA,5、用关系演算来表达查询例1,求年龄大于或等于20的学生:,S1 A CS 20 S2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22,S20 = t | S(t) t420 ,例2,求学生姓名及所在的系:,S1= t (2) | ( u )(S(u) t1=u2 t2=u3 ),S1 A CS 20 S2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22,2019/11/4,数据库系统

39、数据库系统,61,4、关系代数运算均可用关系演算来表示,反之亦然见教材P106。,S: S# SN SD SA,5、用关系演算来表达查询例如,求年龄大于或等于20的学生:,S1 A CS 20 S2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22,6、安全表达式:不产生无限关系和无穷验证的关系演算表达式。,措施;进行 安全限制 。即规定一个有限的符号集(通常取关系的各属性列中所有值的汇集),S20 = t | S(t) t420 ,2019/11/4,数据库系统数据库系统,62,安全演算表达式的充分条件:设DOM() 是适当选定的一个有限

40、集合, 当满足下述条件时, 元组演算表达式 t | (t) 是安全的:(1) 如果 t 使(t)为真, 则 t 的每个分量是DOM()中的元素;,(2) 对于(t)中每一个形如 (u)(W(u) 的子表达式, 若 u 使W(u)为真, 则 u 的每个分量是DOM()中的元素;(3) 对于(t)中每一个形如 (u)(W(u) 的子表达式, 若 u 使W(u)为假, 则 u 的每个分量是DOM()中的元素; 换言之, 若 u 的某一分量不属于DOM(), 则W(u)为真,限定自由变量, 保证结果的有限性,限定约束变量, 保证计算过程的有穷验证性,2019/11/4,数据库系统数据库系统,63,二、

41、未实现的元组关系演算语言ALPHAE. F. Codd提出,但并未实现。1、检索操作(GET)(1)不设元组变量 例:取出计算机系学生的学号:,GET W (S.S#):,S.SD=CS,2019/11/4,数据库系统数据库系统,64,二、未实现的元组关系演算语言ALPHAE. F. Codd提出,但并未实现。1、检索操作(GET)(1)不设元组变量 例:取出计算机系学生的学号:,相当于原子公式tiC,GET W (1) (S.S#):,S.SD=CS,(事实上关系名起到元组变量的作用),相当于投影,取出一个计算机系学生的学号,GET W (S.S#):,S.SD=CS,定额,2019/11/

42、4,数据库系统数据库系统,65,(2) 使用元组变量应用场合,用较短的名字代替较长的关系名 使用量词时,例 查找不选C1课程的学生姓名,RANGE SC X GET W (S.SN): X(X.S# S.S# X.C# C1),查找选修全部课程的学生姓名,RANGE C CX RANGE SC SCX GET W(S.SN): CXSCX(SCX.S# =S.S# SCX.C# =CX.C#),2019/11/4,数据库系统数据库系统,66,2、存储操作(1)修改:UPDATE(2)插入:PUT(3)删除:DELETE 参阅教材P67-P69。,关键字不能修改, 只能先删除、再插入,2019/

43、11/4,数据库系统数据库系统,67,四、域关系演算语言QBEQBE是Query By Example 的缩写,1978年在IBM370上实现。1、特点,用户通过表格形式提出查询,查询结果也通过表格显示出来用户容易掌握,易学易用,三、域关系演算与元组关系演算类似,只不过这里的变量取值范围是属性值,其谓词变元称作欲变量,关系的属性名可视作欲变量。关系代数、元组关系演算、域关系演算的表达能力是等价的。,2019/11/4,数据库系统数据库系统,68,2、使用方法(1) 用户提出使用要求(如键入某一命令)(2) 机器显示空白表格,(3) 用户输入关系名如 学生关系 S,S,(4)机器自动显示属性名,

44、S#,SN,SD,SA,2019/11/4,数据库系统数据库系统,69,2、使用方法(1) 用户提出使用要求(如键入某一命令)(2) 机器显示空白表格,(3) 用户输入关系名如 学生关系 S,(4) 机器自动显示属性名,(5) 提出查询要求如 查询计算机系的学生姓名和年龄,P.张三,CS,P.30,查询条件SD=CS,示例元素,(任选一个可能的值),2019/11/4,数据库系统数据库系统,70,3、其他例子:(1)查询操作 例1:查计算机系年龄大于19的学生姓名,两个条件写两行, 示例元素相同, 表示 条件之间是“与”的关系,示例元素不同, 表示 条件之间是“或”的关系,例2:查计算机系或年

45、龄 大于19的学生姓名,2019/11/4,数据库系统数据库系统,71,例3:查选修C2的学生名字 (涉及两个关系,需要连接操作),P.张三,S1,S1,C2,不同关系中的 两个示例元素相同, 表示了连接操作。,2019/11/4,数据库系统数据库系统,72,(2) 修改操作修改操作符为“U.”,不允许修改主码,若要修改主码,需先删除元组,再插入。,U. CS,S1,CS,S1,U.,修改操作不包含表达式,可有两种表示方法。,例2:将计算机系所有学生的年龄增加1岁。,CS,S1,U.,例1:把学号为S1的学生转入计算机系。,19,S1,19+1,2019/11/4,数据库系统数据库系统,73,

46、(3) 插入操作 操作符为“I.”,新元组必须包含码,其他属性值可为空。,例:,(4)删除操作 操作符为“D.”。 例:删除计算机系的学生。,2019/11/4,数据库系统数据库系统,74,本章要求:,本章内容:,请选择内容,返回,1、掌握SQL定义基本表和建立索引的方法 2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制 5、了解嵌入式SQL的基本使用方法,1 SQL概述,2 SQL数据定义功能,3 SQL数据操纵功能,4 视图,5 SQL数据控制功能,6 嵌入式SQL,2019/11/4,数据库系统数据库系统,75,一、SQL 的发展

47、SQL是 Structured Query Language的缩写(ANSI解释为Standard Query Language)74年 Boyce &Chambarlin提出,在IBM的System R上首先实现,79年 Oracle 82年 IBM的DB2 84年 Sybase,采用SQL作为数据库语言,1 SQL概述,2019/11/4,数据库系统数据库系统,76,二、SQL的主要特点,1、一体化:两方面集DDL、DML、DCL为一体实体和联系都是关系,因此每种操作只需一种操作符,86年10月 成为美国国家标准 87年 国际标准化组织(ISO)采纳为国际标准 89年 ISO推出SQL89 92年 ISO推出SQL2 目前正制定SQL3标准,2019/11/4,数据库系统数据库系统,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报