




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据库系统讲义》
第1章绪论
第一节数据库系统概述
1.1.1数据、数据库、数据库管理系统、数据库系统
数据、数据库、数据库管理系统和数据库系统是与数据库技术密切相关的四个基本概念。
一、数据(DATA)
数据是数据库中存储的基本对象。数据在大多数人头脑中的第一个反应就是数字。其实数字只是
最简单的一种数据,是数据的一种传统和狭义的理解。广义的理解,数据的种类很多,文字、图形、
图像、声音、学生的档案记录、货物的运输情况等,这些都是数据。
可以对数据做如下定义:描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是
文字、图形、图像、声音、语言等,数据有多种表现形式,它们都可以经过数字化后存入计算机。
为了了解世界,交流信息,人们需要描述这些事物。在日常生活中直接用自然语言(如汉语)描
述。在计算机中,为了存储和处理这些事物,就要抽出对这些事物感兴趣的特征组成一个记录来描述。
例如:在学生档案中,如果人们最感兴趣的是学生的姓名、性别、年龄、出生年月、籍贯、所在系别、
入学时间,那么可以这样描述:
(李明,男,21,1972,江苏,计算机系,1990)
因此这里的学生记录就是数据。对于上面这条学生记录,了解其含义的人会得到如下信息:李明
是个大学生,1972年出生,男,江苏人,1990年考入计算机系;而不了解其语义的人则无法理解其含
义。可见,数据的形式还不能完全表达其内容,需要经过解释。所以数据和关于数据的解释是不可分
的,数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。
二、数据库(DataBase,简称DB)
数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按
一定的格式存放的。
人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一
步抽取有用信息。在科学技术飞速发展的今天,人们的视野越来越广,数据量急剧增加。过去人们把
数据存放在文件柜里,现在人们借助计算机和数据库技术科学地保存和管理大量的复杂的数据,以便
能方便而充分地利用这些宝贵的信息资源。
所谓数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数
据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
三、数据库管理系统(DataBaseManagementSystem,简称DBMS)
了解了数据和数据库的概念,下一个问题就是如何科学地组织和存储数据,如何高效地获取和维
护数据。完成这个任务的是一个系统软件一一数据库管理系统.
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。它的主要功能包括以下几个方
面:
1.数据定义功能
DBMS提供数据定义语言(DataDefinitionLanguage,简称DDL),用户通过它可以方便地定义对数
据库中的数据对象进行定义。
2.数据操纵功能
DBMS还提供数据操纵语言(DataManipulationLanguage,简称DML),用户可以使用DML操纵
数据实现对数据库的基本操作,如查询、插入、删除和修改等。
3.数据库的运行管理
数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完
整性、多用户对数据的并发使用及发生故障后的系统恢复。
4.数据库的建立和维护功能
它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性
能监视、分析功能等。这些功能通常是由一些实用程序完成的。
数据库管理系统是数据库系统的一个重要组成部分。
四、数据库系统(DataBaseSystem,简称DBS)
数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及
其开发工具)、应用系统、数据库管理员和用户构成。应当指出的是,数据库的建立、使用和维护等工
作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(DataBase
Administrator,简称DBA)。
在一般不引起混淆的情况下常常把数据库系统简称为数据库。
1.1.2数据管理技术的产生和发展
数据库技术是应数据管理任务的需要而产生的。
数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据管理则是指
对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。
人们借助计算机进行数据处理是近三十年的事。研制计算机的初衷是利用它进行复杂的科学计算。
随着计算机技术的发展,其应用远远地超出了这个范围。在应用需求的推动下,在计算机硬件、软件
发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。
1.1.3数据库系统的特点
与人工管理和文件系统相比,数据库系统的特点主要有以下几个方面。
一、数据结构化
数据结构化是数据库与文件系统的根本区别。
在文件系统中,相互独立的文件的记录内部是有结构的。传统文件的最简单形式是等长同格式的
记录集合。
二、数据的共享性高,冗余度低,易扩充
数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可
以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能
够避免数据之间的不相容性与不一致性。
所谓数据的不一致性是指同一数据不同拷贝的值不一样。采用人工管理或文件系统管理时,由于
数据被重复存储,当不同的应用使用和修改不同的拷贝时就很容易造成数据的不一致。在数据库中数
据共享,减少了由于数据冗余(同•数据存储在不同的数据文件中的现象)造成的不一致现象。
由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应
用,这就使得数据库系统弹性大,易于扩充,可以适应各种用户的要求。可以取整体数据的各种子集
用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以
满足新的需求。
三、数据独立性高
数据独立性是数据库领域中一个常用术语,包括数据的物理独立性和数据的逻辑独立性。
物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据
在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据
的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构
改变了,用户程序也可以不变。
数据独立性是由DBMS的二级映象功能来保证的,将在下面讨论。
数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简
化了应用程序的编制,大大减少了应用程序的维护和修改。
四、数据由DBMS统一管理和控制
数据库的共享是并发的(Concurrency)共享,即多个用户可以同时存取数据库中的数据甚至可以
同时存取数据库中同一个数据。
为此,DBMS还必须提供以下几方面的数据控制功能:
(1)数据的安全性(Security)保护
数据的安全性是指保护数据以防止不合法的使用造成的数据的泄密和破坏。使每个用户只能按规
定,对某些数据以某些方式进行使用和处理。
(2)数据的完整性(Integrity)检查
数据的完整性指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,或保
证数据之间满足一定的关系。
(3)并发(Concurrency)控制
当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得
数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。
(4)数据库恢复(Recovery)
计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏也会影响数据库中数据的正确
性,甚至造成数据库部分或全部数据的丢失。DBMS必须具有将数据库从错误状态恢复到某一已知的
正确状态(亦称为完整状态或一致状态)的功能,这就是数据库的恢复功能。
综上所述,数据库是长期存储在计算机内有组织的大量的共享的数据集合。它可以供各种用户共
享,具有最小冗余度和较高的数据独立性。DBMS在数据库建立、运用和维护时对数据库进行统一控
制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系
统进行恢复。
数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶
段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,
提高了决策的可靠性。
目前,数据库已经成为现代信息系统的不可分离的重要组成部分。具有数百万甚至数十亿字节信
息的数据库已经普遍存在于科学技术、工业、农业、商业、服务业和政府部门的信息系统。20世纪80
年代后不仅在大型机上,在多数微机上也配置了DBMS,使数据库技术得到更加广泛的应用和普及。
数据库技术是计算机领域中发展最快的技术之一。数据库技术的发展是沿着数据模型的主线展开
的。下面讨论数据模型。
第二节数据模型
是具体的模型。一眼望去,就会使人联想到真实生活中的事物。模型是现实世界特征的模拟和抽象。
数据模型(DataModel)也是一种模型,它是现实世界数据特征的抽象。
数据库是某个企业、组织或部门所涉及的数据的综合,它不仅要反映数据本身的内容,而且要反
映数据之间的联系。由于计算机不可能直接处理现实世界中的具体事物,所以人们必须事先把具体事
物转换成计算机能够处理的数据。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的
数据和信息。通俗地讲数据模型就是现实世界的模拟。
现有的数据库系统均是基于某种数据模型的。因此,了解数据模型的基本概念是学习数据库的基
础。
数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于
在计算机上实现。一种数据模型要很好地满足这三方面的要求在目前尚很困难。在数据库系统中针对
不同的使用对象和应用目的,采用不同的数据模型。
不同的数据模型实际上是提供给我们模型化数据和信息的不同工具。根据模型应用的不同目的,
可以将这些模型划分为两类,它们分属于两个不同的层次。
第一类模型是截念模第也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据
库设计。员一类模型姥数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的
观点对数据建模,主要用于DBMS的实现。
数据模型是数据库系统的核心和基础。各种机器上实现的DBMS软件都是基于某种数据模型的。
为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,人们常常首先将现实世
界抽象为信息世界,然后将信息世界转换为机器世界。也就是说,首先把现实世界中的客观对象抽象
为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个DBMS支持的数据模型,
而是概念级的模型;然后再把概念模型转换为计算机上某一DBMS支持的数据模型。
1.2.1数据模型的组成要素
一般地讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动
态特性和完整性约束条件。因此,数据模型通常由数据结构、数据操作和完整性约束三部分组成。
一、数据结构
数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,它们包括两类,一类是与
数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录,关系模型中的域、属性、关系
等;一类是与数据之间联系有关的对象,例如网状模型中的系型(SetType)»
数据结构是刻画一个数据模型性质最重要的方面。因此,在数据库系统中,人们通常按照其数据
结构的类型来命名数据模型。例如层次结构、网状结构和关系结构的数据模型分别命名为层次模型、
网状模型和关系模型。
数据结构是对系统静态特性的描述。
二、数据操作
数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关
的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这
些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作是对系统动态
特性的描述。
三、数据的约束条件
数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有
的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、
相容。
数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如,在关系模
型中,任何关系必须满足实体完整性和参照完整性两个条件。
此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守
的特定的语义约束条件。例如,在学校的数据库中规定大学生入学年龄不得超过30岁,硕士研究生入
学年龄不得超过38岁,学生累计成绩不得有三门以上不及格等。
1.2.2概念模型
概念模型实际上是现实世界到机器世界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数
据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具
有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清
晰、易于用户理解。
一、信息世界中的基本概念
信息世界涉及的概念主要有:
(1)实体(Entity)
客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或
联系,例如,一个职工、一个学生、一个部门、一门课、学生的一次选课、部门的一次订货、老师与
系的工作关系(即某位老师在某系工作)等都是实体。
(2)属性(Attribute)
实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如学生实体可以由学号、
姓名、性别、出生年份、系、入学时间等属性组成。(94002268,张山,男,1976,计算机系,1994)
这些属性组合起来表征了一个学生。
(3)码(Key)
唯一标识实体的属性集称为码。例如学号是学生实体的码。
(4)域(Domain)
属性的取值范围称为该属性的域。例如,学号的域为8位整数,姓名的域为字符串集合,年龄的
域为小于38的整数,性别的域为(男,女)。
(5)实体型(EntityType)
具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实
体,称为实体型。例如,学生(学号,姓名,性别,出生年份,系,入学时间)就是一个实体型。
(6)实体集(EntitySet)
同型实体的集合称为实体集。例如,全体学生就是一个实体集。
(7)联系(Relationship)
在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内
部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之
间的联系通常是指不同实体集之间的联系。
两个实体型之间的联系可以分为三类:
①一对一联系(1:1)
如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之
亦然,则称实体集A与实体集B具有一对一联系,记为1:1。
例如,学校里面,一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间
具有一对一联系。
②一对多联系(1:n)
如果对于实体集A中的每一个实体,实体集B中有n个实体(n》0)与之联系,反之,对于实体
集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多
联系,记为1:n«
例如,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对
多联系。
③多对多联系(m:n)
如果对于实体集A中的每一个实体,实体集B中有n个实体(n20)与之联系,反之,对于实体
集B中的每一个实体,实体集A中也有m个实体(m20)与之联系,则称实体集A与实体集B具有
多对多联系,记为m:n。
二、概念模型的表示方法
概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出上述信息世界中的常用
概念。概念模型的表示方法很多,其中最为著名最为常用的是P.P.S.Chen于1976年提出的实体-联系
方法(Entity-RelationshipApproach)«该方法用E-R图来描述现实世界的概念模型,E-R方法也称为
E-R模型。
这里介绍E-R图的要点。
E-R图提供了表示实体型、属性和联系的方法:
•实体型:用矩形表示,矩形框内写明实体名。
•属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。
•联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向
边旁标上联系的类型(1:1,l:n或m:n)。
需要注意的是,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。
实体-联系方法是抽象和描述现实世界的有力工具。用E-R图表示的概念模型独立于具体的DBMS
所支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世
界。
1.2.3最常用的数据模型
目前,数据库领域中最常用的数据模型有四种,它们是:
,层次模型(HierarchicalModel)
,网状模型(NetworkModel)
,关系模型(RelationalModel)
,面向对象模型(ObjectOrientedModel)
其中层次模型和网状模型统称为非关系模型。
非关系模型的数据库系统在20世纪70年代至80年代初非常流行,在数据库系统产品中占据了主
导地位,现在已逐渐被关系模型的数据库系统取代,但在美国等一些国家里,由于早期开发的应用系
统都是基于层次数据库或网状数据库系统的,因此目前仍有不少层次数据库或网状数据库系统在继续
使用。
20世纪80年代以来,面向对象的方法和技术在计算机各个领域,包括程序设计语言、软件工程、
信息系统设计•、计算机硬件设计等各方面都产生了深远的影响,也促进数据库中面向对象数据模型的
研究和发展。
本章简要介绍层次模型、网状模型和关系模型。
数据结构、数据操作和完整性约束条件这三个方面的内容完整地描述了一个数据模型,其中数据
结构是刻画模型性质的最基本的方面。为了使读者对数据模型有一个基本认识,下面着重介绍三种模
型的数据结构。
注意:这里讲的数据模型都是逻辑上的,也就是说是用户眼中看到的数据范围。同时它们又都是
能用某种语言描述,使计算机系统能够理解,被数据库管理系统支持的数据视图。这些数据模型将以
一定的方式存储于数据库系统中,这是DBMS的功能,是DBMS中的存储模型。
在非关系模型中,实体用记录表示,实体的属性对应记录的数据项(或字段)。实体之间的联系在
非关系模型中转换成记录之间的两两联系。
1.2.4层次模型
层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方
式。层次数据库系统的典型代表是IBM公司的IMS(InformationManagementSystem)数据库管理系
统,这是1968年IBM公司推出的第一个大型的商用数据库管理系统,曾经得到广泛的使用。
层次模型用树形结构来表示各类实体以及实体间的联系。现实世界中许多实体之间的联系本来就
呈现出一种很自然的层次关系,如行政机构、家族关系等。
一、层次数据模型的数据结构
在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。
(1)有且只有一个结点没有双亲结点,这个结点称为根结点;
(2)根以外的其他结点有且只有一个双亲结点。
在层次模型中,每个结点表示一个记录类型,记录(类型)之间的联系用结点之间的连线(有向
边)表示,这种联系是父子之间的一对多的联系。这就使得层次数据库系统只能处理一对多的实体联
系。
每个记录类型可包含若干个字段,这里,记录类型描述的是实体,字段描述实体的属性。各个记
录类型及其字段都必须命名。各个记录类型、同一记录类型中各个字段不能同名。每个记录类型可以
定义一个排序字段,也称为码字段,如果定义该排序字段的值是唯一的,则它能唯一地标识一个记录
值。
一个层次模型在理论上可以包含任意有限个记录型和字段,但任何实际的系统都会因为存储容量
或实现复杂度而限制层次模型中包含的记录型个数和字段的个数。
在层次模型中,同一双亲的子女结点称为兄弟结点(Twin或Sibling),没有子女结点的结点称为
叶结点。
二、多对多联系在层次模型中的表示
前面已经说过,层次数据模型只能直接表示一对多(包括一对一)的联系,那么另一种常见联系-
多对多联系能否在层次模型中表示呢?答案是肯定的,否则层次模型就无法真正反映现实世界了。但
是用层次模型表示多对多联系,必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚
拟结点法。下面用一个例子来说明这两种分解方法。
二、层次模型的数据操纵与完整性约束
层次模型的数据操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次
模型的完整性约束条件。
进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。例如在图1.18的层次数据
库中,若新调入一名教师,但尚未分配到某个教研室,这时就不能将新教员插入到数据库中。
进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。例如在图1.18的层
次数据库中,若删除网络教研室,则该教研室所有老师的数据将全部丢失。
进行更新操作时,应更新所有相应记录,以保证数据的一致性。例如在图1.20(b)的层次模型中,
如果一个学生要改姓名,则两处学生记录值的姓名字段都需更新。
三、层次数据模型的存储结构
层次数据库中不仅要存储数据本身,还要存储数据之间的层次联系。层次模型数据的存储常常是
和数据之间联系的存储结合在一起的。
四、层次模型的优缺点
层次模型的优点主要有:
•层次数据模型本身比较简单。
•对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系
模型,不低于网状模型。
•层次数据模型提供了良好的完整性支持。
层次模型的缺点主要有:
•现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示
这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织(引入
虚拟结点)来解决。
•对插入和删除操作的限制比较多。
•查询子女结点必须通过双亲结点。
•由于结构严密,层次命令趋于程序化。
可见用层次模型对具有一对多的层次关系的部门描述非常自然、直观,容易理解。这是层次数据
库的突出优点。
1.2.5网状模型
在现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示非树形结构是很不直接的,
网状模型则可以克服这一弊病。
网状数据库系统采用网状模型作为数据的组织方式。网状数据模型的典型代表是DBTG系统,亦
称CODASYL系统。这是70年代数据系统语言研究会CODASYL(ConferenceOnDataSystem
Language)下属的数据库任务组(DataBaseTaskGroup,简称DBTG)提出的一个系统方案。DBTG
系统虽然不是实际的软件系统,但是它提出的基本概念、方法和技术具有普遍意义。它对于网状数据
库系统的研制和发展起了重大的影响。后来不少的系统都采用DBTG模型或者简化的DBTG模型。例
如,CullinetSoftware公司的IDMS、Univac公司的DMS1100、Honeywell公司的IDS/2、HP公司的
IMAGE等。
一、网状数据模型的数据结构
在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:
(1)允许一个以上的结点无双亲;
(2)一个结点可以有多于一个的双亲。
网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没
有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系(称之为复合联系)。
因此网状模型可以更直接地去描述现实世界。而层次模型实际上是网状模型的一个特例。
与层次模型一样,网状模型中每个结点表示一个记录类型(实体),每个记录类型可包含若干个字
段(实体的属性),结点间的连线表示记录类型(实体)之间一对多的父子联系。
二、网状数据模型的操纵与完整性约束
网状数据模型-一般来说没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统(如
DBTG)对数据操纵都加了一些限制,提供了一定的完整性约束。
DBTG在模式DDL中提供了定义DBTG数据库完整性的若干概念和语句,主要有:
(1)支持记录码的概念,码即唯一标识记录的数据项的集合。例如,学生记录(如图1.25)中学
号是码,因此数据库中不允许学生记录中学号出现重复值。
(2)保证一个联系中双亲记录和子女记录之间是一对多的联系。
(3)可以支持双亲记录和子女记录之间某些约束条件。例如,有些子女记录要求双亲记录存在才
能插入,双亲记录删除时也连同删除。例如图1.26中SC记录就应该满足这种约束条件,学生选课记
录值必须是数据库中存在的某一学生,某一门课的选修记录。DBTG提供了“属籍类别”的概念来描
述这类约束条件。
三、网状数据模型的存储结构
网状数据模型的存储结构中关键是如何实现记录之间的联系。常用的方法是链接法,包括单向链
接、双向链接、环状链接、向首链接等,此外还有其他实现方法,如指引元阵列法、二进制阵列法、
索引法等依具体系统不同而不同。
四、网状数据模型的优缺点
网状数据模型的优点主要有:
能够更为直接地描述现实世界,如一个结点可以有多个双亲。
•具有良好的性能,存取效率较高。
网状数据模型的缺点主要有:
结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户
掌握。
•其DDL,DML语言复杂,用户不容易使用。
由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因
此,用户必须了解系统结构的细节,加重了编写应用程序的负担。
1.2.6关系模型
关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。
1970年美国IBM公司SanJose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型,开
创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。由于E.F.Codd的杰出工
作,他于1981年获得ACM图灵奖。
20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的
产品也大都加上了关系接口。数据库领域当前的研究工作也都是以关系方法为基础。因此本书的重点
也将放在关系数据库上,下面四章将详细讲解关系数据库。
一、关系数据模型的数据结构
关系模型与以往的模型不同,它是建立在严格的数学概念的基础上的。这里只简单勾画一下关系
模型。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
•关系(Relation):一个关系对应通常说的一张表,如图1.27中的这张学生登记表;
•元组(Tuple):表中的一行即为一个元组;
•属性(Attribute):表中的一列即为一个属性,给每一个属性起一•个名称即属性名。如上表有
六列,对应六个属性(学号,姓名,年龄,性别,系和年级);
•主码(Key):表中的某个属性组,它可以唯一确定一个元组,如图1.27中的学号,可以唯一
确定一个学生,也就成为本关系的主码;
•域(Domain):属性的取值范围,如人的年龄一般在1~150岁之间,大学生年龄属性的域是
(14〜38),性别的域是(男,女),系别的域是一个学校所有系名的集合;
•分量:元组中的一个属性值;
•关系模式:对关系的描述,一般表示为:
关系名(属性1,属性2,…,属性n)
例如上面的关系可描述为:
学生(学号,姓名,年龄,性别,系和年级)
在关系模型中,实体以及实体间的联系都是用关系来表示。例如学生、课程、学生与课程之间的
多对多联系在关系模型中可以如下表示:
学生(学号,姓名,年龄,性别,系和年级)
课程(课程号,课程名,学分)
选修(学号,课程号,成绩)
关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件中最基
本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。
二、关系数据模型的操纵与完整性约束
关系数据模型的操作主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约
束条件。关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。其具体
含义将在后面介绍。
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合,而不像
非关系模型中那样是单记录的操作方式。另一方面,关系模型把存取路径向用户隐蔽起来,用户只要
指出“干什么”或“找什么”,不必详细说明“怎么干”或“怎么找”,从而大大地提高了数据的独立
性,提高了用户生产率。
三、关系数据模型的存储结构
在关系数据模型中,实体及实体间的联系都用表来表示。在数据库的物理组织中,表以文件形式
存储,有的系统一个表对应一个操作系统文件,有的系统自己设计文件结构。
四、关系数据模型的优缺点
关系数据模型具有下列优点:
•关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。
•关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数据的检索结果也是关
系(即表)。所以其数据结构简单、清晰,用户易懂易用。
•关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了
程序员的工作和数据库开发建立的工作。
所以关系数据模型诞生以后发展迅速,深受用户的喜爱。
当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路径对用户透明,查询效率往往
不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理
系统的难度。
第三节数据库系统结构
从数据库管理系统角度看,数据库系统通常采用三级模式结构;这是数据库管理系统内部的系统
结构。
从数据库最终用户角度看,数据库系统的结构分为单用户结构、主从式结构、分布式结构和客户
/服务器结构。这是数据库系统外部的体系结构。
本章介绍数据库系统的模式结构。
1.3.1数据库系统模式的概念
在数据模型中有“型"(Type)和“值"(Value)的概念。型是指对某一类数据的结构和属性的说
明,值是型的一个具体赋值。例如:学生记录定义为(学号,姓名,性别,系别,年龄,籍贯)这样
的记录型,而(900201,李明,男,计算机,22,江苏)则是该记录型的一个记录值。
模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及
到具体的值。模式的一个具体值称为模式的一个实例(Instance)。同一个模式可以有很多实例。模式
是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。模式反映的是数据的结
构及其联系,而实例反映的是数据库某一时刻的状态。
虽然实际的数据库管理系统产品种类很多,它们支持不同的数据模型,使用不同的数据库语言,
建立在不同的操作系统之上,数据的存储结构也各不相同,但它们在体系结构上通常都具有相同的特
征,即采用三级模式结构(早期微机上的小型数据库系统除外)并提供两级映象功能。
1.3.2数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。
一、模式(Schema)
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,
与所使用的应用开发工具及高级程序设计语言(如C,COBOL,FORTRAN)无关。
模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。数据库模式以某一种数
据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。定义
模式时不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名字、类型、取值范
围等,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。
DBSM提供模式描述语言(模式DDL)来严格地定义模式。
二、外模式(ExternalSchema)
外模式也称子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能
够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的
数据的逻辑表示。
外模式通常是模式的子集。一个数据库可以有多个外模式。由于它是各个用户的数据视图,如果
不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,则其外模式描述就是
不同的。即使对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。另一方
面,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。
外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,
数据库中的其余数据是不可见的。
DBSM提供子模式描述语言(子模式DDL)来严格地定义子模式。
三、内模式(InternalSchema)
内模式也称存储模式(StorageSchema),一个数据库只有一个内模式。它是数据物理结构和存储
方式的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序存储、按照B树结构存
储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结
构有何规定等。
DBSM提供内模式描述语言(内模式DDL,或者存储模式DDL)来严格地定义内模式。
1.3.3数据库的二级映象功能与数据独立性
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户
能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部
实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:
•外模式/模式映象
•模式/内模式映象
正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
一、外模式/模式映象
模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可
以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模
式与模式之间的对应关系。这些映象定义通常包含在各自外模式的描述中。
当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个
外模式/模式的映象作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从
而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
二、模式/内模式映象
数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一的,它定义了数据全
局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。该映象定
义通常包含在模式描述中。当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理
员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与
程序的物理独立性,简称数据的物理独立性。
在数据库的三级模式结构中,数据库模式即全局逻辑结构是数据库的中心与关键,它独立于数据
库的其他层次。因此设计数据库模式结构时应首先确定数据库的逻辑模式。
数据库的内模式依赖于它的全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体
的存储设备。它是将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,
以达到较好的时间与空间效率。
数据库的外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于存储模式和存储设备。
当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动,所以设计
外模式时应充分考虑到应用的扩充性。
特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式
和存储结构独立。不同的应用程序有时可以共用同一个外模式。数据库的二级映象保证了数据库外模
式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般
不需要修改。
数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。另外,由于数据
的存取由DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用
程序的维护和修改。
第四节数据库系统的组成
据库管理员和用户构成。下面分别介绍这几个部分的内容。
一、硬件平台及数据库
由于数据库系统数据量都很大,加之DBMS丰富的功能使得自身的规模也很大,因此整个数据库
系统对硬件资源提出了较高的要求,这些要求是:
(1)要有足够大的内存,存放操作系统、DBMS的核心模块、数据缓冲区和应用程序。
(2)有足够的大的磁盘等直接存取设备存放数据库,有足够的磁带(或微机软盘)作数据备份。
(3)要求系统有较高的通道能力,以提高数据传送率。
二、软件
数据库系统的软件主要包括:
(1)DBMS。DBMS是为数据库的建立、使用和维护配置的软件。
(2)支持DBMS运行的操作系统。
(3)具有与数据库接口的高级语言及其编译系统,便于开发应用程序。
(4)以DBMS为核心的应用开发工具。
应用开发工具是系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代语
言等各种软件工具。它们为数据库系统的开发和应用提供了良好的环境。
(5)为特定应用环境开发的数据库应用系统。
三、人员
开发、管理和使用数据库系统的人员主要是:数据库管理员、系统分析员和数据库设计人员、应
用程序员和最终用户。不同的人员涉及不同的数据抽象级别,具有不同的数据视图。
1.数据库管理员(DataBaseAdministrator,简称DBA)
在数据库系统环境下,有两类共享资源。一类是数据库,另一类是数据库管理系统软件.因此需
要有专门的管理机构来监督和管理数据库系统。DBA则是这个机构的一个(组)人员,负责全面管理
和控制数据库系统。具体职责包括:
(1)决定数据库中的信息内容和结构
数据库中要存放哪些信息,DBA要参与决策。因此DBA必须参加数据库设计的全过程,并与用
户、应用程序员、系统分析员密切合作共同协商,搞好数据库设计。
(2)决定数据库的存储结构和存取策略
DBA要综合各用户的应用要求,和数据库设计人员共同决定数据的存储结构和存取策略以求获得
较高的存取效率和存储空间利用率。
(3)定义数据的安全性要求和完整性约束条件
DBA的重要职责是保证数据库的安全性和完整性。因此,DBA负责确定各个用户对数据库的存
取权限、数据的保密级别和完整性约束条件。
(4)监控数据库的使用和运行
DBA还有一个重要职责就是监视数据库系统的运行情况,及时处理运行过程中出现的问题。比如
系统发生各种故障时,数据库会因此遭到不同程度的破坏,DBA必须在最短时间内将数据库恢复到正
确状态,并尽可能不影响或少影响计算机系统其他部分的正常运行。为此,DBA要定义和实施适当的
后备和恢复策略。如周期性的转储数据、维护日志文件等等。有关这方面的内容将在下面做进一步讨
论。
(5)数据库的改进和重组重构
DBA还负责在系统运行期间监视系统的空间利用率、处理效率等性能指标,对运行情况进行记录、
统计分析,依靠工作实践并根据实际应用环境,不断改进数据库设计。不少数据库产品都提供了对数
据库运行状况进行监视和分析的实用程序,DBA可以使用这些实用程序完成这项工作。
另外,在数据运行过程中,大量数据不断插入、删除、修改,时间一长,会影响系统的性能。因
此,DBA要定期对数据库进行重组织,以提高系统的性能。
当用户的需求增加和改变时,DBA还要对数据库进行较大的改造,包括修改部分设计,即数据库
的重构造。
2.系统分析员和数据库设计人员
系统分析员负责应用系统的需求分析和规范说明,要和用户及DBA相结合,确定系统的硬件软
件配置,并参与数据库系统的概要设计。
数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用
户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担
任。
3.应用程序员
应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。
4.用户
这里用户是指最终用户(EndUser)。最终用户通过应用系统的用户接口使用数据库。常用的接口
方式有浏览器、菜单驱动、表格操作、图形显示、报表书写等一唐山市警用地理信息系统数据库)
最终用户可以分为如下三类:
(1)偶然用户。这类用户不经常访问数据库,但每次访问数据库时往往需要不同的数据库信息,
这类用户一般是企业或组织机构的高中级管理人员。
(2)简单用户。数据库的多数最终用户都是简单用户。其主要工作是查询和更新数据库,一般都
是通过应用程序员精心设计并具有友好界面的应用程序存取数据库。银行的职员、铁路售票、航空公
司的机票预定工作人员、旅馆总台服务员等都属于这类用户。
(3)复杂用户。复杂用户包括工程师、科学家、经济学家、科学技术工作者等具有较高科学技术
背景的人员。这类用户一般都比较熟悉数据库管理系统的各种功能,能够直接使用数据库语言访问数
据库,甚至能够基于数据库管理系统的API(ApplicationProgrammingInterface,应用程序编程接口)编制自己
的应用程序。
第五节数据库技术的研究领域
一、数据库管理系统软件的研制
DBMS是数据库系统的基础。DBMS的研制包括研制DBMS本身及以DBMS为核心的•组相互
联系的软件系统,包括工具软件和中间件。研制的目标是提高系统的可用性、可靠性、可伸缩性;提
高性能和提高用户的生产率。
DBMS核心技术的研究和实现是三十余年来数据库领域所取得的主要成就。DBMS是一个基础软
件系统,它提供了对数据库中的数据进行存储、检索和管理的功能。
二、数据库设计
数据库设计的主要任务是在DBMS的支持下,按照应用的要求,为某一部门或组织设计一个结构
合理、使用方便、效率较高的数据库及其应用系统。其中主要的研究方向是数据库设计方法学和设计
工具,包括数据库设计方法、设计工具和设计理论的研究,数据模型和数据建模的研究,计算机辅助
数据库设计方法及其软件系统的研究,数据库设计规范和标准的研究等。
三、数据库理论
数据库理论的研究主要集中于关系的规范化理论、关系数据理论等。近年来,随着人工智能与数
据库理论的结合、并行计算技术等的发展,数据库逻辑演绎和知识推理、数据库中的知识发现
(KnowledgeDiscoveryfromDatabase,简称KDD)、并行算法等成为新的理论研究方向。
计算机领域中其他新兴技术的发展对数据库技术产生了重大影响。数据库技术和其他计算机技术
的互相结合、互相渗透,使数据库中新的技术内容层出不穷。数据库的许多概念、技术内容、应用领
域,甚至某些原理都有了重大的发展和变化。建立和实现了一系列新型数据库系统,如分布式数据库
系统、并行数据库系统、知识库系统、多媒体数据库系统等。它们共同构成了数据库系统大家族,使
数据库技术不断地涌现新的研究方向。
本书介绍数据库系统的基本概念、基本技术和基本知识方面是进一步进行上述三个领域研究和开
发的基础。
第六节小结
展的背景,也说明了数据库系统的优点。
数据模型是数据库系统的核心和基础。本章介绍了组成数据模型的三个要素、概念模型和三种主
要的数据库模型。
概念模型也称信息模型,用于信息世界的建模,E-R模型是这类模型的典型代表,E-R方法简单、
清晰,应用十分广泛。
数据模型的发展经历了格式化数据模型(包括层次模型和网状模型)、关系模型,正在走向面向对
象等非传统数据模型。由于层次数据库和网状数据库已逐渐被关系数据库代替,本书不再用单独的章
节讲解,因此,本章较为详细地讲解了层次模型和网状模型,而关系模型只是简单介绍,后面会详细
讲解。
数据库系统三级模式和两层映象的系统结构保证了数据库系统中能够具有较高的逻辑独立性和物
理独立性。
最后介绍了数据库系统的组成,使学生了解数据库系统不仅是一个计算机系统,而是一个人-机系
统,人的作用特别是DBA的作用尤为重要。
学习这一章应把注意力放在掌握基本概念和基本知识方面,为进一步学习下面章节打好基础。本
章新概念较多,如果是刚开始学习数据库,可在学习后面章节后再回来理解和掌握这些概念。
第2章关系数据库
第一节关系模型概述
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
一、单一的数据结构一一关系
关系模型的数据结构非常单一。在关系模型中,现实世界的实体以及实体间的各种联系均用关系
来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。
二、关系操作
关系模型给出了关系操作的能力,但不对RDBMS语言给出具体的语法要求。
关系模型中常用的关系操作包括:选择(Select)、投影(Project)>连接(Join)、除(Divide)、
并(Union)、交(Intersection)>差(Difference)等查询(Query)操作和增加(Insert)、删除(Delete)、
修改(Update)操作两大部分。查询的表达能力是其中最主要的部分。
关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集
合(set-at-a-time)的方式。相应地,非关系数据模型的数据操作方式则为一次一记录(record-at-a-time)
的方式。
早期的关系操作能力通常用代数方式或逻辑方式来表示,分别称为关系代数和关系演算。关系代
数是用对关系的运算来表达查询要求的方式。关系演算是用谓词来表达查询要求的方式。关系演算又
可按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算。关系代数、元组关
系演算和域关系演算三种语言在表达能力上是完全等价的。
关系代数、元组关系演算和域关系演算均是抽象的查询语言,这些抽象的语言与具体的DBMS中
实现的实际语言并不完全一样。但它们能用作评估实际系统中查询语言能力的标准或基础。实际的查
询语言除了提供关系代数或关系演算的功能外,还提供了许多附加功能,例如集函数、关系赋值、算
术运算等。
关系语言是一种高度非过程化的语言,用户不必请求DBA为其建立特殊的存取路径,存取路径
的选择由DBMS的优化机制来完成,此外,用户不必求助于循环结构就可以完成数据操作。
另外还有一种介于关系代数和关系演算之间的语言SQL(StandardQueryLanguage)oSQL不仅具
有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、DDL、DML和DCL于一体的关
系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言。
因此,关系数据语言可以分为三类:
关系代数语言,例如ISBL
关系演算语言,(元组关系演算语言,例如APLHA,QUEL和域关系演算语言,例如QBE)
具有关系代数和关系演算双重特点的语言例如SQL
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能
强,能够嵌入高级语言中使用。
三、关系的三类完整性约束
关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完
整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。用户定义的完
整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。
下面将分别介绍关系模型的三个方面。其中2.2节介绍关系数据结构,包括关系的形式化定义及
有关概念;2.3节介绍关系的三类完整性;2.4节介绍关系代数;2.5节介绍关系演算;第三章将专门介
绍SQL语言。
第二节关系数据结构及形式化定义
还是实体之间的联系均由单一的结构类型即关系(表)来表示•前面
已经非形式化地介绍了关系模型及有关的基本概念。关系模型是建立在集合代数的基础上的,这里从
集合论角度给出关系数据结构的形式化定义。
2.2.1关系
1.域(Domain)
定义2.1域是一组具有相同数据类型的值的集合。
例如,自然数、整数、实数、长度小于25字节的字符串集合、{0,1}、大于等于。且小于等于
100的正整数等,都可以是域。
2.笛卡尔积(CartesianProduct)
定义2.2给定一组域DI,D2,…,Dn,这些域中可以有相同的。DI,D2,…,Dn的笛卡尔积
为:
D1XD2X…XDn={(dl,d2,…,dn)Idi?Di,i=l,2,…,n}
其中每一个元素(dl,d2,•••,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)»
元素中的每一个值di叫作一个分量(Component)。
笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。例如给出三
个域:
SUPERVISORS?#^,刘逸
口2=专业集合SPECIALITY=计算机专业,信息专业
D3=研究生集合POSTGRADUATE=李勇,刘晨,王敏
则Dl,D2,D3的笛卡尔积为:
DIXD2XD3={(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),
(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),
(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),
(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),
(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),
(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏)}
其中(张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组。张清玫、计算机专
业、李勇、刘晨等都是分量。
该笛卡尔积的基数为2X2X3=12,也就是说,D1XD2XD3一共有2X2X3=12个元组。这12
个元组可列成一张二维表(如表2.1)。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村民间劳务合作协议书
- 西游记人物分析与社会意义探讨教案
- 北海市银海区海水养殖区E2区项目环境影响报告表
- 2025年教师招聘之《幼儿教师招聘》测试卷含答案详解【研优卷】
- 医护关系评价视角
- 教师招聘之《小学教师招聘》考试综合练习含完整答案详解【典优】
- (正式版)DB15∕T 2650-2022 《紫苏种子质量分级》
- 医院新质生产力发展路径
- (正式版)DB15∕T 2610-2022 《饲用燕麦青贮技术规程》
- 无形资产与新质生产力
- 贵州人民版劳动五年级上册全册教案教学设计
- 《新媒体运营》全套教学课件
- 温室气体排放核算和核查实践理论考核试题
- 1安全生产关键节点清单及核查内容清单
- 2024-2029年中国金枪鱼行业市场发展分析及发展趋势与投资前景研究报告
- 燃气管道保护方案(雨污分流二标)
- 2023年国家公务员录用考试《行测》行政执法卷 答案及解析
- 幼儿园保安项目物资配备方案
- 地下连续墙施工质量控制要点
- 2024年2月内蒙古呼伦贝尔扎赉诺尔事业单位面试题及参考答案
- IPC-A-610三级标准教材
评论
0/150
提交评论