第1章 理解数据库_第1页
第1章 理解数据库_第2页
第1章 理解数据库_第3页
第1章 理解数据库_第4页
第1章 理解数据库_第5页
已阅读5页,还剩158页未读 继续免费阅读

下载本文档

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

文档简介

任课人:cws第1章

理解数据库1.11.21.31.41.5数据库系统应用实例1.图书馆数据库系统的应用一个查询应用程序界面数据库系统应用实例1.图书馆数据库系统的应用一个应用程序界面查询结果1.11.21.31.41.5数据库系统应用实例1.图书馆数据库系统的应用图书馆数据库1.11.21.31.41.5数据库系统应用实例韩山图书馆查询系统:1.11.21.31.41.5数据库系统应用实例图书馆数据库系统工作原理用户通过应用程序输入查询条件,应用程序将查询条件转换为查询命令,将该命令发给DBMS;DBMS根据接收到的查询命令从图书馆数据库中取出数据返回给应用程序;应用程序按用户通俗易懂的格式显示查询结果。1.11.21.31.41.5数据库系统应用实例概括:(1)数据库由若干张相互关联的表格组成。(2)数据库管理系统是一个管理数据库的软件。(3)数据库系统的组成。1.11.21.31.41.5应用程序应用程序应用程序DBMSDBJAVA源程序代码SQL语句最常见的数据库应用程序(1)-用户注册最常见的数据库应用程序(2)-论坛章节内容1.1什么是数据1.2数据描述1.3数据模型1.4关系代数(结合第4章)1.5数据库系统的组成和结构161.11.21.31.41.51.1什么是数据?本节概念:信息数据数据处理1.11.21.31.41.51.1.1信息与数据数据定义:指存储在某种介质上能够识别的物理符号,是信息的载体,这些符号可以是数,字符或者其他。数据包括:数值型数据:是以数字表示信息;非数值型数据:是以符号及其组合来表示信息。例如字符、文字、图表、图形、图像、声音等均属于非数值型数据。1.11.21.31.41.51.1.1信息与数据数据表示:型:指数据内容存储在媒体上的具体形式值:指所描述的客观事物的具体特性例:一个人的身高:这个人的身高有1.8米。信息型数字字符值1.801米81.11.21.31.41.51.1.1信息与数据信息定义:是经过加工处理并对人类社会实践和生产活动产生决策影响的数据。是经过处理后的数据,是整理过的数据。信息具有实效性,有用性,知识性,是客观世界的反映。1.11.21.31.41.5信息与数据区别?信息与数据之间存在固有的联系:数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。任何事物的属性都是通过数据来表示的。数据经过加以处理之后,成为信息。而信息必须通过数据才能传播,才能对人类有影响。1.11.21.31.41.5信息与数据区别?例如:一组数据1、3、5、7、9、11、13、15它是一组数据,如果我们对它进行分析便可以得出它是一组等差数列,我们可以比较容易地知道后面的数字,那么它便是一条信息。它是有用的数据。又如:数据1、3、2、4、5、1、41它不能告诉我们任何东西,故它不是信息。1.11.21.31.41.51.11.21.31.41.51.1.2数据处理数据处理定义:是指将数据转换成信息的过程,也称信息处理。内容:数据的收集、组织、整理、存储、加工、维护、查询和传播等一系列活动。目的:从大量的数据中,提取有效的信息资源。1.1.2数据处理数据与信息之间的关系:信息=数据+数据处理:1.11.21.31.41.51.1.2数据处理数据处理的工作:数据管理它的主要任务是收集信息,将信息用数据表示并按类别组织保存。数据加工它的主要任务是对数据进行变换、抽取和运算。数据传播通过数据传播,信息在空间或时间上以各种形式传递。1.11.21.31.41.51.1.2数据处理数据处理随着数据处理量的增长,产生了数据管理技术。

数据管理技术的数据处理是指从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。例如,某省全体高考学生各门课程成绩的总分按从高到低的顺序进行排序、统计各个分数段的人数等,进而可以根据招生人数确定录取分数线。1.11.21.31.41.51.2数据描述本节概念:现实世界信息世界数据世界/机器世界1.11.21.31.41.51.2数据描述客观存在的事物转换成数据的形式存储到计算机中,经历了3个领域:现实世界、信息世界和数据世界。现实世界事物事物性质信息世界实体实体属性数据世界记录数据项1.11.21.31.41.51.2.1现实世界现实世界是存在于人们头脑之外的客观世界。例如:学校中有教师、学生、课程,学生选修课程并取得成绩,教师为学生授课,并录入学生的成绩存入学生的档案,即成绩管理等;图书馆中有图书、管理员和读者,读者借阅图书,管理员对图书和读者进行管理等。1.11.21.31.41.51.2.2信息世界信息世界是现实世界在人们头脑中的反映,人们把它用文字或符号记载下来。1.11.21.31.41.51.2.2信息世界在信息世界中,有以下与数据库技术相关的术语:实体属性码域实体型实体集联系1.11.21.31.41.51.2.2信息世界1.实体客观存在并且可以相互区别的事物称为实体。可表示:具体的事物如,一个学生、一本图书等属于实际事物抽象的事件如,教师的授课、借阅图书、比赛等活动是比较抽象的事件——对应一个数据库表的一条记录。1.11.21.31.41.51.2.2信息世界2.属性描述实体的特性称为属性。一个实体可以用若干个属性来描述,如学生实体由学号、姓名、性别、出生日期等若干个属性组成。实体属性的组成:型:也称属性名——例:学生姓名、学号和性别等值:——例:

“张三”、“2008050101”、“女”——对应一个数据库表的字段。1.11.21.31.41.51.2.2信息世界3.码唯一标识实体的属性或属性的组合称为码。例:学生的学号是学生实体的码。——对应一个数据库表的主键。1.11.21.31.41.51.2.2信息世界4.域属性的取值范围称为该属性的域。例:学号的域为10位整数姓名的域为字符串集合年龄的域为小于28的整数性别的域为男、女1.11.21.31.41.51.2.2信息世界5.实体型用实体名及其属性名的集合来抽象和刻画同类实体,称为实体型。例:学生(学号,姓名,性别,出生日期,系)就是一个实体型。——对应,数据库的一个表结构1.11.21.31.41.51.2.2信息世界6.实体集同类实体的集合称为实体集。例:全体学生、一批图书等。——对应一个数据库表(包括整个表数据)。1.11.21.31.41.51.2.2信息世界联系在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体间的都存在什么样的联系呢?1.11.21.31.41.51.2.2信息世界联系两个实体型之间的联系可以分为3类:一对一联系一对多联系多对多联系1.11.21.31.41.5联系分类一对一联系如果对于实体集A中的每一个实体,实体集B中至多存在一个实体与之联系;反之亦然,则称实体集A与实体集B之间存在一对一联系,记作1∶1。例:班级:班长电影院中观众:座位1.11.21.31.41.5联系分类一对多联系如果对于实体集A中的每一个实体,实体集B中存在多个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中至多只存在一个实体与之联系,则称实体集A与实体集B之间存在一对多的联系,记作1∶n。例:班级:学生职工:部门1.11.21.31.41.5联系分类多对多联系如果对于实体集A中的每一个实体,实体集B中存在多个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中也存在多个实体与之联系,则称实体集A与实体集B之间存在多对多联系,记作m∶n。例:学生:课程药厂:药品1.11.21.31.41.5联系分类例如:(a)1∶1联系(b)1∶n联系(c)m∶n联系1.11.21.31.41.5联系分类两个以上的实体集之间也存在着一对一、一对多、多对多的联系。1.11.21.31.41.5联系分类同一实体集内部的各实体也可以存在一对一、一对多、多对多的联系。1.11.21.31.41.51.2.3数据世界数据世界,又称机器世界。信息世界的信息在机器世界中以数据形式存储。实体→记录实体的属性→数据项(又称字段)现实世界中的事物及其联系→数据模型1.11.21.31.41.51.2.2信息世界现实世界中客观对象的抽象过程1.11.21.31.41.51.3数据模型数据模型对现实世界数据特征进行抽象,来描述数据库的结构与语义。理解本节概念:数据模型概念模型关系模型关系模型的完整性约束1.11.21.31.41.51.3.1数据模型的分类1.概念数据模型简称为概念模型,表示实体类型和实体间的联系,独立于计算机系统模型。用于建立信息世界的数据模型,强调其语义表达功能,要求概念简单、清晰,易于用户理解是现实世界的第一层抽象;是用户和数据库设计人员之间进行交流的工具。2.结构数据模型简称为数据模型,涉及计算机系统和DBMS的模型,例如层次模型、网状模型、关系模型等。它是直接面向数据库的逻辑结构是现实世界的第二层抽象数据模型有严格的形式化定义,以便于在计算机系统中实现。1.11.21.31.41.51.11.21.31.41.51.3数据模型概念模型的表示方法概念模型的表示方法很多,其中最为著名和使用最为广泛的是P.P.Chen于1976年提出的E-R(Entity-Relationship)模型。1.3数据模型E-R模型主要成分是实体、联系和属性。E-R模型的图形表示称为E-R图,设计E-R图的方法称为E-R方法。E-R模型的概念设计,分为3步:首先设计局部E-R模型;然后把各个局部E-R模型综合成一个全局E-R模型最后对全局E-R模型进行优化,得到最终的E-R模型。1.11.21.31.41.51.3数据模型E-R图通用的表示方式如下(以班级和学生关系为例):用矩形框表示实体型,框内标上实体名。用椭圆形框表示实体的属性,并用无向边把实体和属性连接起来。用菱形框表示实体间的联系,框内标上联系名用无向边分别把菱形框与有关实体连接起来,在无向边旁注明联系的类型。若联系也有属性,则把属性和菱形框也用无向边连接起来。1.11.21.31.41.51.3数据模型班级与学生的E-R图1.11.21.31.41.51.3数据模型课程与学生的E-R图1.11.21.31.41.51.3数据模型E-R模型有两个明显的优点:接近于人的思维,容易理解与计算机无关,用户容易接受。1.11.21.31.41.51.3.1数据模型的分类1.概念数据模型简称为概念模型,表示实体类型和实体间的联系,独立于计算机系统模型。用于建立信息世界的数据模型,强调其语义表达功能,要求概念简单、清晰,易于用户理解是现实世界的第一层抽象;是用户和数据库设计人员之间进行交流的工具。2.结构数据模型简称为数据模型,涉及计算机系统和DBMS的模型,例如层次模型、网状模型、关系模型等。它是直接面向数据库的逻辑结构是现实世界的第二层抽象数据模型有严格的形式化定义,以便于在计算机系统中实现。1.11.21.31.41.51.3.3数据模型的要素和种类数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特征(数据结构)、动态特征(数据操作)和数据约束条件,这是数据模型的三要素。数据结构数据操作数据约束条件1.11.21.31.41.5数据模型的三要素1)数据结构是所研究的对象类型的集合,这些对象是数据库的组成部分;包括两个方面:数据本身:数据的类型、内容和性质等。例如关系模型中的域、属性、关系等。数据之间的联系:数据之间是如何相互关联的。例如关系模型中的主码、外码联系等。1.11.21.31.41.5数据模型的三要素2)数据操作数据操作是对数据库中的各种对象(型)的实例(值)允许执行的操作集合。数据操作包括操作对象及有关的操作规则,主要有检索和更新(包括插入、删除和修改)两类。1.11.21.31.41.5数据模型的三要素3)数据约束条件数据约束条件是一组完整性规则的集合。完整性规则是给定数据模型中的数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确、有效、相容。1.11.21.31.41.5常见的数据模型数据模型是数据库系统的一个关键概念,数据模型不同,相应的数据库系统就完全不同,任何一个数据库管理系统都是基于某种数据模型的。目前数据库管理系统所支持的数据模型分为4种:层次模型、网状模型、关系模型和关系对象模型。关系模型结构简单,数据之间的关系容易实现,因此关系模型是目前广泛使用的数据模型,并且关系数据库也是目前流行的数据库。1.11.21.31.41.51.3.4关系模型关系模型是目前最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式。关系模型是在20世纪70年代初由美国IBM公司的E.F.Codd提出的,为数据库技术的发展奠定了理论基础。由于E.F.Codd的杰出工作,他于1981年获得ACM图灵奖。1.11.21.31.41.51.3.4关系模型关系模型的数据结构关系模型与以往的模型不同,它是建立在严格的数据概念基础上的。关系模型中数据的逻辑结构是一张二维表,它由行和列组成。1.11.21.31.41.51.3.4关系模型下面分别介绍关系模型中的相关术语。关系元组属性域分量候选码主码全码主属性和非主属性关系模式1.11.21.31.41.5关系模型的术语关系一个关系就是一张二维表。学号姓名年龄性别所在系2007X1201李小双18女信息系2007D1204张小玉20女电子系2007J1206王大鹏19男计算机系……………1.11.21.31.41.5关系模型的术语元组(记录)关系表中的每行对应一个元组,组成元组的元素称为分量。数据库中的一个实体或实体之间的一个联系均使用一个元组来表示。学号姓名年龄性别所在系2007X1201李小双18女信息系2007D1204张小玉20女电子系2007J1206王大鹏19男计算机系……………1.11.21.31.41.5关系模型的术语属性表中的一列即为一个属性,给每个属性取一个名称为属性名。属性具有型和值两层含义:属性的型指属性名和属性值域;属性的值是指属性具体的取值。1.11.21.31.41.5关系模型的术语属性关系中的属性名具有标识列的作用,所以在同一个关系中的属性名(列名)不能相同。一个关系中通常有个多个属性,属性用于表示实体的特征。学号姓名年龄性别所在系2007X1201李小双18女信息系2007D1204张小玉20女电子系2007J1206王大鹏19男计算机系……………1.11.21.31.41.5关系模型的术语域属性的取值范围。如:性别属性的域是“男”、“女”大学生的年龄属性域可以设置为10~30等。学号姓名年龄性别所在系2007X1201李小双18女信息系2007D1204张小玉20女电子系2007J1206王大鹏19男计算机系……………1.11.21.31.41.5关系模型的术语分量元组中的一个属性值。如:“李小双”“男”学号姓名年龄性别所在系2007X1201李小双18女信息系2007D1204张小玉20女电子系2007J1206王大鹏19男计算机系……………1.3数据模型候选码(码)若关系中的某一属性或属性组的值能唯一标识一个元组,则称该属性或属性组为候选码。学号姓名年龄性别所在系2007X1201李小双18女信息系2007D1204张小玉20女电子系2007J1206王大鹏19男计算机系……………1.11.21.31.41.51.3数据模型主码/主键若一个关系中有多个候选码,则选定其中一个为主码。学号姓名年龄性别所在系2007X1201李小双18女信息系2007D1204张小玉20女电子系2007J1206王大鹏19男计算机系……………1.11.21.31.41.5关系模型的术语全码关系模式的所有属性是这个关系模式的候选码,称为全码。全码是候选码的特例。例如,设有以下关系:学生选课(学号,课程)其中的“学号”和“课程”相互独立,属性间不存在依赖关系,它的码就是全码。1.11.21.31.41.5关系模型的术语主属性和非主属性在关系中,候选码中的属性称为主属性不包含在任何候选码中的属性称为非主属性1.11.21.31.41.5关系模型的术语关系模式关系的描述称为关系模式,它可以形式化地表示为R(U,D,Dom,F)。其中:R为关系名;U为组成该关系的属性的集合;D为属性组U中的属性所来自的域;Dom为属性向域的映像集合;F为属性间数据依赖关系的集合。1.11.21.31.41.5关系模型的术语关系模式关系模式通常可以简记为R(U)或R(A1,A2,…,An)。其中R为关系名,A1,A2,…,An为属性名。而域名及属性向域的映像常直接称为属性的类型及长度。例如,关系学生学籍表的关系模式可以表示为:学生学籍表(学号,姓名,年龄,性别,所在系)。1.11.21.31.41.5关系模型的术语关系模式在一个给定的应用领域中,所有实体及实体间的联系的集合就构成一个关系数据库。1.11.21.31.41.5关系的性质(1)同一属性的数据具有同质性即每一列中的分量是同一类型的数据,它们来自同一个域。(2)同一关系的属性名具有不可重复性即同一关系中不同属性的数据可出自同一个域,但不同的属性要给予不同的属性名。(3)关系中列的位置具有顺序无关性即列的次序可以任意交换、重新组织。1.11.21.31.41.5关系的性质(4)关系具有元组无冗余性即关系中的任意两个元组不能完全相同。(5)关系中元组的位置具有顺序无关性即元组的顺序可以任意交换。(6)关系中每个分量必须取原子值即每个分量都必须是不可分的数据项。1.11.21.31.41.5关系的性质规范化的关系简称范式;例如:1.11.21.31.41.51.3.5关系的完整性关系模型中允许定义3类完整性约束:实体完整性参照完整性用户自定义的完整性其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,称为两个不变性,应该由关系系统自动支持;用户自定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。1.11.21.31.41.5实体完整性规则1.1实体完整性规则若属性A是基本关系R的主属性,则属性A不能取空值。例如学生关系“学生(学号,姓名,性别,专业号,年龄)”“学号”为主码,则“学号”不能取空值。1.11.21.31.41.5实体完整性实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是指主码不能取空值。例如,学生选课关系“选修(学号,课程号,成绩)”,“学号、课程号”为候选码,则“学号”和“课程号”两个属性都不能取空值。1.11.21.31.41.5实体完整性对于实体完整性规则说明如下。(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应信息世界的一个实体集,例如学生关系对应于学生的集合。(2)信息世界中的实体是可区分的,即它们具有某种唯一性标识。(3)关系模型中以主码作为唯一性标识。(4)主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“不确定”的值1.11.21.31.41.5参照完整性【例1-1】学生关系和专业关系表示如下,其中主码用下划线标识。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)结论:关系中某个属性的取值需要参照其他关系的属性来取值。1.11.21.31.41.5参照完整性【例1-2】学生、课程、学生与课程之间的多对多联系选修可以用如下3个关系表示。学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)结论:关系中某些属性的取值需要参照其他关系的属性来取值1.11.21.31.41.5参照完整性【例1-3】关系:学生(学号,姓名,性别,专业号,年龄,班长)结论:同一个关系内部某些属性间也可能存在引用关系。1.11.21.31.41.5参照完整性定义2.5设F是基本关系R的一个或一组属性,但不是关系R的主码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码(ForeignKey),并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。关系R和关系S有可能是同一关系。被参照关系S的主码Ks和参照关系R的外码F必须定义在同一个(或一组)域上。1.11.21.31.41.5参照完整性【例1-1】学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)“专业号”是学生关系的外码,专业关系是被参照关系,学生关系是参照关系。1.11.21.31.41.5参照完整性【例1-2】学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)“学号”和“课程号”是选修关系的外码,学生关系和课程关系是被参照关系,选修关系是参照关系。1.11.21.31.41.5参照完整性【例1-3】关系:学生(学号,姓名,性别,专业号,年龄,班长)“班长”是外码,学生关系既是被参照关系,也是参照关系。1.11.21.31.41.5参照完整性规则2.2参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S有可能是同一关系),则对于R中每个元组在F上的值必须为以下值之一。(1)取空值(F的每个属性值均为空值)。(2)或者等于S中某个元组的主码值。1.11.21.31.41.5参照完整性【例1-1】学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)“专业号”只能取以下两类值:空值,表示尚未给该学生分配专业;非空值,其值必须是专业关系中某个元组的“专业号”值;1.11.21.31.41.5用户自定义的完整性用户自定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如,某个属性必须取唯一值、属性值之间应满足一定的函数关系、某属性的取值范围在0~100之间等。例如,性别只能取“男”或“女”;学生的成绩必须在0~100之间。1.11.21.31.41.51.4关系代数理解概念什么是关系代数传统的集合运算关系的选择、投影及连接操作1.11.21.31.41.51.4关系代数关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它用关系的运算来表达查询。运算的三大要素:运算对象运算符运算结果关系代数:关系集合运算符专门的关系运算符比较运算符逻辑运算符关系1.11.21.31.41.51.4关系代数关系代数运算符运算符含义运算符含义集合运算符∪-∩×并差交广义笛卡儿积比较运算符>≥<≤=≠大于大于等于小于小于等于等于不等于专门的关系运算符σπ∞÷选择投影连接除逻辑运算符∧∨非与或

1.11.21.31.41.51.4关系代数关系代数的运算按运算符的不同可分为:传统的集合运算并、交、差、广义笛卡尔积专门的关系运算选择、投影、连接、除等1.11.21.31.41.51.4.1传统的集合运算传统的集合运算是二目运算,包括并交差广义笛卡儿积设关系R和关系S具有相同的目n(即两个关系都具有n个属性),且相应的属性取自同一个域,则可以定义并、差、交运算如下:1.11.21.31.41.51.4.1传统的集合运算1.并(Union)关系R与关系S的并记作:

R∪S={t│tRtS},t是元组变量。其结果关系仍为n目关系,由属于R或属于S的元组组成。1.11.21.31.41.51.4.1传统的集合运算1.并(Union)ABCa1b1c1a1b2c2a2b2c1a1b3c2

R∪SABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.1传统的集合运算2.差(Difference)关系R与关系S的差记作:R-S={t│tRt

S},t是元组变量。其结果关系仍为n目关系,由属于R而不属于S的所有元组组成。1.11.21.31.41.51.4.1传统的集合运算2.差(Difference)

R-SABCa1b1c1ABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.1传统的集合运算3.交(Intersection)关系R与关系S的交记作:R∩S={t│tRtS},t是元组变量其结果关系仍为n目关系,由既属于R又属于S的元组组成。1.11.21.31.41.51.4.1传统的集合运算3.交(Intersection)

R∩SABCa1b2c2a2b2c1ABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.1传统的集合运算4.广义笛卡儿积(ExtendedCartesianProduct)两个分别为n目和m目的关系R和S的广义笛卡儿积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡儿积有kl×k2个元组。记作:R×S={

│trRtsS}1.11.21.31.41.51.4.1传统的集合运算

R×SR.AR.BR.CS.AS.BS.Ca1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1ABCABCa1b1c1a1b2c2a1b2c2a1b3c2a2b2c1a2b2c11.11.21.31.41.51.4.2专门的关系运算专门的关系运算包括:选择投影连接除1.11.21.31.41.51.4.2专门的关系运算选择(Selection)(限制)是在关系R中选择满足给定条件的诸元组,记作:

σF(R)={t|tRF(t)=‘真’}其中,F表示选择条件,它是一个逻辑表达式,取逻辑值为“真”或“假”。选择运算实际上是从关系R中选取使逻辑表达式F为真的元组,这是从行的角度进行的运算。1.11.21.31.41.5选择逻辑表达式F的基本形式为:

X1θY1[ΦX2θY2ΦX3θY3…]其中,θ表示比较运算符,它可以是>、、<、、=或≠;X1、Y1是属性名、常量或简单函数,属性名也可以用它的序号(如1,2,…)来代替;Φ表示逻辑运算符,它可以是(非)、∧(与)或∨(或);[]表示任选项,即[]中的部分可要可不要;…表示上述格式可以重复下去。1.11.21.31.41.5选择设有一个学生-课程数据库,它包括以下内容。其关系模式如下。Student(sno,sname,ssex,sage,sdept)Course(cno,cname)Score(sno,cno,degree)1.11.21.31.41.5选择【例1.4】查询数学系学生的信息,如下。σSdept='数学系'(Student)或σ5='数学系'(Student)1.11.21.31.41.5选择【例1-5】查询年龄小于20岁的学生的信息σSage<20(Student)或σ4<20

(Student)1.11.21.31.41.51.4.2专门的关系运算投影(Projection)关系R上的投影是从R中选择出若干属性列组成新的关系,记作:

πA(R)={t[A]|tR}其中A为R中的属性列。投影操作是从列的角度进行的运算。投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复元组,关系操作将自动取消相同的元组。1.11.21.31.41.5投影【例1.6】查询学生的学号和姓名。πSno,Sname(Student)或π1,2(Student)1.11.21.31.41.5投影【例1-7】查询学生关系Student中都有哪些系,即查询学生关系Student在所在系属性上的投影。πSdept(Student)或π5(Student)1.11.21.31.41.51.4.2专门的关系运算连接(Join)连接也称为θ连接,它是从两个关系的笛卡儿积中选取属性间满足一定条件的元组,记作:其中A和B分别为R和S上数目相等且可比的属性组,θ是比较运算符。连接运算是从R和S的笛卡儿积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上的值满足比较关系θ的元组。1.11.21.31.41.5连接设关系R、S分别如表一般连接C<E的结果见表1.11.21.31.41.51.4.2专门的关系运算连接运算中,有两种最重要、最常见的连接:等值连接:

θ为“=”的连接运算;自然连接:是一种特殊的等值连接;1.11.21.31.41.5连接等值连接θ为“=”的连接运算称为等值连接,它是从关系R与S的笛卡儿积中选取A、B属性值相等的那些元组,等值连接为:1.11.21.31.41.5连接自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,即若R和S具有相同的属性组B,则自然连接可记作:1.11.21.31.41.5连接设关系R、S分别如表等值连接R.B=S.B的结果见表1.11.21.31.41.5连接设关系R、S分别如表自然连接的结果见表1.11.21.31.41.51.4.2专门的关系运算除(Division)给定关系R(X,Y)和S(Y,Z),其中X,Y可以为单个属性或属性组,关系R中的Y与关系S中的Y可以有不同的属性名,但必须出自相同的域。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作:R÷S={tr[X]│trRπy(S)Yx};其中Yx为x在R中的象集,x=tr[X];1.11.21.31.41.5除除(Division)除操作是同时从行和列的角度进行的运算。除操作适合于包含“对于所有的/全部的”语句的查询操作。1.11.21.31.41.5除【例1.9】设关系R,S分别见表1-12(a)、(b),则R÷S的结果见1-12(c)。R={X,Y},S={Y,Z}其中,X={A},Y={B,C},Z={D}1.11.21.31.41.5除R={X,Y},S={Y,Z}其中,X={A},Y={B,C},Z={D}YX={a1}={{b1,c2},{b2,c3},{b2,c1}}YX={a2}={{b3,c5},{b2,c3}}YX={a3}={{b4,c4}}YX={a4}={{b6,c4}}1.11.21.31.41.5除R={X,Y},S={Y,Z}其中,X={A},Y={B,C},Z={D}YX={a1}={{b1,c2},{b2,c3},{b2,c1}}YX={a2}={{b3,c5},{b2,c3}}YX={a3}={{b4,c4}}YX={a4}={{b6,c4}}πy(S)={{b1,c2},{b2,c3},{b2,c1}}YX={a1}因此,R÷S={a1}1.11.21.31.41.5R÷S一般用于关系R中X各个值的像集Y是否包含关系S中属性Y的所有值;也可看成RS÷S的结构在R和S的联系RS中,找出与S中所有的元组有关系的R元组”。1.4.2专门的关系运算关系代数操作举例(强化训练)在关系代数中,关系代数运算经过有限次复合后形成的式子称为关系代数表达式。对关系数据库中数据的查询操作可以写成一个关系代数表达式,或者说,写成一个关系代数表达式就表示已经完成了查询操作。1.11.21.31.41.5关系代数操作举例设学生-课程数据库中有3个关系。学生关系:S(Sno,Sname,Ssex,Sage)课程关系:C(Cno,Cname,Teacher)学习关系:SC(Sno,Cno,Degree)(1)查询学习课程号为C3号课程的学生学号和成绩。πSno,Degree(σCno='C3'(SC))1.11.21.31.41.5关系代数操作举例设学生-课程数据库中有3个关系。学生关系:S(Sno,Sname,Ssex,Sage)课程关系:C(Cno,Cname,Teacher)学习关系:SC(Sno,Cno,Degree)(2)查询学习课程号为C4课程的学生学号和姓名。πSno,Sname(σCno='C4'(S∞SC))1.11.21.31.41.5关系代数操作举例设学生-课程数据库中有3个关系。学生关系:S(Sno,Sname,Ssex,Sage)课程关系:C(Cno,Cname,Teacher)学习关系:SC(Sno,Cno,Degree)(3)查询学习课程名为maths的学生学号和姓名。πSno,Sname(σCname='maths'(S∞SC∞C))1.11.21.31.41.5关系代数操作举例设学生-课程数据库中有3个关系。学生关系:S(Sno,Sname,Ssex,Sage)课程关系:C(Cno,Cname,Teacher)学习关系:SC(Sno,Cno,Degree)(4)查询学习课程号为C1或C3课程的学生学号。πSno(σCno=‘C1’∨Cno=‘C3’(SC))1.11.21.31.41.5关系代数操作举例设学生-课程数据库中有3个关系。学生关系:S(Sno,Sname,Ssex,Sage)课程关系:C(Cno,Cname,Teacher)学习关系:SC(Sno,Cno,Degree)(5)查询不学习课程号为C2的学生的姓名和年龄。πSname,Sage(S)-πSname,Sage(σCno='C2''(S∞SC))1.11.21.31.41.5关系代数操作举例设学生-课程数据库中有3个关系。学生关系:S(Sno,Sname,Ssex,Sage)课程关系:C(Cno,Cname,Teacher)学习关系:SC(Sno,Cno,Degree)(6)查询学习全部课程的学生姓名。πSname(S∞(πSno,Cno(SC)÷πCno(C)))1.11.21.31.41.5关系代数操作举例设学生-课程数据库中有3个关系。学生关系:S(Sno,Sname,Ssex,Sage)课程关系:C(Cno,Cname,Teacher)学习关系:SC(Sno,Cno,Degree)(7)查询所学课程包括200701所学课程的学生学号。πSno,Cno(SC)÷πCno(σSno='200701'(SC))1.11.21.31.41.51.5数据库系统的组成和结构本节任务数据库相关概念数据库系统的体系结构1.11.21.31.41.51.5.1数据库相关概念1.数据库数据库(DataBase,DB)是一个有结构的、集成的、可共享的统一管理的数据集合。它不仅包括数据本身,而且包括相关数据之间的联系。数据库技术主要研究如何存储、使用和管理数据。1.11.21.31.41.51.5.1数据库相关概念1.数据库所谓有结构的,指的是数据是按一定的模型组织起来的。数据模型可用数据结构来描述。数据模型决定数据的组织方式、操作方法。理解数据库的前提是理解数据模型。现在的数据库多数是以关系模型来组织数据的。可以简单地把关系模型的数据结构-关系理解成为一张二维表。1.11.21.31.41.51.5.1数据库相关概念1.数据库所谓集成的,是指数据库中集中存放着企业各种各样的数据。集中存放的好处是:一个数据只需一个备份,重复存储少,即消除了数据的冗余。没有数据冗余,也就能保证数据的一致。1.11.21.31.41.51.5.1数据库相关概念1.数据库所谓共享,指的是数据库中的数据可以被不同的用户使用。也就是说,每一个用户可以按自己的要求访问相同的数据库。所谓统一管理的,指的是数据库由DBMS统一管理,任何数据访问都是通过DBMS来完成的。1.11.21.31.41.51.5.1数据库相关概念2.数据库管理系统数据库管理系统(DataBaseManagementSystem,DBMS)是位于用户与操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制,它是数据库系统的核心。1.11.21.31.41.51.5.1数据库相关概念2.数据库管理系统所有访问数据库的请求都由DBMS来完成的。DBMS提供了操作数据库的许多命令(语言),即SQL语言。1.11.21.31.41.51.5.1数据库相关概念2.数据库管理系统数据库管理系统一般由计算机软件公司提供,目前比较流行的DBMS有VisualFoxPro、Access、Sybase、SQLServer、Oracle等。1.11.21.31.41.51.5.1数据库相关概念3.数据库应用系统凡使用数据库技术管理其数据的系统都称为数据库应用系统(DataBaseApplicationSystem)。应用程序是用户与数据库之间的桥梁。应用程序与DBMS交互,DBMS访问DB。数据库应用系统可以用于事务管理、计算机辅助设计、计算机图形分析和处理及人工智能等系统中。1.11.21.31.41.51.5.1数据库相关概念4.数据库系统数据库系统(DataBaseSystem,DBS)是指在计算机系统中引入数据库后的系统。它由计算机硬件、数据库、数据库管理系统(及其开发工具)、数据库应用系统、数据库用户构成。1.11.21.31.41.5

温馨提示

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

评论

0/150

提交评论