电子教案-《数据库原理及应用》-刘玉宝_第1页
电子教案-《数据库原理及应用》-刘玉宝_第2页
电子教案-《数据库原理及应用》-刘玉宝_第3页
电子教案-《数据库原理及应用》-刘玉宝_第4页
电子教案-《数据库原理及应用》-刘玉宝_第5页
已阅读5页,还剩409页未读 继续免费阅读

下载本文档

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

文档简介

30一月2025第10章数据库新技术概述

本章要点分布式数据库的概念、特点和体系结构面向对象数据库的理论和实现方法数据仓库技术数据挖掘技术30一月2025

新一代的数据库技术主要体现在以下几个方面:

(1)整体系统方面,相对传统数据库而言,在数据模型及其语言、事务处理与执行模型、数据库逻辑组织与物理存储等各个方面,都集成了新的技术、工具和机制。属于这类数据库新技术的有:面向对象数据库(Object-OrientDatabase),主动数据库(ActiveDatabase),实时数据库(Real-TimeDatabase)。

(2)体系结构方面,不改变数据库基本原理,而是在系统的体系结构方面采用和集成了新的技术。属于这方面的数据库新技术有:分布式数据库(DistributedDatabase),并行数据库(ParallelDatabase),数据仓库(DataWarehouse)。

(3)应用方面,以特定应用领域的需要为出发点,在某些方面采用和引入一些非传统数据库技术,加强系统对有关应用的支撑能力。属于这类的数据库新技术有:30一月2025工程数据库(EngineeringDatabase),支持CAD、CAM、CIMS等应用领域,空间数据库(SpatialDatabase),包括地理数据库(GeographicDatabase),支持地理信息系统(GIS)的应用,科学与统计数据库(ScientificandStatisticDatabase),支持统计数据中的应用,超文档数据库(HyperdocumentDatabase),包括多媒体数据库(MultimediaDatabase)。30一月202510.1分布式数据库10.1.1分布式数据库系统的概念分布式数据库系统中数据库的数据存储在物理上分布在计算机网络的不同计算机中,系统中每一台计算机被称为一个结点(或场地)。在逻辑上是属于同一个系统。其一般结构如图10-1所示。图10-1分布式数据库系统30一月2025服务器1服务器2服务器3数据库1数据库2数据库3服务器4数据库4计算机网络局部应用1局部应用3局部应用2局部应用4全局应用

图10-1分布式数据库系统30一月202510.1.2分布式数据库系统的特点分布式数据库系统主要有如下几个特点:

(1)数据的物理分布性。

(2)数据的逻辑整体性。

(3)结点的自主性。①数据独立性。②适当增加数据冗余。③全局的一致性、可串行性和可恢复性。10.1.3分布式数据库系统的体系结构集中式数据库系统具有三级模式结构,分布式数据库系统应该由若干个局部数据模式加上一个全局数据模式构成。全局数据模式用来协调各局部数据模式,使之成为一个整体的模式结构。图为分布式数据库系统模式结构的一个参考模型。30一月2025

图10-2分布式数据库系统的模式结构30一月2025

(1)全局外模式:是全局应用的用户视图,是全局概念模式的子集。(2)全局概念模式:是对分布式数据库中全体数据的逻辑结构和特征的描述,它不考虑数据分布的物理地点和分布细节,使得数据如同没有分布一样。通常采用关系模型。(3)分片模式:每一个全局关系可以分为若干不相交的部分,每一部分称为一个片段(Fragment)。分片模式定义片段以及全局关系到片段的映像。这种映像是一对多的,一个全局关系可对应多个片段,而一个片段指来自一个全局关系。数据分片的方法有:水平分片:是指按一定的条件将关系按行(水平方向)分为若干个不相交的子集,每个子集为关系的一个片段。垂直分片:是指将关系按列(垂直方向)分为若干子集。30一月2025

垂直分片的诸片段必须能够重构原来的全局关系,即可以用连接的方法恢复原关系,因此垂直分片的诸片段通常都包含关系的码。导出分片:是指导出水平分片,即水平分片的条件不是本身属性的条件而是其他关系的属性的条件。混合分片:是指按上述三种分片方式得到的片段继续按另一种方式分片。如先水平分片再垂直分片,或先垂直分片再水平分片。不管使用哪种分片方式,都应保证满足以下条件:完备性:不相交性:可重构性:

(4)分布模式:用来描述片段到不同结点间的映象,即各个片段的物理存放位置。30一月202510.1.4分布式数据库系统的发展前景分布式数据库兴起与20世纪70年代,经过20多年的发展,分布式数据库系统已发展得相当成熟,其应用领域涵盖了OLTP应用、分布式计算、互联网上的应用以及数据仓库的应用中。随着计算机网络的广泛普及,新的应用都体现了开放性和分布性的特点。从简单的数据系统全球连网查询,逐渐地转向更具有分布式数据库系统特色的应用环境。因此,在当前基于网络,具有分布性、开放性特点的应用环境下,分布式数据库系统将具有更好的发展前景和更广泛的应用领域。30一月202510.2面向对象数据库

面向对象的数据库系统(ObjectOrientedDatabaseSystem,简称OODBS)是数据库技术与面向对象程序设计方法相结合而产生的数据库系统。10.2.1面向对象数据模型面向对象数据模型(Object-OrientedDataModel,简称O-ODataModel)是一种可扩充的数据模型。在该数据模型中,数据模型是可扩充的,即用户可根据需要,自己定义新的数据类型及相应的约束和操作。(1)对象客观世界中任何一个事物都可以看成一个对象(或者说,客观世界是由千千万万个对象组成的,它们之间通过一定的渠道相互联系)。如学校、一个班级、军队中的一个团、一个连都是对象。30一月2025一个对象包括以下几个部分:①属性集合所有属性合起来构成了对象数据的数据结构。每一个对象都有自己的状态、组成和特性,称为对象的属性。属性可能是一个单值或值的集合,也可能是其他对象,即对象的嵌套,并且这种嵌套可以继续下去,从而组成各种复杂的对象。每个对象有惟一的对象标识(OID:ObjectIdentity),一个对象的OID是独立于属性值的,在系统中是唯一不变的。②方法集合方法是对象的行为特性。方法的定义包含两个部分:一是方法的接口,包括方法的名称、参数和结果类型;二是方法的实现部分,它是一段程序编码,以实现方法的功能,即对象操作的算法。30一月2025③消息集合消息是对象向外提供的界面,消息由对象接收和响应。(2)类和实例有一些对象是具有相同的结构和特性的。类代表了某一批对象的共性和特征。每个对象都属于一个类型,对象的类型就是类。类是对象的抽象,而对象是类的具体实例(Instance)。一个类中的所有对象其特性必须相同,即具有相同的属性、响应相同的消息、使用相同的方法。(3)类的继承一个新类可以通过对已有类进行修改或扩充某些特性来满足新类的要求,而这些特性并不和类的所有成员相关。从一个类继承定义的新类,将继承已有类的所有方法和属性,并且可以添加新的方法和属性。新类被称为已有类的子类或派生类,已有类称为父类或基类。30一月2025

若一个子类只能继承一个父类的特性,叫做单继承;若一个子类能继承多个父类的特性,叫做多重继承。例如,学校模型中有教职工和学生两个类,其中教职工中又可分为教师类和行政人员类,所有教师有专业这一属性,行政人员有行政级别属性,它们是教职工的两个子类。同时教职工和学生也具有某些相似的属性,如都有身份证号码、姓名、性别、年龄等,可以把它们看成是人的子类。其中在职研究生同时继承了教职工和学生的特性,这种情况成为多重继承。其类层次结构如图10-4所示。图10-4学校数据库的类层次结构图30一月202510.2.2面向对象数据库建模本节介绍面向对象数据库的模型描述工具ODL(对象定义语言),它是CORBA(公共对象请求代理程序体系结构)的一个组件。ODL与具体的OODBMS无关,和E-R图一样,是建立数据库概念模型的工具,也可以向DBMS支持的数据模型转化,如图10-5所示。现实世界OODBMSODL抽象对象数据模式图10-5数据库建模和实现的过程(1)ODL的类说明在对象的定义中主要包括以下几个部分:●关键字Interface(接口)。●类的名字。●类的特性表,可以是属性、联系、方法。30一月2025

所以,ODL类说明的最简单形式是:Interface<类名字>{<特性表>};(2)ODL中属性的说明属性是类的一种最简单的特性。例10.1利用ODL描述学生(student)类,语句如下:interfacestudent{//student是一个类attributestringsno;//属性sno,其类型是stringattributestringname;//属性name,其类型是stringattributeintegerage;//属性age,类型是整型attributeenumsextype{male,female}sex;//属性sex,其类型是枚举型};30一月2025

这是student类的说明,任何一个student对象在这几个属性上均对应一个分量。该例中的属性均是原子的,事实上属性类型可以是结构、集合、聚集等复杂类型。例10.2给出类college的ODL描述,有属性name(学院名)、president(负责人)、address(地址),其中address是一个结构,包括楼层和房间号:

interfacecollege{attributestringname;attributestringpresident;attributestructAddr{stringroom,stringfloor}address;};ODL中的原子类型有:整型(integer)、浮点型(float)、字符(char)、字符串(string)、布尔型(boolean)和枚举型(enum)。复杂类型可以是集合、列表、数组和结构等。30一月2025(3)ODL中的联系为了得到对象与同类或不同类的其他对象的连接方式,需要在类的定义中说明类与类之间的联系。如学生类与学院类之间有联系,一个学生对象总与某个学院对象有关系(从属关系)。在student类说明中,可用下面的ODL语句表示这种联系:Relationshipcollegestudyin;

该语句说明在student类中的每个对象,都有一个对college对象的引用,引用名为studyin。(4)ODL中的类的继承假设类B是类A的子类,那么在定义类B时,可以在后加上:A,说明类B是类A的子类,并可继承类A的所有特性。例10.4定义类postgraduate(研究生)为student的子类。30一月2025interfacepostgraduate:student{//类postgraduate是类student的子类Relationshipcollegemember//所有的postgraduate对象都有一个联系member,表//示该研究生属于一个学院,并且一名研究生只属于一个学院};

在多重继承时,特性名之间可能会发生冲突。如两个或多个超类可能有同名的属性或联系,而这些特性的类型可能不同。在ODL中提供以下几种机制来建立解决多重继承产生的冲突:指出超类特性的多个定义中哪一个用于子类;在子类中,对于有相同名字的另一个特性给一个新的名字;在子类中重新定义一个或多个超类中已定义的某些特性。(5)ODL中方法的说明类的另一个特性是方法,方法是与类相关的函数。类中的每一个对象都能引用方法,同一方法可用于多个类,这是面向对象语言的特点。方法说明中主要有方法名、方法的30一月2025输入/输出类型说明等。而方法的实际代码是用宿主语言写的,代码本身不是ODL的一部分。调用方法时,可能会引起异常,即出现异常或非希望的情况,这种情况一般应由某个函数来处理(相当于出错处理)。在ODL的方法说明中,提供关键字raises(引发),在括号里列出异常处理列表。例10.5类student的扩充定义,增加了方法的说明:

interfacestudent

(keyname)

{attributestringsno;attributestringname;attributeintegerage;attributeenumsextype{male,female}sex;RelationshipcollegestudyinInversecollege:owns;30一月2025Relationshipset<item>joinsInverseitem::joinby;StringDepartname()raises(nodepartFound)Otheritem(initem,outset<student>)raise(noitemin);};

第一个方法是Departname,该函数将产生一字符串型的返回值。第二个方法是Otheritem,该函数没有任何返回值,其输入参数类型为item,输出参数为student的对象集合。(6)E-R模型向面向对象数据模型的转换当建立了现实世界的E-R模型以后,可将其转换为O―O模型。转换时,可按照以下的步骤进行:①将E-R模型中的每个实体集生成一个类,实体集的属性转换为类的属性。②将E-R模型中具有ISA联系的实体集生成的类之间建立类/子类关系。30一月2025③在转换得到的类中加入联系的说明:对原E-R模型中有一对一联系的实体集,在其生成的类中,都加入联系说明,说明其和另一个类中的一个对象有关。对原E-R模型中有一对多联系的实体集,在一方生成的类中,加入联系说明,说明其和另一个类中的对象集合有关;在多方生成的类中,加入联系说明,说明其和另一个类中的一个对象有关。对原E-R模型中有多对多联系的实体集,在其生成的类中,都加入联系说明,说明其和另一个类中的对象集合有关。10.2.3对象-关系数据库一个对象—关系数据库系统必须满足两个条件:一是支持一核心的面向对象数据模型;二是支持传统数据库系统所有的数据库特征。对象-关系数据库系统就是按照这样的目标将关系数据库30一月2025系统与面向对象数据库系统两方面的特征相结合。对象-关系数据库系统除了具有原来关系数据库的各种特点外,还应该提供以下特点:(1)扩充数据类型允许用户自己定义数据类型、函数和操作符,而且这些新的数据类型、函数和操作符一经定义将存放在数据库管理系统核心中,如同基本数据类型一样可供所有用户共享。(2)支持复杂对象能够在SQL中支持复杂对象。复杂对象是指由多种基本数据类型或用户自定义的数据类型构成的对象。(3)支持继承的概念能够支持子类、超类的概念,支持继承与派生的概念,支持单继承与多重继承,支持重载。(4)提供通用的规则系统能够提供强大而通用的规则系统,如规则中的事件和30一月2025动作可以是任意的SQL语句,可以使用用户自定义的函数、规则能够被继承等。实现对象-关系数据库系统,可以采用方法:●从头开发对象-关系数据库系统。这种方法费时费力,一般不采用。●在现有的关系型数据库系统基础上进行扩展。扩展方法有五种:(1)对关系型数据库系统核心进行扩充,逐渐增加对象特性。(2)不修改现有的关系型数据库系统核心,而是在现有关系型数据库系统外面加上一个包装层,由包装层提供对象-关系型应用编程接口。(3)将现有的关系型数据库系统与其他厂商的对象-关系型数据库系统连接在一起,使现有的关系型数据库系统直接而迅速地具有了对象-关系特征。30一月2025

(4)将现有的面向对象型数据库系统与其他厂商的对象-关系型数据库系统连接,使现有的面向对象型数据库系统直接而迅速地具有了对象-关系特征。(5)扩充现有的面向对象的数据库系统,使之成为对象-关系型数据库系统。30一月202510.3数据仓库10.3.1数据仓库的定义与特征数据仓库涉及在关系数据库中存储数据和处理这些数据,使数据成为查询和决策支持分析的更加有效的工具。换句话说,数据仓库是一种把收集的各种数据转变成有商业价值的信息的技术。目前,数据库应用主要有两类:联机事务处理和分析型处理。联机事务处理(OLTP)注重数据库的完整性、安全性以及高可用性。与OLTP不同,分析型处理主要用于管理人员的决策分析,通过对大量数据(特别是历史数据)的综合、统计和分析得出有利于企业的决策信息。这种分析查询,一般需要访问大量的数据和花费相对多的时间才能完成。而数据仓库和联机分析处理(OLAP)等技术能够从多个数据源收集数据,提供用户进行决策分析。30一月2025

数据仓库(DataWarehouse)是一个面向主题的(SubjectOriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。根据数据仓库概念的含义,数据仓库拥有以下四个特征:(1)面向主题。(2)集成的。(3)相对稳定的。(4)反映历史变化。30一月202510.3.2数据仓库系统的体系结构一个数据仓库一般来说包含以下7个主要组成部分:(1)数据源(2)数据抽取、转换和装载工具(3)数据建模工具。(4)核心存储。(5)数据仓库的目标数据库。(6)前端数据访问和分析工具。(7)数据仓库管理工具。数据仓库的体系结构如图10-6所示:30一月2025数据库数据文件其它数据源数据仓库管理工具专用多维数据库管理系统用户查询工具数据抽取转换工具核心仓储数据建模工具关系型数据库管理系统标准c/s工具报表工具DSS/EIS工具分析工具图10-6数据仓库体系结构30一月202510.3.3数据仓库的数据库模式数据仓库的基本组成是事实表和维表。这些组件能够用于不同的设计中,比较流行的有星型模式和雪花模式。(1)事实表事实表(FactTable)是数据仓库中存储历史商务数据的表。它们包含描述特定事件或业务的信息和数据的汇总。(2)维表维表(DimensionTable)用于提炼事实表中所包含的数据,或者更详细地描述它。因此,数据类型一般是字符数据。事实表和维表之间的关系由事实表到维表上的外码约束。一般地,一个事实表的主码由多部分组成,主码的每一部分是它周围维表的外码。与事实表不同,维表中的数据时常需要得到更新。但是它仅需要在一个地方即维表中进行修改,而不是在可能存在许多行的事实表中进行修改。30一月2025(3)数据库模式在数据仓库的建模技术中,常用的有星型模式和雪花模式。下面介绍星型模式和雪花模式中事实表和维表的关联方式。①星型模式②雪花模式10.3.4数据仓库工具数据仓库工具是数据仓库系统的一个重要组成部分,主要有数据抽取和转换工具和前端数据访问和分析工具。(1)数据抽取和转换工具传统的关系型数据库管理系统也许不能全面满足对数据抽取和转换的功能需要,数据仓库体系结构设计人员可以根据具体的需要选择合适的数据抽取和转换工具,与数据库管理系统相结合,全面实施数据抽取和转换。30一月2025(2)前端数据访问和分析工具目前市场上能获得的数据访问和分析工具种类繁多,主要有关系型查询工具、关系型数据的多维视图工具、DSS/EIS软件包和客户机/服务器工具等四大类。①关系型查询工具②关系型数据的多维视图工具③DSS/EIS工具④客户机/服务器工具30一月202510.4数据挖掘技术

数据挖掘(DataMining)是指对数据进行深入地研究,从超大型数据库(VLDB)或数据仓库中发现事先未注意到的,但是潜在有用的信息和知识,它综合了人工智能、机器学习、统计学等技术,是应用数据仓库进行决策支持的关键技术。数据仓库、OLAP和数据挖掘是作为三种独立的信息处理技术出现的,用数据仓库存储和组织数据,数据的分析由OLAP集中完成,数据挖掘则致力于知识的自动发现。30一月202510.4.1数据挖掘的主要功能数据挖掘的主要功能如下:(1)分类是指将数据映射到预先定义好的群组或类。分类算法要求分析对象的属性、特征,以建立不同的类别来描述事物。例如银行部门根据以前的数据将客户分成了不同的类别,以确定对新申请贷款的客户是否批准或确定信用风险。(2)聚类一般是指将数据划分或分割成相交或不相交的群组的过程。聚类合分类很相似,只不过聚类中的类别没有事先定义而是由数据决定的。例如将贷款申请人分为高信用度申请者,中信用度申请者,低信用度申请者等。30一月2025(3)汇总是指将数据映射到具有简单描述的子集中。汇总从数据库中抽取或者得到有代表性的信息,也可以得到一些总结性信息,汇总有时也被称为特征化或泛化。(4)关联规则和序列模式的发现关联是某种事物发生时其他事物跟着会发生的这样一种联系。例如每天买大米的人也有可能买纸巾,可能性有多大,可以通过关联的支持度和可信度来描述。与关联不同,序列是一种纵向的联系。例如所有买了圆珠笔的人,一个月后又有30%的人买笔芯,70%的人又买新的圆珠笔。(5)预测把握分析对象发展的规律,对未来的趋势做出预见。例如对未来股市行情的判断。(6)偏差的检测数据库中的数据存在者很多异常的情况,通过对数据的分析发现少数的、极端的特例的描述,揭示内在的原因,即为偏差的检测。30一月202510.4.2数据挖掘的方法及工具(1)传统统计方法抽样技术:我们面对的是大量的数据,对所有的数据进行分析是不可能的也是没有必要的,就要在理论的指导下进行合理的抽样。多元统计分析:因子分析,聚类分析等。统计预测方法:如回归分析,时间序列分析等。(2)可视化技术:用图表等方式把数据特征用直观地表述出来,如直方图等,这其中运用的许多描述统计的方法。可视化技术面对的一个难题是高维数据的可视化。(3)决策树:利用一系列规则划分,建立树状图,可用于分类和预测。常用的算法有CART、CHAID、ID3、C4.5、C5.0等。(4)神经网络:模拟人的神经元功能,经过输入层,隐藏层,输出层等,对数据进行调整、计算,最后得到结果,用于分类和回归。30一月2025

(5)遗传算法:基于自然进化理论,模拟基因联合、突变、选择等过程的一种优化技术。(6)关联规则挖掘算法:关联规则是描述数据之间存在关系的规则,形式为“A1∧A2∧…An→B1∧B2∧…Bn”。一般分为两个步骤:求出大数据项集和用大数据项集产生关联规则。除了以上的常用方法外,还有粗集方法,模糊集合方法,BayesianBeliefNetords,最邻近算法(KNearestNeighbors(KNN))等。10.4.3数据挖掘的实施步骤实施数据挖掘的一般的步骤如下,如图10-7所示:问题理解和提出数据准备数据整理建立模型评价和解释图10-7数据挖掘的一般步骤30一月2025(1)问题理解和提出在开始数据挖掘之前最基础的就是理解数据和实际的业务问题,在这个基础之上提出问题,对目标有明确的定义。(2)数据准备获取原始的数据,并从中抽取一定数量的子集,建立数据挖掘库,其中一个问题是如果企业原来的数据仓库满足数据挖掘的要求,就可以将数据仓库作为数据挖掘库。(3)数据整理由于数据可能是不完全的、有噪声的、随机的,有复杂的数据结构,就要对数据进行初步的整理,清洗不完全的数据,做初步的描述分析,选择与数据挖掘有关的变量,或者转变变量。(4)建立模型根据数据挖掘的目标和数据的特征,选择合适的模型。30一月2025(5)评价和解释对数据挖掘的结果进行评价,选择最优的模型,作出评价,运用于实际问题,并且要和专业知识结合对结果进行解释。以上的步骤不是一次完成的,可能其中某些步骤或者全部要反复进行。10.4.4数据挖掘应用现状数据挖掘的应用非常广泛,只要该产业有分析价值与需求的数据库,皆可利用Mining工具进行有目的的发掘分析。常见的应用案例多发生在零售业、制造业、财务金融保险、通讯及医疗服务:

(1)商从顾客购买商品中发现一定的关系,提供打折购物券等,提高销售额。

(2)保险公司通过数据挖掘建立预测模型,辨别出可能的欺诈行为,避免道德风险,减少成本,提高利润。30一月2025(3)在制造业中,半导体的生产和测试中都产生大量的数据,就必须对这些数据进行分析,找出存在的问题,提高质量。

(4)电子商务的作用越来越大,可以用数据挖掘对网站进行分析,识别用户的行为模式,保留客户,提供个性化服务,优化网站设计。10.4.5数据挖掘中存在的问题尽管数据挖掘有如此多的优点,但数据挖掘也面临着许多的问题,这也为数据挖掘的未来的发展提供了更大的空间。(1)数据挖掘的基本问题就在于数据的数量和维数,数据结构也因此显的非常复杂,如何进行探索,选择分析变量,也就成为首先要解决的问题。(2)面对如此大的数据,现有的统计方法等都遇到了问题,我们直接的想法就是对数据进行抽样,那么30一月2025怎么抽样,抽取多大的样本,又怎样评价抽样的效果,这些都是值得研究的难题。(3)既然数据是海量的,那么数据中就会隐含一定的变化趋势,在数据挖掘中也要对这个趋势做应有的考虑和评价。(4)各种不同的模型如何应用,其效果如何评价。不同的人对同样的数据进行挖掘,可能产生不同的结果,甚至差异很大,这就涉及到可靠性的问题。(5)当前互联网的发展迅速,如何进行互联网的的数据挖掘,还有文本等非标准数据的挖掘,都引起了极大的兴趣。(6)数据挖掘涉及到数据也就碰到了数据的私有性和安全性。(7)数据挖掘的结果是不确定的,要和专业知识相结合才能对其做出判断。30一月2025

第1章数据库系统概述

本章要点数据库的基本概念数据库技术的发展数据库系统的组成与结构数据模型的概念与分类30一月20251.1基本概念

数据库技术涉及到许多基本概念,主要包括:数据、数据处理、数据库、数据库管理系统以及数据库系统等。

1.1.1数据

数据是指是人们用来反映客观世界而记录下来的可以鉴别的数字、字母或符号,可以存储在某一种媒体上被识别。所以数据的概念包括两个方面含义:一是描述事物特性的数据内容,也就是我们常说的信息,二是存储在某一种媒体上的数据形式,即符号。例如某人的出生日期是"1977年4月21日",当然也可以将该形式改写为"04/21/77",但其含义并没有改变。现在数据已经有了更广泛的含义,除了数字、字母、文字和其他特殊字符组成的文本形式的数据,图形、图像、动画、影像、声音(包括语音、音乐)等多媒体数据也已成为了计算机的处理对象。30一月20251.1.2数据库

数据库是指长期存储在计算机内的,有组织的,可共享的、可以表现为多种形式的数据集合。数据库中的数据具有如下特点:(1)按一定的数据模型组织、描述和存储;(2)具有较小的冗余度;(3)具有较高的数据独立性和易扩展性;(4)可为各种用户共享。30一月20251.1.3数据库管理系统

数据库管理系统(DataBaseManagementSystem,简称DBMS)是计算机系统软件,正如使用高级语言需要解释/编译程序的支持一样,使用数据库语言也需要一个特定的支持软件,这就是"数据库管理系统"。数据库管理系统的主要任务是科学地有效地组织和存储数据、高效地获取和管理数据,接受和完成用户提出的访问数据的各种请求。数据库管理系统的主要功能包括以下几个方面:(1)数据定义功能(2)数据操纵功能(3)数据库运行控制功能(4)数据库的建立和维护功能30一月20251.1.4数据库系统

数据库系统(DataBaseSystem,DBS)是指拥有数据库技术支持的计算机系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库系统可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。与文件系统相比,数据库系统具有以下特点:(1)数据的结构化。(2)最小的冗余度。(3)数据的共享。(4)数据与程序独立。(5)数据的安全性和完整性。30一月20251.2数据库技术的发展

数据库管理技术大致经历了人工管理阶段、文件系统阶段和数据库系统阶段。1.2.1人工管理阶段20世纪50年代以前,计算机主要用于数值计算。这一时期的数据,数据量小,无结构,由用户直接管理,且数据间缺乏逻辑组织,由于是面向应用程序的,数据缺乏独立性,应用程序与其处理的数据结合成一个整体。程序与数据的关系如下图所示:程序1数据1程序2数据2图1-1人工管理阶段程序与数据的关系30一月2025(1)硬件:外存只有纸带、卡片、磁带,并没有磁盘等直接存取的存储设备。(2)软件:实际上,当时还未形成软件的整体概念,这一时期,没有操作系统,没有管理数据的软件。(3)特点:①数据不保存。②应用程序管理数据。应用程序承担设计数据的逻辑结构和物理结构任务。③数据不能共享。一组数据只能对应一个程序。④数据不具有独立性。数据的逻辑或物理结构改变,应用程序随之改变。30一月20251.2.2文件系统阶段

在20世纪50年代后期到60年代中期,文件系统阶段程序与数据的关系如图所示。图1-2文件系统阶段程序与数据的关系(1)硬件:磁盘、磁鼓等直接存取存储设备。(2)软件:操作系统中有了专门的数据管理软件--文件系统。程序1程序3程序2文件3文件2文件1文件管理系统30一月2025

(3)特点:①数据可以长期保存。②由文件系统进行数据管理。数据按文件名访问,按记录进行存取,可以对文件进行修改、插入和删除操作。

③数据共享性差,冗余度大。

a)一个文件对应一个应用程序。

b)不同的应用程序具有部分相同的数据时,也必须建立各自的文件而不能共享相同的数据。

④数据独立性差。(4)在数据文件中常涉及下列术语:

①数据项:描述事物性质的最小单位。

②记录:若干数据项的集合,一个记录表达一个具体事物。

③文件:若干记录的集合。30一月20251.2.3数据库系统阶段20世纪60年代后期至今,数据库系统阶段程序与数据的关系如下图所示:图1-3数据库系统阶段程序与数据的关系(1)硬件:大容量磁盘,价格下降。(2)软件:价格上升,编制、维护系统软件及应用程序的成本相对增加,因此出现了统一管理数据的专门软件--数据库管理系统。应用1应用3应用2数据库管理系统数据库30一月2025(3)特点

①数据结构化。数据库系统与文件系统是有根本区别的。对于文件系统来讲,相互独立的文件的记录内部是有结构的,而数据库系统主要实现整体数据的结构化。

②数据的共享性高,冗余度低,易扩充。

a)数据可以被多个用户、多个应用共享使用。

b)数据共享可以大大减少数据冗余、节约存储空间。

c)数据共享还能够避免数据之间的不相容性与不一致性,所谓的不一致性是指同一数据的不同拷贝值不一样。

③数据独立性高。数据独立性主要从物理独立性和逻辑独立性两个方面体现。从物理独立性角度讲,用户的应用程序与存储在磁盘上的数据库是相互独立的。从逻辑独立性角度讲用户的应用程序与数据库的逻辑结构是相互独立的,即数据的逻辑结构改变了,用户程序也可以不变。30一月2025(4)数据由DBMS统一管理和控制。DBMS提供以下几个方面的数据控制功能:①数据库的安全性(security)保护。保护数据以防止不合法的使用造成的数据的泄密和破坏。②数据的完整性检查(integrity)。数据的完整性指数据的正确性和一致性。完整性检查是指将数据控制在有效的范围内,或保证数据之间满足一定的关系。③并发(concurrency)控制。当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。④数据库恢复(recovery)。当计算机系统遭遇硬件故障、软件故障、操作员误操作或恶意破坏时,可能导致数据错误或全部、部分丢失,此时要求数据库具有恢复功能。所谓的数据库恢复是指DBMS将数据库从错误状态恢复到某一已知的正确状态,即完整性状态。

30一月20251.3数据库系统的组成与结构1.3.1数据库系统的组成数据库系统是指引进数据库技术后的计算机系统。数据库系统一般由支持数据库运行的软硬件、数据库、数据库管理系统、数据库管理员和用户等部分组成的,如下图所示。图1-4数据库系统的组成数据库应用系统数据库管理系统操作系统硬件数据库管理员用户30一月2025(1)硬件与软件(2)数据库管理系统(DBMS)(3)数据库系统(DBS)(4)数据库管理员(DataBaseAdministrator,DBA)(5)用户30一月20251.3.2数据库系统结构

模式的概念模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到"型"的描述,不涉及到具体的"值"。其中型是数据模型中对某一类数据结构和属性的说明,而值是型的一个具体赋值。模式具有如下特点:(1)模式的一个具体描述称为模式的一个实例。(2)模式是相对稳定的,而实例是相对变动的。(3)模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。30一月2025

数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式、内模式三级构成。

图1-5数据库系统的三级模式结构30一月2025(1)模式模式(Schema)也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据库系统模式结构的中间层。一个数据库只有一个模式。模式是数据项值的框架。数据库系统模式通常还包含有访问控制、保密定义、完整性检查等方面的内容。(2)外模式外模式也称为子模式或用户模式,它是数据和用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据和用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式一般是模式的子集。一个模式可以有多个外模式。一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施。(3)内模式内模式也称存储模式,是数据库在物理存储器上具体实现的描述,是数据在数据库内部的表示方法,也是数据物理结构和存储方式的描述。一个数据库只有一个内模式。30一月2025

数据库的二级映像功能与数据独立性(1)外模式/模式映像对于每一个外模式,数据库管理系统都有一个外模式/模式映像,它定义了外模式与模式之间的对应关系。当模式改变时,由数据库管理员对各个外模式/模式映射做相应的改变,这里的映射是把用户数据库与概念数据库联系起来,从而使外模式保持不便,这就保证了数据库的逻辑独立性。(2)模式/内模式的映像数据库只有一个模式,也只有一个内模式,所以模式/内模式的映射是唯一的,这种映射把概念数据库与物理数据库联系起来,定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/内模式的映射做相应的改变,可以使模式保持不便,从而应用程序也不必改变。这就保证了数据与程序的物理独立性。30一月20251.4数据模型

模型是现实世界特征的模拟和抽象,数据模型(DataModel)是现实世界数据特征的抽象。1.4.1数据模型的概念

数据模型通常由数据结构、数据操作和数据的约束条件三部分组成。(1)数据结构数据结构是所研究的对象类型的集合,这些对象组成数据库,它们包括两类:一类是与数据类型、内容、性质有关的对象,另一类是与数据之间联系有关的对象。按照数据结构类型的不同,又可以将数据模型划分为层次模型、网状模型和关系模型。30一月2025(2)数据操作数据操作指对数据库中各种对象实例的操作。(3)数据的约束条件数据的约束条件是一组完整性规则的集合。数据模型应反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。数据的完整性约束是指在给定的数据模型中,数据及其数据关联所遵守的一组规则。用以保证数据库中数据的正确性、一致性。30一月20251.4.2概念模型

概念模型的名词术语(1)实体(Entity):客观存在并可相互区别的事物称为实体。实体既可以是实际的事物,也可以是抽象的概念或联系。(2)属性(Attribute):属性就是实体所具有的特性,一个实体可以由若干个属性描述。(3)域(Domain):属性的取值范围称为该属性的域。(4)实体型(EntityType):用实体名及其属性名集合来抽象和刻画同类实体。如:教师(教师编号,教师姓名,性别,出生年份,工作年限,工资)。30一月2025(5)实体集(EntitySet):具有相同属性的实体的集合称为实体集。(6)键(Key):键是能够惟一地标识出一个实体集中每一个实体的属性或属性组合,键也被称为关键字或码。(7)联系(Relationship):联系分为两种:一种是实体内部各属性之间的联系,另一种是实体之间的联系。

实体之间的联系(1)一对一联系:如果对于实体集A中的每个实体,实体集B中至多有一个(可以没有)与之相对应,反之亦然,则称实体集A与实体集B具有一对一联系,记作:1:1。(2)一对多联系:如果对于实体集A中的每个实体,实体集B中有n个实体(n≥0)与之相对应,反过来,实体集B中的每个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系。记作:1:n。30一月2025(3)多对多联系:如果对于实体集A中的每个实体,实体集B中有n个实体(n≥0)与之相对应,反过来,实体集B中的每个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记作:m:n。

(a)1:1联系(b)1:n联系(c)m:n联系图1-6实体之间的三种联系

联系名

实体型A

实体型B

1

1

联系名

实体型A

实体型B

1

n

n

联系名

实体型A

实体型B

m

30一月2025E-R模型E-R图有三个要素:(1)实体:用矩形表示实体,矩形内标注实体名称。(2)属性:用椭圆表示属性,椭圆内标注属性名称。并用连线与实体连接起来。(3)实体之间的联系:用菱形表示,菱形内注明联系名称,并用连线将菱形框分别与相关实体相连,并在连线上注明联系类型。

下面用E-R图来表示某个工厂物资管理的概念模型。物资管理涉及的实体有:●仓库属性有仓库号、面积。●货物属性有货号、名称。●职工属性有职工号、姓名、年龄、职称。30一月2025图1-7完整的实体联系图mnn1货号名称职工号年龄姓名货物存放存量仓库号面积职工仓库存放30一月20251.4.3层次模型

层次模型按树型结构组织数据,它是以记录类型为结点,以结点间联系为边的有序树,数据结构为有序树或森林。

图1-8层次模型层次模型有以下两个特点:(1)有且仅有一个结点无父结点,该结点称为根;(2)根以外的其他节点有且只有一个双亲节点。上面特点就使得用层次模型表示1:n联系非常简便,这是它的突出优点,但是它不能直接表示m:n的联系。30一月20251.4.4网状模型

网状模型用网状结构表示实体及其之间的联系,网中结点之间的联系不受层次限制,可以任意发生联系。

图1-9网状模型网状模型有如下几个特点:(1)一个子结点可以有两个或多个父结点。(2)允许一个以上的节点无双亲。(3)在两个结点之间可以有两种或多种联系。(4)可能有回路存在。30一月2025网状模型的优缺点:(1)优点:能够更为直接地描述现实世界;具有良好的性能,存取效率高。(2)主要缺点:结构复杂,不利于扩充;不容易实现。1.4.5关系模型关系数据模型是由IBM公司的E.F.Codd于1970年首次提出,以关系数据模型为基础的数据库管理系统,称为关系数据库系统(RDBMS),目前广泛使用。30一月2025

关系数据模型的定义实体和联系均用二维表来表示的数据模型称之为关系数据模型。一张二维表,由行和列组成。

图1-10关系模型

学号

姓名

性别

出生日期

所在院系

080440501

王雨嫣

1980-9-6

中文系

020440506

肖峰

1978-10-9

电子系

090440507

胡冲

1980-5-8

英语系

关系

关系模式

记录

属性

属性名

列名

jbqk

关系名

表名

30一月2025

关系数据模型的基本概念(1)关系(Relation)对应于关系模式的一个具体的表称为关系,又称表(Table)。(2)关系模式(RelationScheme)二维表的表头那一行称为关系模式,又称表的框架或记录类型,是对关系的描述。关系模式可表示为:关系模式名(属性名1,属性名1,...,属性名n)的形式。例如:学生(学号,姓名,性别,出生日期,籍贯)。(3)元组(Tuple)关系中的每一行称为关系的一个元组,又称行(Row)或记录(Record)。(4)属性(Attributes)关系中的每一列称为关系的一个属性,又称列(Column)。给每一个属性起一个名称即属性名。30一月2025(5)变域(Domain)关系中的每一属性所对应的取值范围叫属性的变域,简称域。(6)主键(PrimaryKey)如果关系模式中的某个或某几个属性组成的属性组能惟一地标识对应于该关系模式的关系中的任何一个元组,这样的属性组为该关系模式及其对应关系的主键。(7)外键(ForeignKey)如果关系R的某一属性组不是该关系本身的主键,而是另一关系的主键,则称该属性组是R的外键。

关系数据模型完整性约束关系数据模型完整性约束主要包括三大类:实体完整性、参照完整性和用户定义完整性。关系数据模型中的查询、插入、删除、修改数据等常用操作都要满足这些条件。

30一月2025

关系数据模型优缺点(1)优点①由于实体和联系都用关系描述,保证了数据操作语言的一致性;②结构简单直观、用户易理解;③有严格的设计理论;④存取路径对用户透明,从而具有更高的独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作量。(2)主要缺点由于存取路径对用户透明,造成查询速度慢,效率低于非关系型数据模型。30一月2025

第2章关系数据库系统理论基础

本章要点关系模型关系数据结构及形式化定义关系的完整性约束关系代数关系数据库标准语言SQL关系的规范化30一月2025

关系模型是建立在数学概念上的,与层次模型、网状模型相比,关系模型是一种最重要的数据模型。它主要由关系数据结构、关系操作集合、关系完整性约束三部分组成。实际上,关系模型可以理解为用二维表格结构来表示实体及实体之间联系的模型,表格的列表示关系的属性,表格的行表示关系中的元组。关系数据模型的常用操作有选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(difference)等查询(query)操作,另外还有增加(insert)、删除(delete)、修改(update)操作。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。2.1关系模型概述30一月2025

关系数据语言是一种高度的非过程化的语言,用户不必知道具体的操作路径,存取路径的选择由DBMS的优化机制完成。主要包括关系代数语言、关系演算语言和SQL语言(关系数据库的标准语言)。关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户定义的完整性。实体完整性和参照完整性是关系模型必须满足的完整性约束条件。用户定义的完整性是应用领域需要遵循的约束条件。30一月20252.2关系数据结构及形式化定义2.2.1关系的数学定义(1)域(Domain)定义2.1域是一组具有相同数据类型的值集合。例如:{1,3,5,7},{整数}等都可以是域。域中数据的个数称为域的基数。域被命名后用如下方法表示:

D1={王丽丽,张亭,李中},表示姓名的集合,基数是3;

D2={英语系,中文系},表示系别的集合,基数是2。(2)笛卡尔积(CartesianProduct)

定义2.2给定一组域D1,D2,…,Di,…,Dn(可以有相同的域),则笛卡尔积定义为:30一月2025D1′D2′…′Di′…′Dn={(d1,d2,…,di,…,dn)∣di∈Di,i=1,2,…,n}D1′D2={(王丽丽,英语系),(王丽丽,中文系),(张亭,英语系),(张亭,中文系),(李中,英语系),(李中,中文系)}其中每个(d1,d2,…,di,…,dn)叫做元组,元组中的每一个值di叫做分量,di必须是Di中的一个值。显然,笛卡尔积的基数就是构成该积所有域的基数累乘积,若Di(i=1,2,…,n)为有限集合,其基数为mi(i=1,2,…,n),则D1′D2′…′Di′…′Dn笛卡尔积的基数M为:该笛卡尔积的基数是M=m1′m2=3′2=6,即该笛卡尔积共有6个元组,它可组成一张二维表,如表2-1所示。30一月2025表2-1D1,D2的笛卡尔积(3)关系(Relation)定义2.3笛卡尔积D1′D2′…′Di′…′Dn的子集R称作在域D1,D2,…,Dn上的关系,记作:R(D1,D2,…,Di,…,Dn)其中:R为关系名,n为关系的度或目(Degree),Di是域组中的第i个域名。当n=1时,称该关系为单元关系;姓名院系王丽丽英语系王丽丽中文系张亭英语系张亭中文系李中英语系李中中文系30一月2025

当n=2时,称该关系为二元关系;以此类推,关系中有n个域,称该关系为n元关系。下面是关系中涉及到的一些相关概念:(1)属性(Attribute):列的名字。(2)候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(CandidateKey)。(3)主码:若一个关系有多个候选码,则选定其中的一个为主码(PrimaryKey)。(4)主属性:主码的诸属性为主属性(PrimeAttribute)。(5)非码属性:不包含在任何候选码中的属性称为非码属性。(6)全码:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)。30一月2025

一般来说,一个关系取自笛卡尔积的子集才有意义。例如表2-2所示:

表2-2D1,D2的笛卡尔积中构造的关系(4)关系的三种类型①基本关系(基本表或基表):实际存在的表,它是实际存储数据的逻辑表示。②查询表:查询结果对应的表。③视图表:有基本表或其他视图导出的表,是虚表,不对应实际存储的数据。姓名院系王丽丽英语系张亭中文系李中英语系30一月20252.2.2关系的性质关系是一种规范化了的二维表中行的集合。为了使相应的数据操作简化,在关系模型中对关系进行了限制,因此关系具有以下六条性质:(1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。(2)关系中的任意两个元组不能相同。(3)关系中不同的列来自相同的域,每一列中有不同的属性名。(4)关系中列的顺序可以任意互换,不会改变关系的意义。(5)行的次序和列的次序一样,也可以任意交换。(6)关系中每一个分量都必须是不可分的数据项,元组分量具有原子性。30一月20252.2.3关系模式定义2.4对关系结构的描述称为关系模式。关系模式可以形式化地表示为:R(U,D,dom,F),其中:

R:关系名。

U:组成该关系的属性名集合。

D:属性的域。

dom:属性向域的映象集合。属性向域的映象常常直接说明为属性的类型、长度。

dom(教师)=dom(学生)=人

F:属性间数据的依赖关系集合。关系模式指出了关系由哪些属性组成。关系模式是静态的、稳定的,而关系是动态的、不断变化的,它是关系模式在某一时刻的状态和内容。关系模式是型,关系是值。30一月2025

一般地,从两个方面描述一个关系:首先,关系模式必须指出它由哪些属性构成,这些属性来自哪个域,以及属性与域之间的映象关系。其次,关系通常由赋予它的元组语义来确定。一组关系模式的集合构成了关系数据库模式。关系数据库模式即为关系数据库的型,关系数据库的值即为关系模式在某一时刻对应的关系的集合。30一月20252.3关系的完整性

关系的完整性有三类:实体完整性、参照完整性和用户定义的完整性。在阐述各类完整性之前,首先介绍几个术语。候选键(CandidateKey)若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选键。主键(PrimaryKey)若一个关系中有多个候选键,则选定一个为主键。主属性(PrimaryAttribute)主键的属性称为主属性。外键(ForeignKey)设F是基本关系R的一个或一组属性,但不是R的键(主键或候选键),如果F与基本关系S的主键K相对应,则称F是R的外键,并称R为参照关系,S为被参照关系。30一月20252.3.1实体完整性(EntityIntegrity)实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。实体完整性规则规定基本关系的所有主属性都不能取空值(Null),而不仅是主码整体不能取空值。空值就是"不知道"或"无意义"。例2.1有如下关系模式:学生(学号,姓名,性别,年龄,籍贯)学号属性为主码,不能取空值。必修课(学号,课程号,成绩)学号,课程号为主码,都不能取空值。若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为如下两种取值之一:(1)取空值(F的每个属性值均为空值);(2)等于S中某个元组的主码值。30一月2025例2.2有如下关系模式:学生(学号,姓名,性别,院系号,年龄)院系(院系号,专业名)院系号属性是学生关系的外码,院系关系是被参照关系,学生关系为参照关系。例2.3有如下关系模式:学生(学号,姓名,性别,院系号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)学号,课程号属性是必修关系的外码。学生关系和课程关系均为被参照关系,必修关系为参照关系。例2.4有如下关系模式:学生(学号,姓名,性别,院系号,年龄,班长)班长属性与本身的主码学号属性相对应,因此班长是外码。学生关系既是参照关系又是被参照关系。

30一月20252.3.2用户定义完整性用户定义的完整性就是用户按照实际的数据库应用系统运行环境要求,针对某一具体关系数据库的约束条件。例如某个属性"成绩"的取值范围必须在0~100之间。用户定义完整性反映某一具体应用所涉及的数据必须满足的语义要求。30一月20252.4关系代数

关系代数的基本有两类:一类是传统的集合运算,另一类是专门的关系运算。其运算符包括四类:集合运算符(∪、-、∩)、专门的关系运算符(×、σ、π、∞、÷)、算术比较符(>、≥、<、≤、=、≠)和逻辑运算符(﹁、∧、∨)。2.4.1传统的集合运算传统的集合运算包括并、交、差、广义笛卡尔积四种运算。当集合运算并、交、差用于关系时,要求参与运算的两个关系必须时相容的,即两个关系的度数一致,并且关系属性的性质必须一致。30一月2025设R和S均为n目关系。(1)并(union)是将两个关系中的所有元组构成新的关系,并运算的结果中必须消除重复值。关系R和S的并记作:

R∪S={t|t∈R∨t∈S}

其结果仍为n目关系,由属于R或属于S的元组组成。(2)差(difference)运算结果是由属于一个关系并且不属于另一个关系的元组构成的新关系,就是从一个关系中减去另一个关系。关系R与S的差记作:

R-S={t|t∈R∧t?S}

其结果关系仍为n目关系,由属于R而不属于S的所有元组组成。30一月2025

(3)交(intersection)将两个关系中的公共元组构成新的关系。关系R与S的交记作:

R∩S={t|t∈R∧t∈S}

其结果关系仍为n目关系,由既属于R又属于S的元组组成。(4)广义笛卡尔积(extendedcartesianproduct)n目关系R与m目关系S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R与关系S的广义笛卡尔积有k1×k2个元组。记作:R×S={tr︵ts|tr∈R∧ts∈S}30一月20252.4.2专门的关系运算专门的关系运算包括:选择、投影、连接、除,为了叙述上的方便,首先引入几个记号。设关系模式R(A1,A2,…,An)(1)t[Ai]表示元组t中相应于属性Ai的一个分量。(2)若A={Ai1,Ai2,…,Ain},其中Ai1,Ai2,…,Ain是A1,A2,…,An中的一部分,则A称为属性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Ain])表示t在属性列A上诸分量的集合。A则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Ain}后剩余的属性组。(3)R为n目关系,S为m关系。tr∈R,ts∈S,tr︵ts称为元组的连接。它是一个n+m列元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。(4)给定一个关系R(X,Z),X和Z为属性组。定义当t[X]=x时,x在R中的象集为:Zx={t[Z]|t∈R,

温馨提示

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

评论

0/150

提交评论