《第1章--数据库系统概述ppt课件(全).ppt》由会员分享,可在线阅读,更多相关《第1章--数据库系统概述ppt课件(全).ppt(122页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库原理及应用数据库原理及应用(SQLServer2008)课程在本专业课程体系中的地位课程在本专业课程体系中的地位考核成绩评定:采用百分制,包括理论部考核成绩评定:采用百分制,包括理论部分与实验部分,理论部分不及格者补考。分与实验部分,理论部分不及格者补考。总成绩比例:理论部分总成绩比例:理论部分80%+平时成绩平时成绩20%考试形式:理论部分为课程结束后闭卷考考试形式:理论部分为课程结束后闭卷考试,作业包括上机实验和课堂提问成绩。试,作业包括上机实验和课堂提问成绩。教材介绍本书内容本书内容本书以流行的MicrosoftSQLServer2008R2为实验平台,讲述了数据库系统的基本原理及
2、应用技术。全书共分为11章,深入介绍了数据库系统基本概念、MicrosoftSQLServer2008R2安装和配置技术、Transact-SQL语言、数据库和数据库表管理,数据查询,索引与视图,存储过程和触发器、安全性管理以及数据库系统设计,最后以一个综合实例介绍了数据库应用系统开发的过程。本书以案例来解析数据库原理,概念清楚、重点突出、内容丰富、结构合理、思路清晰、示例翔实。每章都附有习题及上机实验。它主要面向数据库初学者,适合作为大专院校的数据库教材、各种数据库培训班的培训教材,还可作为MicrosoftSQLServer应用开发人员的参考资料。学生通过本书的学习,可以建立起一个完整的数
3、据库原理及应用的知识体系,掌握数据库系统的实用技术。本书特点:基础性本书内容丰富、结构合理、可读性强,每个知识点都用浅显的语言反复解释,在叙述方式上注重温故知新、前后呼应,以便学生灵活掌握、融会贯通。实用性为了使数据库原理变得通俗易懂,配合“案例驱动”教学模式的开展,几乎每章都以实用的案例来说明相关概念与操作。这些案例均从简到难,逐步深入,便于学生理解和掌握;并且,精选了一个大的实例系统贯穿全书始终。系统性本书配套资料齐全,书中有习题、案例和实验。目录:本书共分11章。第1章介绍书库系统基本概念知识和关系数据库理论。第二章介绍SQLServer2008R2的安装和配置。第3章介绍Transac
4、t-SQL语言基础,包括变量、函数、批处理和流程控制。第4章介绍SQLServer2008R2数据库的管理,包括数据库的创建、修改、删除、分离附加、备份删除、增缩等操作。第5章介绍表的创建、修改和删除及约束的定义。第6章介绍使用SELECT语句从一个或多个表中获取数据。第7章介绍索引和视图的创建与使用。第8章介绍存储过程、触发器的创建和使用。第9章介绍安全性管理。第10章介绍据库系统设计的六个基本步骤,从最初的需求分析到完成数据库设计整个过程相关的知识。第11章介绍一个应用实例酒店管理系统。第第第第1 1章章章章 数据库系统概述数据库系统概述本章的学习目标:了解数据库系统的应用掌握数据库系统的
5、基本概念了解数据库管理技术的发展理解数据库系统的数据模型理解数据库体系结构理解数据独立性掌握关系数据库理论1.1 数据库系统应用实例数据库系统应用实例1.图书馆数据库系统的应用图书馆数据库系统的应用v一个查询应用程序界面一个查询应用程序界面v一个查询应用程序结果一个查询应用程序结果v图书馆数据库图书馆数据库郑大图书馆查询v图书馆数据库系统工作原理图书馆数据库系统工作原理用户通过应用程序输入查询条件,应用程序用户通过应用程序输入查询条件,应用程序将查询条件转换为查询命令,将该命令发给将查询条件转换为查询命令,将该命令发给DBMS;DBMS根据接收到的查询命令从图书馆数据根据接收到的查询命令从图书
6、馆数据库中取出数据返回给应用程序库中取出数据返回给应用程序;应用程序按用户通俗易懂的格式显示查询结应用程序按用户通俗易懂的格式显示查询结果。果。v概括概括:(1)数据库由若干张相互关联的表格组成。)数据库由若干张相互关联的表格组成。(2)数据库管理系统是一个管理数据库的软件。)数据库管理系统是一个管理数据库的软件。(3)数据库系统的组成。)数据库系统的组成。应用程序应用程序应用程序DBMSDBJAVA源程序代码SQL语句最常见的数据库应用程序(1)用户注册最常见的数据库应用程序(2)论坛4.数据库系统各个部件之间的关系数据库系统各个部件之间的关系i用户与数据库应用(即应用程序)交互;用户与数据
7、库应用(即应用程序)交互;i应用程序与应用程序与DBMS交互;交互;iDBMS访问数据库中的数据访问数据库中的数据,返回给应用返回给应用程序;程序;i应用程序按用户的习惯显示得到的数据。应用程序按用户的习惯显示得到的数据。5.课程学习的目标课程学习的目标数据模型(关系模型);设计数据库(表结构和联系);利用DBMS操纵数据库(用DBMS的标准语言SQL操纵数据库)-熟练使用SQL。数据库应用程序开发不在本课程中学习数据库应用程序开发不在本课程中学习1.2数据库系统的基本概念数据库系统的基本概念1.2.1数据、信息与数据库数据、信息与数据库1.数据与信息数据与信息数据(Data)是对客观事物特征
8、的一种抽象的、符号化的表示。即用一定的符号表示那些从观察或测量中所收集到的基本事实,采用什么符号完全是一种人为的规定。数据表现的形式很多。除常用的数字、文字、时间等表示形式外,还包括图像、图形、语言、视频等多媒体数据,以及表示知识、规则、数学符号及推理等形式。数据有以下4个特征:(1)数据有“型”和“值”(2)数据受到数据类型和取值范围的约束(3)数据有定性和定量之分(4)数据应具有载体和多种表现形式信息(Infomation)是经过处理后的数据,是整理过的数据。信息具有实效性,有用性,知识性,是客观世界的反映。信息有三个特征:(1)信息能反映客观事实,能预测未发生的事物的状态和能用于指挥控制
9、事物发展的决策(2)信息能在时间和空间上被传递(3)信息需要一定的表现形式数据与信息之间的关系:信息=数据+数据处理,如图1-5所示:图1-5数据与信息的关系2.数据库数据库数据库(DataBase,简记为DB)就是一个有结构的、集成的、可共享的统一管理的数据集合。它不仅包括数据本身,而且包括相关数据之间的联系。数据库技术主要研究如何存储、使用和管理数据。所谓所谓有结构的有结构的,指的是数据是按一定的模型组指的是数据是按一定的模型组织起来的。织起来的。|数据模型可用数据结构来描述。|数据模型决定数据的组织方式、操作方法。|理解数据库的前提是理解数据模型。|现在的数据库多数是以关系模型来组织数据
10、的。|可以简单地把关系模型的数据结构关系理解成为一张二维表。所谓所谓集成的集成的,是指数据库中集中存放着企业各,是指数据库中集中存放着企业各种各样的数据。种各样的数据。|集中存放的好处是:一个数据只需一个备份,重复存储少,即消除了数据的冗余。|没有数据冗余,也就能保证数据的一致。所谓所谓共享共享,指的是数据库中的数据可以被不同指的是数据库中的数据可以被不同的用户使用。也就是说,每一个用户可以按自己的用户使用。也就是说,每一个用户可以按自己的要求访问相同的数据库。的要求访问相同的数据库。所谓所谓统一管理的统一管理的,指的是数据库由指的是数据库由DBMS统一统一管理,任何数据访问都是通过管理,任何
11、数据访问都是通过DBMS来完成的。来完成的。数据库管理系统数据库管理系统 数据库管理系统数据库管理系统 (DataBase Management System,DBMS)是用来管理数据库的一种商品化软件。是用来管理数据库的一种商品化软件。所有访问数据库的请求都由DBMS来完成的。DBMS提供了操作数据库的许多命令(语言),即SQL语言。1.数据库管理系统的主要功能数据库管理系统的主要功能(1)数据定义的功能。DBMS提供数据定义语言(DataDefinitionLanguage,DDL)。通过DDL,可以方便地定义数据库中的各种对象。供用户定义数据库中的各种数据对象:如数据库、表、索引、视图等
12、。描述数据库的逻辑结构、存储结构、语义信息、保密要求。例:学生档案数据定义(学号姓名性别年龄籍贯所属系别)CHAR(7)CHAR(8)CHAR(2)INTCHAR(10)CHAR(20)(9901001李明男21苏州计算机系)例如“学号”的定义:7位数字,字符类型,代表一个学生,不能重复,不能为空值,等。SQL的数据定义语句定义学生档案表:Create table 学生(学号 CHAR(7)not null unique,姓名 CHAR(8),性别 CHAR(2),年龄 INT,籍贯 CHAR(10),所属系别 CHAR(20);(2)数据操纵的功能。DBMS提供数据操纵语言(DataMani
13、pulationLanguage,DML)。通过DML,实现数据库中数据的基本操作。供用户实现对数据库的基本操作:检索查询、插入、修改、删除。如向Students表中插入一行数据INSERTINTO学生VALUES(2001001,张三,男,20,河南,数学系);DML类型通常包含如下两种类型:宿主型(嵌入式):DML不独立使用,必须嵌入到高级语言(宿主语言)程序中使用。自含型:可独立使用,交互式,命令方式,解释执行。(3)数据库的运行管理(管理数据库)功能。提供数据控制语言DCL(datacontrollanguage),负责数据库在建立、运行和维护时由DBMS统一管理和统一控制。包括:并发
14、控制、存取控制、安全控制、完整性约束条件的检查和执行,事务管理,发生故障后的系统恢复等。数据库的运行管理功能是DBMS运行时的核心部分。DBMS的功能随系统而异,系统功能强弱主要体现在这部分。一般来说,DBMS提供安全性、完整性定义语言,用户用以进行设置,程序运行时由DBMS进行检查和控制。(4)数据库的建立和维护功能(建立维护数据库)。包括数据库初始数据的装入、转换、卸出;数据库的转储、恢复、性能监视和分析;数据库的重组织;记录工作日志,维护系统表(即数据字典DDDataDictionary)。如DBMSMicrosoftSQLServer2000提供的DDL来定义表结构如DBMSMicro
15、softSQLServer2000提供的DML来实现数据库中数据的基本操作2.数据库管理系统的层次结构数据库管理系统的层次结构根据处理对象的不同,数据库管理系统的层次结构由高级到低级依次为应用层、语言翻译处理层、数据存取层、数据存储层、操作系统。3.常见的关系型数据库管理系统常见的关系型数据库管理系统目前有许多数据库产品,如Oracle、SQLServer、DB2、MySQL、Access等产品各以自己特有的功能,在数据库市场上占有一席之地。下面简要介绍几种常用的数据库管理系统。数据库系统DBS(DataBaseSystem)数据库应用程序数据库应用程序数据库应用程序是计算机专业人员利用某种高
16、级语数据库应用程序是计算机专业人员利用某种高级语言,为实现某些特定功能而编写的程序,如查询程言,为实现某些特定功能而编写的程序,如查询程序、报表程序等。序、报表程序等。应用程序是用户与数据库之间的桥梁。应用程序是用户与数据库之间的桥梁。应用程序与应用程序与DBMS交互,交互,DBMS访问访问DB。v用户用户Q用户是使用数据库的人员。用户是使用数据库的人员。开发、管理和使用数据库系统的人员主要是:数据库管理员、系统分析员和数据库设计人员、应用程序员和最终用户。不同的人员涉及不同的数据抽象级别,具有不同的数据视图。数据库系统各组成成分的关系数据库系统在计算机系统中的地位1.3 数据库管理技术及发展
17、数据库管理技术及发展1.文件系统阶段文件系统阶段文件系统是一个系统软件。文件系统是一个系统软件。文件系统管理数据的方法:把数据组织成一文件系统管理数据的方法:把数据组织成一个个文件,通过管理文件,达到管理数据的个个文件,通过管理文件,达到管理数据的目的。目的。一个文件就是一组逻辑相关的数据。一个文件就是一组逻辑相关的数据。数据管理数据管理是指对数据进行收集、整理、分类、组织、编码、存储、检索、维护、传送等操作。这部分操作是数据处理业务的基本环节,是任何数据处理业务中必不可少的共有部分,数据处理与数据管理密切相关,数据管理技术的优劣将直接影响数据处理的效果,数据库技术正是针对这一目标研究、发展并
18、逐渐完善起来的专门技术。数据管理是数据处理的中心问题。数据库技术是数据管理的最新技术。数据库系统的产生和发展(1)人工管理阶段(50年代初期)(2)文件系统阶段(50年代后期)(3)数据库系统阶段(60年代后期开始)数据库系统的特点数据库系统的特点(1)数据结构化(2)数据的共享性高,冗余度低,易扩充(3)数据独立性高(4)数据由DBMS统一管理和控制1.4数据库系统的数据模型14.1数据模型的组成要素(1)数据结构(2)数据操作(3)数据的完整性约束14.2层次数据模型层次数据模型图1-13 层次模型14.3网状数据模型网状数据模型图1-14 网状模型14.4关系数据模型关系数据模型表1-1
19、学生基本情况表学 号姓 名班 级201077000001刘明101201077000002张杰102201077000003李刚103201077000004王晓丽104表1-2教师授课表教 师 姓 名系 别课 程班 级章文杰计算机系操作系统101李红梅机械工程学院工业设计102赵科伟物理工程学院应用物理学103李菲电气工程学院电气工程及自动化10414.5面向对象数据模型面向对象数据模型面向对象的数据模型是新一代数据库系统基础,是数据库技术发展的方向。面向对象数据模型中的基本数据结构是对象,一个对象由一组属性和一组方法组成。该模型主要有以下优点:可以表示复杂对象。模块化的结构,便于管理。具有
20、定义抽象数据类型的能力。由DBMS Microsoft SQL Server 2000管理的数据库由文件系统管理的的学生选课的相关的数据数据库系统管理数据特点:数据库系统管理数据特点:数据是集成的、共享的。数据是集成的、共享的。数据重复小。数据重复小。数据独立性好。数据独立性好。数据结构化,易于按用户的视图表示。数据结构化,易于按用户的视图表示。1.5数据库系统体系结构与数据数据库系统体系结构与数据独立性独立性1.5.1数据库体系结构的演变数据库体系结构的演变(1)集中式数据库系统(2)客户/服务器系统(C/S结构)图1-15客户/服务器模式(3)并行数据库系统图1-16 并行数据库系统共享机
21、构(4)分布式数据库系统图1-17 分布式数据库系统(5)Internet与客户端/服务器模式 图1-18 Internet与客户/服务器模式1.5.2数据库系统的三级模式结构数据库系统的三级模式结构图1-19 数据库系统的三级模式图数据库的三级模式:外模式、概念模式、内数据库的三级模式:外模式、概念模式、内模式。模式。什么是模式呢?模式就是数据的一种抽象描什么是模式呢?模式就是数据的一种抽象描述。述。内模式是数据库中数据的存储结构、存储方内模式是数据库中数据的存储结构、存储方法、存取策略等的描述,也称物理模式、存法、存取策略等的描述,也称物理模式、存储模式。储模式。概念模式是数据库中数据的逻
22、辑结构的描述,概念模式是数据库中数据的逻辑结构的描述,也称模式、概念结构。也称模式、概念结构。外模式是单个用户用到的数据逻辑结构外模式是单个用户用到的数据逻辑结构的描述,通常也称视图、子模式。的描述,通常也称视图、子模式。一个数据库只有一个内模式,一个概念一个数据库只有一个内模式,一个概念模式,但可以有多个外模式。模式,但可以有多个外模式。实际的物理数据库与内模式对应,用户实际的物理数据库与内模式对应,用户使用外模式。使用外模式。二级映射二级映射即外模式到模式的转换,表示为即外模式到模式的转换,表示为“外模式外模式/模式模式”映射,模式到内模式的转换,映射,模式到内模式的转换,表示为表示为“模
23、式模式/内模式内模式”映射。映射。数据库管理系统(数据库管理系统(DBMS),不仅提供三级),不仅提供三级模式的定义语言,而且还提供了三级模式之模式的定义语言,而且还提供了三级模式之间相互转换的机制,即二级映射机制。间相互转换的机制,即二级映射机制。外模式外模式/模式映射模式映射,定义了外模式到模式之间的,定义了外模式到模式之间的对应关系。是在外模式中定义的。对应关系。是在外模式中定义的。模式模式/内模式映射内模式映射,定义了模式到内模式之间的,定义了模式到内模式之间的对应关系。在模式中描述的。对应关系。在模式中描述的。结果:用户不需关心数据的物理存储结构。这结果:用户不需关心数据的物理存储结
24、构。这就是数据独立性。就是数据独立性。应用程序使用外模式1一个三级模式的实例多方位介绍甜辣椒育苗技术,以育苗各阶段分类描述各项育苗技术,大量育苗过程图片,以及提供决策推理功能。应用程序使用外模式2概念模式 users(ID,用户名,密码,系统名,注册时间,系统说明,联系方式,picture,sys_type)内模式1.5.3二级映象功能与数据独立性二级映象功能与数据独立性数数据据独独立立性性是是指指应应用用程程序序不不因因物物理理存存储储的的改改变变而而改改变变。数数据据独独立立性性包包含含逻逻辑辑独独立立性性和和物物理理独独立性。立性。逻逻辑辑独独立立性性是是指指概概念念模模式式改改变变时时
25、,外外模模式式保保持持不不变变,从从而而使使应应用用程程序序保保持持不不变变。当当数数据据库库的的概概念念模模式式改改变变时时,DBMS只只要要改改变变外外模模式式到到模模式式的的映映射射,就就可可保保持持外外模模式式不不变变。从从而而使使应应用用程序保持不变。程序保持不变。物物理理独独立立性性是是指指内内模模式式改改变变时时,概概念念模模式式保保持持不不变变。因因为为当当内内模模式式改改变变(如如数数据据库库的的存存储储设设备备或或存存储储结结构构改改变变)时时,DBMS只只要要通通过过改改变变概概念念模模式式到到内内模模式式映映射射,从从而而使使概概念念模模式保持不变,实现了数据的物理独立
26、性。式保持不变,实现了数据的物理独立性。DBMS实现的三级模式和二级映射机制,使得数据库系统具有较高的逻辑独立性和物理独立性。数据独立性的意义:数据独立性的意义:实实现现数数据据独独立立性性,才才能能真真正正减减少少应应用用程程序序的的开发时间,提高应用程序的质量。开发时间,提高应用程序的质量。外模式1模式外模式2外模式3内模式图 数据独立性与三级模式结构数据的逻辑独立性数据的物理独立性外模式/概念模式映射模式/内模式映射1.6关系数据库理论关系数据库理论1.6.1关系术语和定义关系术语和定义(1)关系(Relation):一个关系就是一张二维表,每一个关系有一个关系名,可以存储为一个文件。其
27、定义可以描述为的子集叫做域,上的关系,表示为,R表示关系的名称,n表示关系的目或度(Degree)。(2)元组:表中的行称为元组,一行就是一个元组,对应存储文件中的一个记录。(3)属性:关系中的一列称为一个属性。一个属性必须有唯一的属性名,一个关系可以有若干个属性值。(4)域(Domain):属性的取值范围,是一组具有相同数据类型的值的集合。(5)关系的候选键与主键表中某一列(或若干列的最小组合)的值能惟一标识一个行,称该列或列组为候选键。如Students表的学号列,就是一个候选键。如如表1-1学生基本情况表,给定一个学号的值,就能确定表中惟一的一行。对于一个表,可能有多个候选键。候选键取决
28、于应用范围,如给定条件,没有重复的学生姓名,则姓名是学生基本情况表的一个候选键。如果一个表有多个候选键,数据库设计者通常选择其中一个候选键作为区分行的惟一性标识符,称为主键(primarykey,PK)。如果一个表只有一个候选键,那么这个候选键就作为主键。例如,在学生基本情况表中,把学号作为该表的主键。因为主键是候选键之一,而根据候选键的定义,候选键列上的各个值都惟一,因此主键列上的各个值也都惟一。(5)关系模式(RelationSchema):关系的描述称为关系模式,可以形式化的表示为,其中,R表示关系名,U表示该组成关系的属性名集合,D表示属性组U中属性所来自的域,dom表示属性向域的映象
29、集合,F表示属性间数据的依赖集合。(6)关系数据库:一个关系用一个关系模式表示,所有关系模式集合构成数据库的模式,它是数据库整体逻辑结构的描述。16.2关系模型的数据完整性关系模型的数据完整性关系模型的数据完整性指的是完整性规则。关系模型的数据完整性指的是完整性规则。完整性规则包括实体完整性规则、参照完整性规则完整性规则包括实体完整性规则、参照完整性规则和用户自定义完整性规则三大类。和用户自定义完整性规则三大类。实体完整性和参照完整性是关系模型必须满足的两实体完整性和参照完整性是关系模型必须满足的两个完整性规则。个完整性规则。1.实体完整性规则实体完整性规则实体完整性规则实体完整性规则是表中任
30、意一行的主键值不能为空值。是表中任意一行的主键值不能为空值。空空值值,用用“null”表表示示,大大小小写写一一样样。空空值值是是尚尚未未确确定定的值或不确定的值。如的值或不确定的值。如Enrollment表中的表中的Grade值。值。空空值值和和数数值值型型列列的的0值值以以及及字字符符型型列列的的空空字字符符串串的的不不同同,数值型列的数值型列的0值与字符型列的空字符串都是确定的值。值与字符型列的空字符串都是确定的值。根根据据主主键键的的定定义义,主主键键值值必必须须惟惟一一。因因此此,实实体体完完整整性性也也可可定定义义为为:主主键键值值惟惟一一且且不不能能为为空空值值。表表中中任任意意
31、一一行行的主键值不能为空值。的主键值不能为空值。完完整整性性的的意意义义:一一个个表表对对应应存存放放一一个个实实体体,表表中中的的每每一一行行代代表表实实体体中中的的一一个个实实例例。如如学学生生表表用用来来存存放放学学生生实实体体,该该表表中中的的一一行行代代表表一一个个学学生生,一一个个学学生生有有惟惟一一的的一一个个学学号号。如如果果主主键键值值SnoSno为为空空值值,表表明明该该学学生生的的学学号号不不能能确确定定,也也就就是是说说没没有有惟惟一一确确定定的的学学号号,这这只只能能说说明明他他/她她不是学生,因此就不应该存放在学生表中。不是学生,因此就不应该存放在学生表中。如果主键
32、值如果主键值SnoSno为空值,出现错误为空值,出现错误实实体体完完整整性性的的作作用用:一一旦旦定定义义表表的的主主键键,RDBMS将将自自动动地地对对该该表表中中的的每每一一行行的的主主键键值值进进行行检检查查,若若发发现现主主键键值值为为空空或或不不惟惟一一,RDBMS会会给给出出错错误误信信息息,这这样样就就能能确确保保表表中中的的每每一一行行是惟一的,可以区分的。是惟一的,可以区分的。2.参照完整性规则参照完整性规则参参照照完完整整性性规规则则是是一一个个表表的的外外键键值值可可以以为为空空值值。若若不不为为空空值值,则则必必须须等等于于另另一一个个表表中中主主键键的的某某个值。个值
33、。外外键键(Foreign Key,FK):若若一一个个表表R1中中的的一一个个列列或或列列组组对对应应另另一一个个表表R2的的主主键键,那那么么该该列或列组称为表列或列组称为表R1的外键。的外键。外键可以由一个或多个列组成,可以有重复值。外键可以由一个或多个列组成,可以有重复值。外键与主键的关系示例:外键与主键的关系示例:图 学生、课程、选课表主键、外键参照关系图Sno列输入“20010108”在Students表中不存在,出现错误Cno列输入“C5”在Courses表中不存在,出现错误外键的取值的两种情况分析:外键的取值的两种情况分析:图系表、课程表主键、外键参照关系图 参照完整性的作用:
34、在关系数据库系统中,参照完整性的作用:在关系数据库系统中,一旦定义了表的外键,也即定义了外键与另一旦定义了表的外键,也即定义了外键与另一个表的主键的参照与被参照联系,一个表的主键的参照与被参照联系,RDBMS将根据外键的定义,自动检查表中的每一行,将根据外键的定义,自动检查表中的每一行,若发现外键值违反外键的规则,若发现外键值违反外键的规则,RDBMS会给会给出错误信息,要求用户纠正,这样能确保表出错误信息,要求用户纠正,这样能确保表之间的参照与被参照联系的正确性。之间的参照与被参照联系的正确性。说明:说明:实体完整性和参照完整性在关系实体完整性和参照完整性在关系模型中是必须实现的。遗憾的是模
35、型中是必须实现的。遗憾的是SQL Server 2000中可以定义没有主键的表,中可以定义没有主键的表,即没有实现实体完整性。另外,即使表即没有实现实体完整性。另外,即使表有外键,也可以不定义为外键,没有实有外键,也可以不定义为外键,没有实现参照完整性。现参照完整性。3.用户自定义完整性规则用户自定义完整性规则用用户户自自定定义义完完整整性性规规则则是是表表格格设设计计者者为为了了保保证证表表中中某某些些行行、列列的的数数据据满满足足具具体体应应用用要要求求而而自自定义的一些规则。定义的一些规则。自定义规则往往根据实际的应用背景提出来。自定义规则往往根据实际的应用背景提出来。例例如如:在在St
36、udents表表中中,Ssex列列的的取取值值范范围围只只能能是是F/M,因因为为实实际际情情况况是是性性别别只只能能为为男或女。男或女。Ssex列输入“B”时超出了取值范围“F”或“M”出现错误关系代数关系代数关关系系代代数数是是对对关关系系型型数数据据库库操操作作的的抽抽象象语语言言,也也称称查查询询语语言言。这这里里的的查查询询,包包括括数数据据的的插插入入、删删除除、修改、查找等,即数据的操纵。修改、查找等,即数据的操纵。关关系系代代数数只只对对数数据据操操纵纵进进行行抽抽象象表表示示,基基于于关关系系代代数数实实现现的的关关系系型型数数据据库库操操纵纵语语言言,如如SQL,才才能能对
37、对数据库中的数据进行实际操作。数据库中的数据进行实际操作。关关系系代代数数的的作作用用只只是是用用来来衡衡量量其其它它实实现现了了的的查查询询语语言如言如SQL等的查询能力。等的查询能力。关关系系代代数数中中,运运算算的的对对象象是是关关系系(表表),运运算算的结果是一个新关系(表)。的结果是一个新关系(表)。关关系系的的运运算算包包含含两两部部分分,即即传传统统的的集集合合运运算算和和特殊的关系运算。特殊的关系运算。传传统统的的集集合合运运算算:(并并运运算算),(差差运运算算),(交运算),(交运算),(笛卡儿积运算)。(笛卡儿积运算)。4个个特特殊殊的的关关系系运运算算:(选选择择),(
38、投投影影),(连接),(连接),(除)。(除)。1.传统的关系运算传统的关系运算两两个个表表的的兼兼容容性性。所所谓谓兼兼容容,即即两两个个表表的的表表头头结构相同,且对应列的数据类型相同。结构相同,且对应列的数据类型相同。并并、差差、交交运运算算都都要要求求有有两两个个表表参参加加运运算算,并并且两个表是兼容的。且两个表是兼容的。并并运运算算:给给定定两两个个兼兼容容的的表表R和和S,R和和S并并运运算算的的结结果果是是一一个个与与R和和S兼兼容容的的新新表表。该该表表由由属属于于R的的所所有有行行加加上上属属于于S的的所所有有行行组组成成,但但必必须须删删去重复的行,记作去重复的行,记作R
39、S。并运算举例并运算举例R S学号名字性别31429李芳女71532王平男表1-3 学生关系R学号名字性别22214周方男71532王平男表1-4 学生关系S表 1-5 RS结果如下:学号名字性别31429李芳女71532王平男22214周方男差差运运算算:给给定定两两个个兼兼容容的的表表R和和S,R和和S差差运运算算的的结结果果是是一一个个与与R和和S兼兼容容的的新新表表。该该表表由由属属于于R而而不不属属于于S的的所所有有行行组组成成,记作记作R-S。举例(见下页)。举例(见下页)R S表 1-6 RS结果如下:学号名字性别71532李芳女交运算交运算:给定两个兼容的表:给定两个兼容的表R
40、和和S,R和和S交交运算的结果是一个与运算的结果是一个与R和和S兼容的新表,该兼容的新表,该表由既属于表由既属于R又属于又属于S的行组成,记作的行组成,记作RS。举例举例R S学号名字性别71532王平男表1-7 RS结果如下:笛笛卡卡儿儿积积:简简称称积积运运算算,也也是是二二元元运运算算,即即要要求求有有两个表参加运算,两个表参加运算,但这两个表可以不兼容。但这两个表可以不兼容。笛卡儿积运算定义:给定两个表笛卡儿积运算定义:给定两个表R和和S,R和和S的积的积运算的结果是一个新表,新表中的行由运算的结果是一个新表,新表中的行由R中的每一中的每一行和行和S中的每一行组合而成。记作中的每一行组
41、合而成。记作RS。新表可能。新表可能包含重复的列,因此不一定是一个关系包含重复的列,因此不一定是一个关系。若若R表有表有m个列,个列,S表有表有n个列,则个列,则RS是一个具有是一个具有(m+n)个列的表,且)个列的表,且RS表中的任一行的前表中的任一行的前m列是列是R表的一个行,后表的一个行,后n列是列是S表的一个行。如果表的一个行。如果R有有i行,行,S有有j行,则行,则RS有(有(ij)行。可见两个表)行。可见两个表的笛卡儿积运算结果会很大。的笛卡儿积运算结果会很大。笛卡儿积运算过程演示笛卡儿积运算过程演示Table:Courses笛卡儿积运算举例笛卡儿积运算举例表1-8关系RABCa1
42、b1c1a2b2c2a3b3c3表1-9关系SXYx1y1x2y2表1-10 RS结果如下:ABCXYa1b1c1x1y1a2b2c2x1y1a3b3c3x1y1a1b1c1x2y2a2b2c2x2y2a3b3c3x2y22.专门的关系运算专门的关系运算包含:选择运算、投影运算和连接运算。包含:选择运算、投影运算和连接运算。选选择择运运算算:从从指指定定的的R表表中中选选择择某某些些满满足足条件的条件的行行构成一个新表。记作构成一个新表。记作F(R)其中,其中,是选择运算的符号;是选择运算的符号;F 是选择条件,写成是选择条件,写成的下标;的下标;R 写在括号中,是被选择的表名。写在括号中,是
43、被选择的表名。【例1-5】从Students表找出所有男同学的情况的选择运算可以写成Ssex=M(Students)表1-11Student(学生)snosnamessexsagesclassJ20001李 楷M19JS2001J20002张 会F20JS2001J20003王 者M20JS2001D20001赵 良M18DZ2001表1-12选择运算的结果snosnamessexsagesclassJ20001李 楷M19JS2001J20003王 者M20JS2001D20001赵 良M18DZ2001关键:关键:选择运算的条件表示如下选择运算的条件表示如下单个查询条件单个查询条件 形式为
44、:形式为:AiAj 其中,其中,Ai、Aj是表是表R中的列名或常量值;中的列名或常量值;是比较运算符,是:是比较运算符,是:=、!=、和和之一。之一。例如:学号为例如:学号为20010102的条件为:的条件为:Sno20010102又又 如如:所所 在在 系系 为为 计计 算算 机机 系系 的的 条条 件件 为为:Sdept=Computer 多多个个查查询询条条件件 用用(逻逻辑辑与与,也也可可用用and)、(逻辑或(逻辑或,or)、)、(逻辑非(逻辑非,not)构成)构成 例如:从例如:从Students表找艺术系的女同学的情况表找艺术系的女同学的情况 Sdept=Art SsexF 等价
45、于:等价于:Sdept=Art and SsexF 表示为:表示为:Sdept=Art and Ssex=F(Students)结果:结果:投投影影运运算算:从从指指定定的的表表R中中选选择择某某些些列列构构成成一一个新表。记作个新表。记作A(R)。)。关关键键确确定定A:A是是一一个个列列名名或或多多个个列列名名,多多个个列列名之间用逗号分隔,名之间用逗号分隔,A写作写作的下标。的下标。R被投影的表名。被投影的表名。投影结果表中的重复行要消除。投影结果表中的重复行要消除。【例1-6】从Students表中选择Sno、Sname两个列组成新表的投影运算可写成:Sno,Sname(Student
46、s)表1-13投影运算的结果snosnameJ20001李 楷J20002张 会J20003王 者D20001赵 良连连接接运运算算:从从R与与S的的笛笛卡卡儿儿积积RS中中选选择择满满足足连接条件的行。记作连接条件的行。记作:v两种特殊的连接:等值连接和自然连接。两种特殊的连接:等值连接和自然连接。等值连接:等值连接:连接条件用连接条件用=,则则AB A=B 【例1-7】Students和Class的等值连接:Student.sclass=class.sclass(StudentsClass)=ABAB(RSRS)表1-14Class(班级)sclassnumbertelJS20013082
47、01JS2002318202DZ2001326201表1-15等值连接运算结果snosnamessexsagesclasssclassnumbertelJ20001李 楷M19JS2001JS2001308201J20002张 会F20JS2001JS2001308201J20003王 者M20JS2001JS2001308201D20001赵 良M18DZ2001DZ2001326201自自然然连连接接是是最最常常见见的的连连接接运运算算。除除非非有有特特别别的的声明,连接一般指的是自然连接。声明,连接一般指的是自然连接。自自然然连连接接的的执执行行:先先计计算算笛笛卡卡儿儿积积、再再进进行
48、行选选择择运运算算、最最后后进进行行投投影影运运算算,消消除除重重复复的的列列得得到结果。到结果。自然运算与等值连接的区别:自然运算与等值连接的区别:自自然然连连接接要要求求连连接接的的两两个个表表有有相相同同的的列列(公公共共列),等值连接则不要求。列),等值连接则不要求。自自然然连连接接结结果果表表中中去去掉掉了了重重复复的的列列,等等值值连连接接却可能包含重复的列。却可能包含重复的列。在在关关系系数数据据库库中中,经经常常是是依依靠靠表表之之间间的的公公共共列列把把相相互互独独立立的的表表连连接接在在一一起起,实实现现从从多多个个表表中中提取所需的信息。提取所需的信息。【例1-8】Stu
49、dents表和Class表的自然连接表示为:StudentsClass。表1-16等值连接运算结果snosnamessexsagesclassnumbertelJ20001李 楷M19JS2001308201J20002张 会F20JS2001308201J20003王 者M20JS2001308201D20001赵 良M18DZ2001326201除法运算除法运算:设关系R(X,Y)和与关系S(Y,Z)其中X,Y,Z为属性组,但必须出自相同的域。R与S的除法运算得到一个P(X),P是R中满足下列条件的元组在X属性上的投影,即元组在X上的分量值x的象集Yx包含S在Y上的投影。R(X ,Y )S
50、(Y ,Z )结果属性象集属性目标数据集投影【例1-9】除运算示例有关系R和S分别为表1-24和表1-25,R/S的结果为表1-26。除运算过程分析如下:在关系R中,三个属性分为学生和(教师,课程)两组。在关系S中,三个属性分为(教师,课程)和学分两组。计算R/S,实际上是要从学生选修的教师和课程关系中,找出选课符合关系S中所以教师和课程的元组集合的学生。在关系R中学生有4个取值:张三、李学、王明、赵四。其中张三的象集为(教师和课程集合):(t1,c2),(t2,c3),(t2,c1)李学的象集为(教师和课程集合):(t3,c7),(t2,c3)王明的象集为(教师和课程集合):(t4,c6)赵