一章数据库系统概述-课件

上传人:沈*** 文档编号:240906225 上传时间:2024-05-16 格式:PPT 页数:79 大小:578KB
返回 下载 相关 举报
一章数据库系统概述-课件_第1页
第1页 / 共79页
一章数据库系统概述-课件_第2页
第2页 / 共79页
一章数据库系统概述-课件_第3页
第3页 / 共79页
点击查看更多>>
资源描述
第一章数据库系统概述5/16/20241 1.1 数据处理数据处理数据处理技术的发展阶段数据处理技术的发展阶段n 人工管理阶段人工管理阶段n 文件系统阶段文件系统阶段n 数据库系统阶段数据库系统阶段n 分布式数据库系统分布式数据库系统n 面向对象数据库系统面向对象数据库系统 5/16/202421.2.1 数据库数据库 数据库(数据库(Database,简称为,简称为DB)是长期)是长期存储在计算机内、有组织的、可共享的、存储在计算机内、有组织的、可共享的、统一管理的相关数据的集合。统一管理的相关数据的集合。1.2 1.2 数据库基本概念数据库基本概念5/16/202431.2.2 数据库管理系统数据库管理系统 1、数据库管理系统(、数据库管理系统(Database Management System,简称,简称DBMS)是位于)是位于用户与数据库之间用户与数据库之间的一个的一个数据管理软件数据管理软件。即用户不能直接接触数据库,只能通过即用户不能直接接触数据库,只能通过DBMS来操作数据库。来操作数据库。5/16/202442数据库管理系统的功能数据库管理系统的功能(1)数据定义功能数据定义功能DBMS提供了数据描述语言提供了数据描述语言(Data Description Language,DDL)来定义数据库的来定义数据库的结构、数据之间的联系等。结构、数据之间的联系等。(2)数据操纵功能数据操纵功能DBMS提供了数据操纵语言提供了数据操纵语言(Data Manipulation Language,DML)来完成用户对来完成用户对数据库提出的各种操作要求,实现数据的插入、数据库提出的各种操作要求,实现数据的插入、检索、删除、修改等任务。检索、删除、修改等任务。5/16/20245(3)数据库运行管理数据库运行管理DBMS可以完成对数据库的安全性控制、可以完成对数据库的安全性控制、完整性控制、多用户环境下的并发控制等。完整性控制、多用户环境下的并发控制等。(4)数据库维护功能数据库维护功能DBMS还可以对已经建立好的数据库进行还可以对已经建立好的数据库进行维护,比如数据字典的自动维护,数据库的备维护,比如数据字典的自动维护,数据库的备份、恢复等。份、恢复等。(5)数据库通信功能数据库通信功能DBMS应提供网络环境的数据库通信功能。应提供网络环境的数据库通信功能。5/16/202461数据库系统的概念数据库系统的概念数据库系统(数据库系统(DataBase System,简称简称DBS)是指)是指采用了数据库技术的计算采用了数据库技术的计算机应用系统机应用系统。实际上是一个集合体。实际上是一个集合体。1.2.3 数据库系统数据库系统5/16/20247 (1)数据库数据库 (2)数据库管理系统(核心组成部分)数据库管理系统(核心组成部分)(3)计算机硬件、软件(操作系统及各种配计算机硬件、软件(操作系统及各种配套实用程序)环境套实用程序)环境 (4)管理和使用数据库系统的人员,管理和使用数据库系统的人员,可以分可以分为四类:为四类:终端用户、应用程序员、系统分析终端用户、应用程序员、系统分析员、数据库管理员员、数据库管理员数据库系统通常由四个部分组成:数据库系统通常由四个部分组成:5/16/20248终端用户终端用户:(End User)按照用户需求信息及获得信息方式的不同,可将按照用户需求信息及获得信息方式的不同,可将终端用户分为操作层、管理层和决策层,他们通终端用户分为操作层、管理层和决策层,他们通过应用系统的用户接口使用数据库。过应用系统的用户接口使用数据库。应用程序员应用程序员:(Application Programmer)应用程序员根据数据库系统的功能需求,设计和应用程序员根据数据库系统的功能需求,设计和编写应用系统的程序模块,并参与对程序模块的编写应用系统的程序模块,并参与对程序模块的测试。测试。系统分析员系统分析员:系统分析员是数据库系统建设期的主要参系统分析员是数据库系统建设期的主要参与人员,负责应用系统的需求分析和规范说明,与人员,负责应用系统的需求分析和规范说明,确定系统的基本功能,数据库结构和应用程序的确定系统的基本功能,数据库结构和应用程序的设计,以及软硬件的配置,并组织整个系统的开设计,以及软硬件的配置,并组织整个系统的开发。发。数据库管理员数据库管理员:(Dadabase Administrator)简称简称DBA。全面负责建立、维护、管理和控制数据库。全面负责建立、维护、管理和控制数据库系统。系统。5/16/20249 数据冗余度低、共享性高。数据冗余度低、共享性高。数据独立性高。数据独立性高。数据的独立性包括数据的独立性包括逻辑独立性和物理逻辑独立性和物理独立性独立性。(见下页见下页)2、数据库系统的特点、数据库系统的特点5/16/202410数据的逻辑独立性数据的逻辑独立性指当数据的指当数据的总体逻辑结构改变总体逻辑结构改变时,时,数据的数据的局部逻辑结构不变局部逻辑结构不变,由于应用程序,由于应用程序是依据数据的局部逻辑结构编写的,所以是依据数据的局部逻辑结构编写的,所以应用程序不必修改应用程序不必修改,从而保证了数据与程,从而保证了数据与程序间的逻辑独立性。序间的逻辑独立性。例如:例如:在原有的记录类型之间增加新的关系,在原有的记录类型之间增加新的关系,或在某些记录类型中增加新的数据项,均或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。可确保数据的逻辑独立性。5/16/202411数据的物理独立性数据的物理独立性指指当当数数据据的的存存储储结结构构改改变变时时,数数据据的的逻逻辑辑结结构构不不变变,从从而而应应用用程程序序也也不不必改变必改变。例例如如:改改变变存存储储设设备备和和增增加加新新的的存存储储设设备备,或或改改变变数数据据的的存存储储组组织织方方式式,均均可可确确保保数据的物理独立性。数据的物理独立性。5/16/202412 有统一的数据控制功能。有统一的数据控制功能。数据的安全性(数据的安全性(security)控制)控制 数据的完整性数据的完整性(integrity)控制控制 并发(并发(concurrency)控制)控制 数据恢复(数据恢复(recovery)5/16/202413三个概念:三个概念:数数据据库库、数数据据库库管管理理系系统统、数数据据库库系系统统是三个不同的概念。是三个不同的概念。数数据据库库强强调调的的是是数数据据,数数据据库库管管理理系系统统是是管管理理数数据据库库的的工工具具软软件件,数据库系统强调的则是一个数据库系统强调的则是一个整体整体系统。系统。5/16/202414 根据美国标准化协会和标准计划根据美国标准化协会和标准计划与需求委员会与需求委员会(ANSI/SPARS)提出的提出的建议,建议,数据库系统的内部体系结构数据库系统的内部体系结构是三是三级模式结构:级模式结构:分别为分别为模式、外模式和内模式模式、外模式和内模式。1.3 数据库系统的体系结构数据库系统的体系结构5/16/2024151、模式、模式一个数据库一个数据库只有一个模式只有一个模式!也称为也称为概念模式概念模式。是数据库中全体数。是数据库中全体数据的逻辑结构和特征的描述,是据的逻辑结构和特征的描述,是所有用户的所有用户的公共数据视图公共数据视图,是建立数据库的依据。,是建立数据库的依据。定义模式时定义模式时不仅要不仅要定义数据的逻辑结构定义数据的逻辑结构(例如:数据记录由哪些数据项构成,数据(例如:数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),项的名字、类型、取值范围等),而且要而且要定定义与数据有关的义与数据有关的安全性、完整性安全性、完整性要求,要求,还还定定义这些数据义这些数据之间的联系之间的联系。5/16/2024162、外模式、外模式 也称也称子模式或用户模式子模式或用户模式。它是数据库用户(包括应用程序员它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库辑结构和特征的描述,是数据库用户的用户的数数据视图据视图,是与某一应用有关的数据的逻辑,是与某一应用有关的数据的逻辑表示。表示。5/16/2024173、内模式、内模式 也称也称存储模式或物理模式存储模式或物理模式。它是数据物理结构和存储结构的描它是数据物理结构和存储结构的描述,是数据在存储介质上的述,是数据在存储介质上的保存方式保存方式。例如:例如:记录的存储方式是顺序存储、还是按记录的存储方式是顺序存储、还是按照照B树结构存储;索引按照什么方式组织;树结构存储;索引按照什么方式组织;数据是否压缩存储,是否加密等。数据是否压缩存储,是否加密等。一个数据库一个数据库只有一个内模式只有一个内模式!5/16/202418三个模式反映了数据库的三种不同层面三个模式反映了数据库的三种不同层面 模式:模式:表示了概念级数据库,体现了数据表示了概念级数据库,体现了数据库操作的库操作的接口层接口层;内模式:内模式:表示了物理级数据库,体现了数表示了物理级数据库,体现了数据库操作的据库操作的存储层存储层;外模式:外模式:表示了用户级数据库,体现了数表示了用户级数据库,体现了数据库操作的据库操作的用户层用户层。5/16/202419应用应用1 1应用应用2 2外模式外模式1 1应用应用3 3应用应用4 4外模式外模式2 2应用应用5 5应用应用6 6外模式外模式3 3模式模式内模式内模式用户级用户级数据库数据库概念级概念级数据库数据库 物理级物理级数据库数据库 外外模模式式/模模式式映映射射模模式式/内内模模式式映映射射5/16/202420 这里以职工管理数据库为例,进这里以职工管理数据库为例,进一步说明三级模式和数据库的三种一步说明三级模式和数据库的三种层面,以此加深理解。层面,以此加深理解。(见(见P6P6)5/16/202421 (1)某单位建立职工管理数据库,某单位建立职工管理数据库,包含职工包含职工基本情况和工资情况,基本情况和工资情况,如表所示的两张二维如表所示的两张二维表,把它们看作是从物理数据库中抽象出来表,把它们看作是从物理数据库中抽象出来的概念数据库。的概念数据库。5/16/202422 (2)在数据库中,需在数据库中,需了解了解“文化程度文化程度”是是“大专大专”的职工基本情况(左);需了解职工的的职工基本情况(左);需了解职工的岗岗位工资位工资情况(右)。把它们(查询结果)看情况(右)。把它们(查询结果)看作是用户数据库,是概念数据库的一个个子作是用户数据库,是概念数据库的一个个子集。集。(3)存储在存储介质上的职存储在存储介质上的职工数据库就是物理数据库。工数据库就是物理数据库。5/16/2024234、模式间的映射、模式间的映射 三级模式之间的联系是通过三级模式之间的联系是通过二级二级映射映射来实现的。来实现的。实际的转换工作由数据库管理系实际的转换工作由数据库管理系统来完成。统来完成。5/16/202424(1)外模式模式映射外模式模式映射定义了外模式与模式之间的对应关系。定义了外模式与模式之间的对应关系。当当模式改变时模式改变时,由数据库管理员对各个,由数据库管理员对各个外模式模式的外模式模式的映射作相应改变映射作相应改变,可以使,可以使外模式保持不变外模式保持不变,从而应用程序不必修改,从而应用程序不必修改,保证了数据的逻辑独立性。保证了数据的逻辑独立性。5/16/202425(2)模式内模式映射模式内模式映射模式内模式映射是模式内模式映射是唯一的唯一的,它定义了,它定义了数据全局逻辑结构与存储结构之间的对应数据全局逻辑结构与存储结构之间的对应关系。关系。当数据库的当数据库的存储结构改变存储结构改变了(例如:采了(例如:采用了更先进的存储结构),由数据库管理用了更先进的存储结构),由数据库管理员对模式内模式员对模式内模式映射作相应改变映射作相应改变,可以,可以使使模式保持不变模式保持不变,从而保证了数据的物理,从而保证了数据的物理独立性。独立性。5/16/2024261.4 数据模型数据模型模型是对客观世界中复杂对象的抽象描述。模型是对客观世界中复杂对象的抽象描述。例如:航模、车模。例如:航模、车模。在数据库中用数据模型这个工具来描述现在数据库中用数据模型这个工具来描述现实世界中数据的结构、性质之间的联系等。实世界中数据的结构、性质之间的联系等。数据模型分成两个不同的层次:数据模型分成两个不同的层次:概念模型概念模型和实施模型和实施模型(也称数据模型)(也称数据模型)5/16/202427计算机不能直接处理现实世界中的具体计算机不能直接处理现实世界中的具体事物,首先将现实世界的事物及联系事物,首先将现实世界的事物及联系抽象抽象成信息世界的概念模型成信息世界的概念模型;然后然后再抽象再抽象成计算成计算机世界的数据模型。机世界的数据模型。这一转换经历了这一转换经历了现实世界、信息世界和现实世界、信息世界和计算机世界计算机世界三个不同的世界。三个不同的世界。5/16/202428现实世界现实世界现实世界现实世界 现实世界中的事物由它的性质来表征。现实世界中的事物由它的性质来表征。例如:学校教学管理系统中,学院、系部、教师、例如:学校教学管理系统中,学院、系部、教师、班级、学生、课程是主要构成元素。班级、学生、课程是主要构成元素。现实世界中事物与事物之间并非孤立,而是存现实世界中事物与事物之间并非孤立,而是存在一定联系的。在一定联系的。例如:教师授课、学生选课,教师、学生、课程是例如:教师授课、学生选课,教师、学生、课程是相互关联的。相互关联的。1.4.1 现实世界、信息世界和计算机世界现实世界、信息世界和计算机世界5/16/202429信息世界信息世界 信息世界是对现实世界中事物及事物之间信息世界是对现实世界中事物及事物之间联系的抽象描述。联系的抽象描述。例如:例如:一个教师用编号、姓名、性别、职称、学历一个教师用编号、姓名、性别、职称、学历等来表征;一门课程用课程编号、课程名称、等来表征;一门课程用课程编号、课程名称、学时、学分、课程性质等来表征。学时、学分、课程性质等来表征。计算机世界计算机世界 计算机世界是将信息世界中的事物数据化计算机世界是将信息世界中的事物数据化后存入计算机系统。后存入计算机系统。5/16/2024301.4.2 概念模型概念模型 概念模型用于信息世界的概念模型用于信息世界的建模建模,也称也称信息模型信息模型。它是按用户的观点,在概念上表示数据它是按用户的观点,在概念上表示数据库中存储什么事物以及事物之间的联系,库中存储什么事物以及事物之间的联系,而不管事物和联系如何在数据库中存储。而不管事物和联系如何在数据库中存储。5/16/2024311、概念模型中的基本概念、概念模型中的基本概念 (1)实体实体 客观存在并可相互区别的事物客观存在并可相互区别的事物称为实体。称为实体。实体可以是具体的人、事、物,也实体可以是具体的人、事、物,也可以是抽象的概念或联系。可以是抽象的概念或联系。例如:例如:一个学生,一门课,一辆汽车;也一个学生,一门课,一辆汽车;也可以是抽象的事件,如一堂课,一次比赛可以是抽象的事件,如一堂课,一次比赛等。等。5/16/202432(2)属性属性 实体所具有的某一特性实体所具有的某一特性称为属性。称为属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。例如:例如:一个学生实体有学号、姓名、年龄、一个学生实体有学号、姓名、年龄、性别、班级等方面的属性。性别、班级等方面的属性。属性有属性有型型和和“值值”之分,之分,型型即为属性即为属性名名,如姓名、年龄是属性的型;,如姓名、年龄是属性的型;“值值”即为即为属性的具体内容属性的具体内容。5/16/202433(3)键键(主键)(主键)唯一标识实体的属性或属性集唯一标识实体的属性或属性集称为键。称为键。例如:例如:学号可以作为学生实体的键,但学学号可以作为学生实体的键,但学生姓名可能有重名,因此不能作为学生实生姓名可能有重名,因此不能作为学生实体的键。体的键。(4)域域 属性的取值范围属性的取值范围称为该属性的域。称为该属性的域。例如:例如:学号的域为学号的域为10位整数,姓名的域为位整数,姓名的域为字符串集合,性别的域为男和女。字符串集合,性别的域为男和女。5/16/202434(5)实体型实体型 若干个若干个属性型组成的集合属性型组成的集合是一实体型。是一实体型。例如:例如:学生(学号,姓名,年龄,性别,学生(学号,姓名,年龄,性别,所在系)就是一个实体型。所在系)就是一个实体型。(6)实体集实体集 同型实体的集合同型实体的集合称为实体集。称为实体集。例如:例如:所有的学生、所有的课程等。所有的学生、所有的课程等。5/16/202435(7)联系联系 现实世界中事物内部以及事物之间是有现实世界中事物内部以及事物之间是有联系的,在信息世界中反映为联系的,在信息世界中反映为实体内部的实体内部的联系和实体之间的联系。联系和实体之间的联系。实体内部的联系实体内部的联系通常是指组成实体的各通常是指组成实体的各属性之间的联系。属性之间的联系。实体之间的联系实体之间的联系通常是指不同实体集之通常是指不同实体集之间的联系。间的联系。5/16/2024362、两个实体间联系的类型、两个实体间联系的类型 (1)一对一联系(一对一联系(1:1)实体集实体集A中的一个实体至多与实体集中的一个实体至多与实体集B中中的一个实体相对应,反之亦然,则称实体的一个实体相对应,反之亦然,则称实体集集A与实体集与实体集B为一对一的联系,为一对一的联系,记作记作1:1。例如:例如:一个班级只有一个班长,一个班长只能一个班级只有一个班长,一个班长只能管理一个班级。管理一个班级。5/16/202437(2)一对多联系(一对多联系(1:n)如果对于实体集如果对于实体集A中的每一个实体,实体中的每一个实体,实体集集B中有多个实体与之对应,反之,对于中有多个实体与之对应,反之,对于实体集实体集B中的每一个实体,实体集中的每一个实体,实体集A中中至多至多只有一个只有一个实体与之对应,则称实体集实体与之对应,则称实体集A与与实体实体B有一对多联系,有一对多联系,记为记为1:n。例如:例如:学校的一个学校的一个系系有多名有多名教师教师,而一个教师,而一个教师只属于一个系。只属于一个系。5/16/202438(3)多对多联系(多对多联系(m:n)如果对于实体集如果对于实体集A中的每一个实体,实体中的每一个实体,实体集集B中有多个实体与之对应,反之,对于中有多个实体与之对应,反之,对于实体集实体集B中的每一个实体,实体集中的每一个实体,实体集A中也有中也有多个实体与之对应,则称实体集多个实体与之对应,则称实体集A与实体与实体B具有多对多联系,具有多对多联系,记为记为m:n。例如:例如:一个学生可以选修多门课程,一门课程一个学生可以选修多门课程,一门课程可以被多名学生选修。可以被多名学生选修。5/16/2024393、实体、实体-联系(联系(Entity-Relationship)方法)方法 实体实体-联系方法是最广泛使用的概念模型联系方法是最广泛使用的概念模型设计方法,该方法用设计方法,该方法用E-R图图来描述现实世来描述现实世界的概念模型。界的概念模型。5/16/202440E-R图提供了表示实体型、属性和联系的方法图提供了表示实体型、属性和联系的方法(1)实体型:用实体型:用矩形矩形表示,矩形框内写明实体名。表示,矩形框内写明实体名。(2)属性:用属性:用椭圆椭圆形表示,并用连线将其与相应形表示,并用连线将其与相应的实体连接起来。的实体连接起来。(3)联系:用联系:用菱形菱形表示,菱形框内写明联系名,表示,菱形框内写明联系名,并用连线分别与有关实体连接起来,同时在并用连线分别与有关实体连接起来,同时在连线旁标上联系的类型连线旁标上联系的类型(1:1、1:n或或m:n)。)。5/16/202441编编号号姓姓名名性性别别学学历历职职称称教师教师课程课程m教师教师讲讲授授n教师教师1系部系部聘聘任任nE-R图图5/16/2024421.4.3 实施模型实施模型概念模型是概念模型是“概念概念”上的,而实施模型是上的,而实施模型是按计算机系统的观点对数据按计算机系统的观点对数据建模建模,与具体,与具体的数据库管理系统有关,的数据库管理系统有关,侧重于数据和联侧重于数据和联系的表示或存储方法。系的表示或存储方法。实施模型主要有实施模型主要有层次模型、网状模型、层次模型、网状模型、关系模型关系模型,这三种数据模型的区别在于数,这三种数据模型的区别在于数据结构不同,即实体之间联系的表示方式据结构不同,即实体之间联系的表示方式不同。不同。5/16/202443 层次模型:层次模型:用用“树结构树结构”来表示实体之间的联来表示实体之间的联系;系;网状模型:网状模型:用用“图结构图结构”来表示实体之间的联来表示实体之间的联系;系;关系模型:关系模型:用用“二维表二维表”来表示实体之间的联来表示实体之间的联系。系。关系模型建立在严格的数学概念基础上,关系模型建立在严格的数学概念基础上,结构简单、清晰。结构简单、清晰。因此,是数据模型的主流。因此,是数据模型的主流。5/16/2024441.5 关系数据库关系数据库1.5.1 关系模型和基本术语关系模型和基本术语 1、关系模型、关系模型 关系模型的数据结构是一个关系模型的数据结构是一个“二维表框架二维表框架”组成的集合,每个二维表又可称为组成的集合,每个二维表又可称为关系关系,由,由行和列组成。行和列组成。5/16/2024452、关系术语、关系术语(1)关系关系 一个关系就是一张二维表。一个关系就是一张二维表。(2)元组元组 表中第二行开始的每一行称为表中第二行开始的每一行称为“元组元组”,即通常所说的即通常所说的“记录记录”,是构成关系的一个,是构成关系的一个个实体。个实体。(3)属性属性 二维表中的一列即为一个属性,二维表中的一列即为一个属性,又称为字又称为字段段,第一行列出的是属性名(字段名)。,第一行列出的是属性名(字段名)。5/16/202446 即即“关系关系”是是“元组元组”的集合,的集合,“元组元组”是属性值是属性值的集合的集合。一个关系模型中的数据就是这样逐。一个关系模型中的数据就是这样逐行逐列组织起来的。行逐列组织起来的。(4)域域 属性的取值范围。属性的取值范围。(5)分量分量 元组中的一个属性值。元组中的一个属性值。关系模型要求关系必须是规范化的,最基本关系模型要求关系必须是规范化的,最基本的条件就是,关系的每一个分量必须是一个的条件就是,关系的每一个分量必须是一个不可再分的数据项,即不可再分的数据项,即不允许表中还有表不允许表中还有表。5/16/202447(6)关系模式关系模式 对关系的描述,一般表示为:对关系的描述,一般表示为:关系名(属性关系名(属性1,属性,属性2,属性,属性n)(7)关系数据库关系数据库 对应于一个关系模型的所有关系的集合对应于一个关系模型的所有关系的集合称为关系数据库。称为关系数据库。(8)候选关键字候选关键字 关系中的某个属性组(一个或几个属性关系中的某个属性组(一个或几个属性的集合),它可以唯一标识一个元组,这个的集合),它可以唯一标识一个元组,这个属性组称为属性组称为候选关键字候选关键字。5/16/202448(9)主关键字主关键字 一个关系中有多个侯选关键字,可以选择其一个关系中有多个侯选关键字,可以选择其中一个作为主关键字,也称为主码或主键。中一个作为主关键字,也称为主码或主键。(10)外部关键字外部关键字 如果一个属性组不是所在关系的关键字,如果一个属性组不是所在关系的关键字,但是其他关系的关键字但是其他关系的关键字,则该属性组称为外,则该属性组称为外部关键字,也称为部关键字,也称为外码或外键外码或外键。(11)主属性主属性 包含在任一候选关键字中的属性称为主属性。包含在任一候选关键字中的属性称为主属性。5/16/2024491.5.2关系的数学定义关系的数学定义 1、域、域 域是一组具有相同数据类型的值的集域是一组具有相同数据类型的值的集合。合。例如:例如:教师教师职称的集合职称的集合助教,讲师,副助教,讲师,副教授,教授教授,教授就是一个域。就是一个域。5/16/2024502、笛卡儿积、笛卡儿积D1,D2,Dn为一组域,那么为一组域,那么D1,D2,Dn的的笛卡儿积笛卡儿积为:为:D1D2Dn(d1,d2,dn)|di Di,i=1,2,n 其中每一个元素其中每一个元素(d1,d2,dn)叫做一叫做一个个n元组或简称元组,元组中的每一个值元组或简称元组,元组中的每一个值di叫做一个分量。叫做一个分量。5/16/202451例如:例如:设设D1=张三,李四,王五,赵六张三,李四,王五,赵六 D2=讲师,教授讲师,教授则则D1D2=(张三张三,讲师讲师),(张三张三,教授教授),(李李四四,讲师讲师),(李四李四,教授教授),(王五王五,讲师讲师),(王王五五,教授教授),(赵六赵六,讲师讲师),(赵六赵六,教授教授)笛卡儿积实际上就是一张二维表。笛卡儿积实际上就是一张二维表。5/16/2024523、关系关系的定义的定义笛卡儿积笛卡儿积D1D2Dn的任何一个子集的任何一个子集称为称为D1,D2,Dn上的一个上的一个n 元关系元关系。关系是笛卡儿积的有限子集,所以关系也是关系是笛卡儿积的有限子集,所以关系也是一个二维表。一个二维表。5/16/2024534、关系的性质、关系的性质 关系是一个二维表,但并不是所有的关系是一个二维表,但并不是所有的二维表都是关系。二维表都是关系。教师编号教师编号姓名姓名性别性别工作时间工作时间01张乐张乐男男1969-11-1010赵希明赵希明女女1983-1-2511李小平李小平男男1963-5-1912王新王新女女1967-12-35/16/202454关系应具有以下性质:关系应具有以下性质:1)每一列中的分量是每一列中的分量是同一类型同一类型的数据,来自同一的数据,来自同一个域。个域。2)不同的列要给予不同的列要给予不同不同的属性的属性名名。3)列的顺序无所谓,即列的次序可以任意交换。列的顺序无所谓,即列的次序可以任意交换。4)任意两个任意两个元组不能完全相同元组不能完全相同。5)行的顺序无所谓,即行的次序可以任意交换。行的顺序无所谓,即行的次序可以任意交换。6)每一个分量都必须是每一个分量都必须是不可再分不可再分的数据项。的数据项。5/16/2024551.5.3 关系模型的完整性约束关系模型的完整性约束 关关系系模模型型的的完完整整性性约约束束包包括括实实体体完完整整性性、参照完整性和用户定义完整性。参照完整性和用户定义完整性。其其中中实实体体完完整整性性和和参参照照完完整整性性统统称称为为关关系系完完整整性性规规则则,是是对对关关系系主主键键和和外外键键的的约约束条件。束条件。5/16/2024561、实体完整性、实体完整性 实体完整性规则:实体完整性规则:若属性若属性A是基本关系是基本关系R的的主属性主属性,则属性,则属性A不能取空值不能取空值。例例1:学生关系:学生关系:学生(学生(学号学号,姓名,性别,班级),姓名,性别,班级)其中学号是主关键字,因此不能为空值,其中学号是主关键字,因此不能为空值,不能有重复值。不能有重复值。5/16/2024571、实体完整性、实体完整性例例2:学生选课关系:学生选课关系:学生选课(学生选课(学号,课程编号,学号,课程编号,学年,学期,学年,学期,成绩)成绩)其中学号和课程编号共同构成主关键字,其中学号和课程编号共同构成主关键字,因此学号和课程编号因此学号和课程编号都不能为空值都不能为空值,而且学,而且学号和课程编号这个号和课程编号这个整体不能有重复值整体不能有重复值。5/16/2024582、参照完整性、参照完整性 参照完整性规则:参照完整性规则:若属性(或属性组)若属性(或属性组)F是是基本关系基本关系R的的外键外键,它与关系,它与关系S的主关键字的主关键字K相对应,则对于关系相对应,则对于关系R中每个元组在中每个元组在F上的值上的值必须为:或者取空值(必须为:或者取空值(F的每个属性值均为的每个属性值均为空值);或者等于空值);或者等于S中某个元组的主关键字中某个元组的主关键字的值。的值。5/16/2024592、参照完整性、参照完整性例例1:“班级编号班级编号”是班级表的主键、学生表是班级表的主键、学生表的外键。的外键。学生表学生表中的中的“班级编号班级编号”必须是班级表必须是班级表中一个存在的值,或者是空值。中一个存在的值,或者是空值。例例2:“学院代码学院代码”是学院表的主键、系部表是学院表的主键、系部表的外键。的外键。系部表系部表中的中的“学院代码学院代码”必须是学院表必须是学院表中一个存在的值,或者是空值。中一个存在的值,或者是空值。5/16/2024603、用户定义的完整性、用户定义的完整性 实体完整性和参照完整性是关系数据模型必实体完整性和参照完整性是关系数据模型必须要满足的。须要满足的。而而用户定义的完整性用户定义的完整性是与应用密切相关的是与应用密切相关的数据完整性的约束,数据完整性的约束,不是关系数据模型本身不是关系数据模型本身所要求的。所要求的。它的作用是它的作用是保证数据库中数据的正确性。保证数据库中数据的正确性。例如:限定属性的取值范围。学生成绩的取例如:限定属性的取值范围。学生成绩的取值必须在值必须在0100,学院代码的取值必须在,学院代码的取值必须在0099。5/16/2024611.6 关系代数关系代数关系代数关系代数是一种抽象的查询语言,是关系数据是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关操纵语言的一种传统表达方式,它是用对关系的运算来表达查询要求的。系的运算来表达查询要求的。关系代数的关系代数的运算对象是关系运算对象是关系,运算,运算结果也结果也是关系。是关系。关系代数的运算可以关系代数的运算可以分为两大类分为两大类:传统的:传统的集合运算和专门的关系运算。集合运算和专门的关系运算。5/16/2024621.6.1 传统的集合运算传统的集合运算 设设R和和S均是均是n元关系(元数相同),元关系(元数相同),且两个关系属性的性质相同。且两个关系属性的性质相同。下面以教师下面以教师A(如表(如表1-5)和教师)和教师B(如表(如表1-6)两个关系为例,来说明)两个关系为例,来说明传统的传统的集合运算集合运算:并运算、交运算和差运算。:并运算、交运算和差运算。(P14)5/16/2024631、并运算、并运算两两个个关关系系的的并并运运算算记记作作R S,运运算算结结果果是是将将两两个个关关系系的的所所有有元元组组组组成成一一个个新新的的关关系系,若若有有完全相同的元组,只留下一个。(见完全相同的元组,只留下一个。(见P14)教师编号教师编号姓名姓名性别性别工作时间工作时间01张乐张乐男男1969-11-1010赵希明赵希明女女1983-1-2511李小平李小平男男1963-5-1930沈核沈核男男1957-10-1931李龙吟李龙吟男男1990-5-265/16/2024642、交运算、交运算两两个个关关系系的的交交运运算算记记作作RS,运运算算结结果果是是两两个个关关系系中中公公共共元元组组组组成成一一个个新新的的关系。关系。教师编号教师编号姓名姓名性别性别工作时间工作时间11李小平李小平男男1963-5-195/16/2024653、差运算、差运算两两个个关关系系的的差差运运算算记记作作RS,运运算算结结果果是是由由属属于于R,但但不不属属于于S的的元元组组组组成成一一个个新新的关系。的关系。教师编号教师编号姓名姓名性别性别工作时间工作时间01张乐张乐男男1969-11-1010赵希明赵希明女女1983-1-255/16/2024664、集合的广义笛卡儿积运算、集合的广义笛卡儿积运算设设R和和S是是两两个个关关系系,如如果果R是是m元元关关系系,有有i个个元元组组,S是是n元元关关系系,有有j个个元元组组,则则笛笛卡卡儿儿积积RS是是一一个个m+n元元关关系系,有有ij个元组。个元组。学号学号姓名姓名0302019115张智军张智军0302019129梁宵梁宵课程名称课程名称学时学时高级语言程序设计高级语言程序设计68高等数学高等数学68学号学号姓名姓名课程名称课程名称学时学时0302019115张智军张智军高级语言程序设计高级语言程序设计680302019115张智军张智军高等数学高等数学680302019129梁宵梁宵高级语言程序设计高级语言程序设计680302019129梁宵梁宵高等数学高等数学685/16/2024671.6.2 专门的关系运算专门的关系运算 在在关关系系代代数数中中,有有4种种专专门门的的关关系系运运算算:选选择择、投投影影、连连接接和和除除运算。运算。5/16/2024681.6.2 专门的关系运算专门的关系运算 1、选择运算、选择运算 从指定的关系中选择出满足指定条件的元从指定的关系中选择出满足指定条件的元组组成一个新关系。通常选择运算符记作:组组成一个新关系。通常选择运算符记作:(R),),其中,其中,是选择运算符,是选择运算符,R是关系名。是关系名。例如:例如:选出性别为选出性别为“男男”的教师名单,记成:的教师名单,记成:性别性别=男男(教师(教师A)5/16/2024692、投影运算、投影运算 从指定关系中选择某些属性的所有值组成从指定关系中选择某些属性的所有值组成一个新关系,通常投影运算符记作:一个新关系,通常投影运算符记作:A(R)。其中其中是投影运算符,是投影运算符,A是被投影的是被投影的属性或属性组。属性或属性组。例如:例如:列出所有教师的姓名、性别,记成:列出所有教师的姓名、性别,记成:姓名,性别姓名,性别(教师(教师A)5/16/2024703、连接运算、连接运算 用来连接相互之间有联系的两个用来连接相互之间有联系的两个或多个关系,从而组成一个新的关系。或多个关系,从而组成一个新的关系。连接运算是一个复合型的运算,连接运算是一个复合型的运算,包含了笛卡儿积、选择和投影包含了笛卡儿积、选择和投影3种运算。种运算。通常记作:通常记作:RS。5/16/2024713、连接运算、连接运算 每一个连接操作都包括一个连接类型和每一个连接操作都包括一个连接类型和一个连接条件。一个连接条件。连接条件决定运算结果中元组的匹配和连接条件决定运算结果中元组的匹配和属性的去留;连接类型决定如何处理不符合属性的去留;连接类型决定如何处理不符合条件的元组。条件的元组。有有内连接、自然连接、左外连接、右外内连接、自然连接、左外连接、右外连接、全外连接连接、全外连接等。(见等。(见P1618)5/16/2024721.内连接内连接按照公共属性值相等的条件连接,并且不消除按照公共属性值相等的条件连接,并且不消除重复属性。重复属性。2.自然连接自然连接按照公共属性值相等的条件连接,并且消除重按照公共属性值相等的条件连接,并且消除重复属性,这是最常用的一种连接,自然连接的运复属性,这是最常用的一种连接,自然连接的运算符用算符用 表示。表示。3.左外连接左外连接在内连接的基础上,保留左关系中不能匹配条在内连接的基础上,保留左关系中不能匹配条件的元组,并将右关系的属性填为空值。件的元组,并将右关系的属性填为空值。3.右外连接右外连接(与左外连接反向)(与左外连接反向)4.全外连接全外连接左外连接与右外连接的组合。左外连接与右外连接的组合。5/16/2024734、除运算、除运算除法运算表示为除法运算表示为RS。除法运算应满足的条件是:除法运算应满足的条件是:关系关系S的的属性全部包含在关系属性全部包含在关系R中,关系中,关系R的一些属的一些属性不包含在关系性不包含在关系S中。中。除法运算的结果也是关系,关系中的除法运算的结果也是关系,关系中的属性由属性由R中除去中除去S中的属性之外的全部属性中的属性之外的全部属性组成,元组由组成,元组由R与与S中在所有相同属性上有中在所有相同属性上有相等值的那些元组组成。相等值的那些元组组成。5/16/202474学生学生选课表表R同一人同一人选课表表SRS学号学号课号号课号号=学号学号9800198001C23C23C23C2398002980029800198001C24C24C24C24同一人同一人选C23C23、C24C24和和C25C25三三课的学生的学生学号学号9800198001C27C27C25C259800298002C23C239800298002C24C249800298002C25C25例如:例如:从学生选课表中挑出选了从学生选课表中挑出选了C23、C24和和C25三门课的学生的学号。三门课的学生的学号。5/16/202475本章小结本章小结1.数据库的三种模式对应了数据库的结构,模式、数据库的三种模式对应了数据库的结构,模式、内模式和外模式分别是数据库的全局逻辑结构、内模式和外模式分别是数据库的全局逻辑结构、物理结构和局部逻辑结构。物理结构和局部逻辑结构。2.数据模型有三种:网状、层次和关系型。数据模型有三种:网状、层次和关系型。3.关系型数据库的模式是静止的,关系是关系模式关系型数据库的模式是静止的,关系是关系模式某一时刻的取值,是动态的。某一时刻的取值,是动态的。4.关系型数据库从三方面考虑完整性,一是实体完关系型数据库从三方面考虑完整性,一是实体完整性,二是参照完整性,三是用户定义完整性。整性,二是参照完整性,三是用户定义完整性。5.关系代数是关系数据库操作的理论基础,尤其是关系代数是关系数据库操作的理论基础,尤其是选择、投影和连接运算。选择、投影和连接运算。5/16/202476本章作业本章作业一、选择题(一、选择题(P20-1,3,5,10,13,18)二、判断题(二、判断题(P21)三、简答题三、简答题 (P22-1,3)5/16/202477谢谢
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!