《数据库技术与应用简明教程PPT电子教案(全)完整版课件整套教学课件.pptx》由会员分享,可在线阅读,更多相关《数据库技术与应用简明教程PPT电子教案(全)完整版课件整套教学课件.pptx(379页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1数据库技术与应用数据库技术与应用为什么学习数据库为什么学习数据库图书馆系统图书馆系统教务管理系统教务管理系统一卡通一卡通火车票(飞机)订票系统火车票(飞机)订票系统超市管理系统超市管理系统各种搜索引擎各种搜索引擎23数据库技术基础数据库技术基础第1章第第1 1章章 数据库技术基础数据库技术基础1.1 1.1 信息与数据信息与数据1.1.信息(信息(InformationInformation)信息是现实世界中各种事物的存在方式、运信息是现实世界中各种事物的存在方式、运动形态以及它们之间的相互联系等诸要素在动形态以及它们之间的相互联系等诸要素在人脑中的反映。人脑中的反映。4具体的或抽象的具体的
2、或抽象的2.2.数据数据(Data)(Data)数据是反映客观事物存在方式和运动状态数据是反映客观事物存在方式和运动状态的记录,是信息的载体。的记录,是信息的载体。数据表现信息的形式是多种多样的,不仅数据表现信息的形式是多种多样的,不仅有数字、文字符号,还可以有图形、图像和有数字、文字符号,还可以有图形、图像和声音等。声音等。数据和信息是不可分离的,数据是信息的表数据和信息是不可分离的,数据是信息的表现形式,数据只有经过处理具有一定意义后才现形式,数据只有经过处理具有一定意义后才成为信息。成为信息。数据是信息的载体,信息是数据的内涵数据是信息的载体,信息是数据的内涵 51.2 数据管理技术的发
3、展数据管理技术的发展 数据管理数据管理是指利用计算机对各种类型的是指利用计算机对各种类型的数据进行加工处理。它包括对数据的采集、数据进行加工处理。它包括对数据的采集、整理、存储、分类、排序、检索、维护、加整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。工、统计和传输等一系列操作过程。数据管理技术的发展经历了:数据管理技术的发展经历了:人工管理阶段人工管理阶段文件系统阶段文件系统阶段数据库系统阶段数据库系统阶段61.1.人工管理阶段(人工管理阶段(2020世纪世纪5050年代中期)年代中期)特点特点:这一时期的数据由于是面向应用程序的,应这一时期的数据由于是面向应用程序的,
4、应用程序与其处理的数据结合成一个整体。用程序与其处理的数据结合成一个整体。(1 1)数据不保存)数据不保存(2 2)应用程序管理数据)应用程序管理数据(3 3)数据不能共享)数据不能共享(4 4)数据不具有独立性)数据不具有独立性7人工管理阶段的程人工管理阶段的程序与数据的关系序与数据的关系 应用程序应用程序1应用程序应用程序2 数据数据1数据数据2应用程序应用程序n数据数据n2.2.文件系统阶段文件系统阶段2020世纪世纪5050年代后期至年代后期至6060年代中期年代中期文件系统阶段的特点文件系统阶段的特点(1 1)数据可以长期保存)数据可以长期保存(2 2)文件系统管理数据)文件系统管理
5、数据(3 3)数据的共享性差,冗余度大)数据的共享性差,冗余度大(4 4)数据独立性差)数据独立性差 8文件系统阶文件系统阶段程序与数段程序与数据的关系据的关系 应用程序应用程序1应用程序应用程序2应用程序应用程序n数据文件数据文件1数据文件数据文件2数据文件数据文件n文件系统文件系统统统 3.3.数据库系统数据库系统(技术)阶段(技术)阶段(2020世纪世纪6060年代后年代后期)期)数据处理的特点是:数据处理的特点是:(1 1)数据整体结构化)数据整体结构化(2 2)数据共享性高、冗余少)数据共享性高、冗余少(3 3)数据独立性高)数据独立性高(4 4)提供完备的数据控制功能)提供完备的数
6、据控制功能在数据库系统阶段应用系统与数据之间的关系在数据库系统阶段应用系统与数据之间的关系9应用程序应用程序1应用程序应用程序2应用程序应用程序n数据库管数据库管理系统理系统统统 数据库数据库1.3 数据库系统数据库系统 数据库系统(数据库系统(Database SystemDatabase System,简称,简称DBSDBS)是应数据处理的需要而发展起来的一种)是应数据处理的需要而发展起来的一种数据处理系统,其架构于计算机系统之上,数据处理系统,其架构于计算机系统之上,所以数据库系统的组成需要计算机软、硬件所以数据库系统的组成需要计算机软、硬件的支撑和协作,需要存储数据的数据库,管的支撑和
7、协作,需要存储数据的数据库,管理数据的数据库管理系统,以及相关人员。理数据的数据库管理系统,以及相关人员。101.3.1 数据库系统的组成数据库系统的组成数据库系统一般由数据库系统一般由4 4个部分组成:个部分组成:1.1.计算机硬件计算机硬件构成计算机系统的各种物理设备,包括存储构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数所需的外部设备。硬件的配置应满足整个数据库系统的需求。据库系统的需求。2.2.计算机软件计算机软件软件包括操作系统、数据库管理系统、实用软件包括操作系统、数据库管理系统、实用程序以及应用开发工具等。其中,数据库管程序以及应用开发工具等。其中,
8、数据库管理系统是数据库系统的核心软件。理系统是数据库系统的核心软件。11DBMS DBMS(Database Management System(Database Management System)的主)的主要功能包括:要功能包括:数据定义数据定义数据操纵数据操纵数据库的运行管理数据库的运行管理数据库的建立与维护数据库的建立与维护123.3.数据库数据库数据库数据库(Database(Database,简称,简称DBDB)是以一定的组织方式将相是以一定的组织方式将相关的数据组织在一起,长期存放在计算机内,可为多关的数据组织在一起,长期存放在计算机内,可为多个用户共享,与应用程序彼此独立,统一
9、管理的数据个用户共享,与应用程序彼此独立,统一管理的数据集合。集合。数据库是数据库系统组成的核心要素。数据库是数据库系统组成的核心要素。4.4.人员人员人员主要有人员主要有4 4类:类:系统分析员和数据库设计人员系统分析员和数据库设计人员应用开发人员应用开发人员最终用户最终用户数据库管理员(数据库管理员(Database AdministratorDatabase Administrator,简称,简称DBADBA)13数据库系统组成示意图数据库系统组成示意图人员(分析人员(分析/设计设计/开发开发/管理管理/用户)用户)应用系统应用系统应用开发工具应用开发工具数据库管理系统数据库管理系统操作
10、系统操作系统数据库数据库计算机硬件计算机硬件1.3.2 数据库系统的模式结构数据库系统的模式结构数据库系统的结构从数据库管理系统角度分,数据库系统的结构从数据库管理系统角度分,通常采用三级模式结构:通常采用三级模式结构:外模式、模式和内外模式、模式和内模式。模式。15应用程序应用程序1应用程序应用程序2应用程序应用程序3应用程序应用程序4外模式外模式A外模式外模式B外模式外模式C模式模式内模式内模式数据库数据库外模式外模式/模式模式映射映射A外模式外模式/模式模式映射映射B外模式外模式/模式模式映射映射C模式模式/内模式映射内模式映射1 1内模式内模式 内内模模式式也也称称为为存存储储模模式式
11、或或物物理理模模式式,它它是是数数据据物物理理结结构构和和存存储储方方式式的的描描述述,是是数数据据在在数数据据库库内内部的表示方式。部的表示方式。一个数据库只有一个内模式一个数据库只有一个内模式。2 2模式模式 模模式式也也称称为为逻逻辑辑模模式式或或概概念念模模式式,是是对对数数据据库库中中全全体体数数据据的的逻逻辑辑结结构构和和特特征征的的描描述述,是是所所有有数数据据在在逻逻辑辑层层面面上上的的视视图图。一一个个数数据据库库只只有有一一个模式个模式。3 3外模式外模式 外外模模式式也也称称为为子子模模式式或或用用户户模模式式,它它是是数数据据库库用用户户能能够够看看见见和和使使用用的的
12、局局部部数数据据的的逻逻辑辑结结构构和和特特征征的的描描述述,是是数数据据库库用用户户的的数数据据视视图图,是是与与某一应用有关的数据的逻辑表示。某一应用有关的数据的逻辑表示。外外模模式式一一般般是是模模式式的的子子集集。一一个个数数据据库库可可以以有有多多个个外外模模式式。一一个个应应用用程程序序只只能能使使用用一一个个外外模模式。式。164.4.“外模式外模式/模式模式”之间的映射之间的映射这这种种映映射射定定义义了了该该外外模模式式与与模模式式之之间间的的对对应应关关系系,实实现现了了数数据据与与程程序序的的逻逻辑辑独独立立性性,简简称称数据的逻辑独立性数据的逻辑独立性。5.5.“模式模
13、式/内模式内模式”之间的映射之间的映射这种映射定义了模式与内模式之间的对应关这种映射定义了模式与内模式之间的对应关系,即定义了数据的全体逻辑结构和数据的系,即定义了数据的全体逻辑结构和数据的物理结构之间的对应关系。模式物理结构之间的对应关系。模式/内模式的映内模式的映射使全局逻辑数据独立于物理数据,保证了射使全局逻辑数据独立于物理数据,保证了数据与程序的物理独立性,数据与程序的物理独立性,简称数据的物理简称数据的物理独立性独立性。171.4 数据库设计的基本步骤数据库设计的基本步骤数据库设计是综合运用计算机软、硬件技术,数据库设计是综合运用计算机软、硬件技术,结合结合应用系统领域的知识应用系统
14、领域的知识和管理技术的系统和管理技术的系统工程。工程。数据库设计归纳为如下几个阶段:数据库设计归纳为如下几个阶段:1.1.需求分析阶段需求分析阶段2.2.概念结构设计阶段概念结构设计阶段3.3.逻辑结构设计阶段逻辑结构设计阶段4.4.物理结构设计阶段物理结构设计阶段5.5.实施阶段实施阶段6.6.运行与维护阶段运行与维护阶段181.1.需求分析阶段需求分析阶段需求分析阶段是整个数据库设计的基础,在需求分析阶段是整个数据库设计的基础,在这个阶段必须准确地理解、分析用户的各种这个阶段必须准确地理解、分析用户的各种需求。需求。信息要求:用户需要从数据库中获取信息的信息要求:用户需要从数据库中获取信息
15、的内容与性质,确定在数据库中需要存储的数内容与性质,确定在数据库中需要存储的数据。据。处理要求:确定用户对处理功能、响应时间、处理要求:确定用户对处理功能、响应时间、处理方式的要求(批处理处理方式的要求(批处理/联机处理)。联机处理)。安全性和完整性要求:确定用户对数据库中安全性和完整性要求:确定用户对数据库中存放的信息的安全保密要求,确定数据的约存放的信息的安全保密要求,确定数据的约束条件。束条件。192.2.概念结构设计阶段概念结构设计阶段在需求分析的基础上,将用户需求进行抽象和在需求分析的基础上,将用户需求进行抽象和模拟,构造信息世界的概念模型。概念结构设模拟,构造信息世界的概念模型。概
16、念结构设计是数据库设计的关键。计是数据库设计的关键。设计概念模型的常用方法是设计概念模型的常用方法是实体实体-联系模型联系模型(简称(简称E-RE-R模型)。模型)。203.3.逻辑结构设计阶段逻辑结构设计阶段将概念结构设计阶段构造的概念模型设计成将概念结构设计阶段构造的概念模型设计成数据库的一种逻辑模式,即适应于某种特定数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的数据库管理系统所支持的逻辑数据模式逻辑数据模式。21概念模型概念模型(E-R模型)模型)数据模型数据模型具体的具体的DBMS支支持的数据模型持的数据模型优化的数据优化的数据模型模型转换规则转换规则DBMSDBMS的特
17、点的特点及限制及限制优化方法优化方法4.4.物理结构设计阶段物理结构设计阶段数据库在物理设备上的存储结构和存取方法数据库在物理设备上的存储结构和存取方法称为数据库的物理结构,它依赖于具体的计称为数据库的物理结构,它依赖于具体的计算机系统。数据库物理结构设计就是为设计算机系统。数据库物理结构设计就是为设计好的逻辑数据模型选择最适合的好的逻辑数据模型选择最适合的应用环境应用环境。物理结构设计主要完成两方面的工作:物理结构设计主要完成两方面的工作:确定数据库的物理结构。在关系数据库中确定数据库的物理结构。在关系数据库中主要是确定存取方法和存储结构。主要是确定存取方法和存储结构。对物理结构进行评价。主
18、要评价时间和空对物理结构进行评价。主要评价时间和空间效率间效率225.5.实施阶段实施阶段设计人员使用设计人员使用DBMSDBMS提供的数据定义语言及其提供的数据定义语言及其他实用程序将上述阶段设计的结果描述出来,他实用程序将上述阶段设计的结果描述出来,组织数据入库,编写并调试应用程序,试运组织数据入库,编写并调试应用程序,试运行。行。6.6.使用与维护阶段使用与维护阶段当数据库试运行成功后,即可投入正常使用,当数据库试运行成功后,即可投入正常使用,在使用过程中,由数据库管理员负责整个数在使用过程中,由数据库管理员负责整个数据库应用系统的日常维护工作,主要包括:据库应用系统的日常维护工作,主要
19、包括:数据库转储和恢复;数据库安全性和完整性数据库转储和恢复;数据库安全性和完整性控制;数据库性能的监督、分析和改进;数控制;数据库性能的监督、分析和改进;数据库的重新组织和重新建构据库的重新组织和重新建构。231.5 数据模型数据模型1.5.1 1.5.1 数据描述数据描述现实世界中的数据能够被计算机所接受,需现实世界中的数据能够被计算机所接受,需要经过一系列的认识、理解、整理、规范和要经过一系列的认识、理解、整理、规范和加工的过程,然后才能存放到数据库中。加工的过程,然后才能存放到数据库中。24转换转换抽象抽象现实世现实世界界信息世界信息世界(概念模型)(概念模型)计算机世界计算机世界(数
20、据模型)(数据模型)数据描述的三个范畴数据描述的三个范畴各种事物根据其各种事物根据其特征和运动形态特征和运动形态加以区分加以区分信息世界是人们把现实世信息世界是人们把现实世界的信息和联系,通过界的信息和联系,通过“符号符号”记录下来,是对现记录下来,是对现实世界的一种抽象描述。实世界的一种抽象描述。信息世界中的数据在信息世界中的数据在计算机世界中的存储,计算机世界中的存储,即成为计算机的数据。即成为计算机的数据。数据模型是用于表达数据的工具。数据模型是用于表达数据的工具。数据模型的组成要素是:数据模型的组成要素是:数据结构数据结构数据操作数据操作数据的完整性约束条件。数据的完整性约束条件。25
21、1.5.2 概念模型概念模型一、基本概念一、基本概念1.1.实体实体(Entity)(Entity):客观存在并相互区别的:客观存在并相互区别的“事物事物”。例:某一本书、某一架飞机、某个学生等都是实例:某一本书、某一架飞机、某个学生等都是实体。体。2.2.属性属性(Attribute)(Attribute):实体有若干个特性,每一个:实体有若干个特性,每一个特性称为实体一个属性。特性称为实体一个属性。例:学生实体可以由学号、姓名、性别、出生日例:学生实体可以由学号、姓名、性别、出生日期等属性组成。而期等属性组成。而(2016030205(2016030205、张三、男、张三、男、1998/0
22、6/26)1998/06/26)就是一个学生实体。其中,就是一个学生实体。其中,“张三张三”是是“姓名姓名”属性的属性值。属性的属性值。3.3.域域:属性的取值范围。属性的取值范围。4.4.实体型实体型(Entity Type)(Entity Type):用实体名及描述它的:用实体名及描述它的各属性名来描述同类实体,称为实体型。各属性名来描述同类实体,称为实体型。例:学生(学号、姓名、性别、出生日期)就是例:学生(学号、姓名、性别、出生日期)就是一个实体型。一个实体型。265.5.实体集实体集(Entity Set)(Entity Set):是具有相同类型及:是具有相同类型及相同属性的实体的集
23、合。相同属性的实体的集合。例例:某个学校(或某个班级)的全体学生就是某个学校(或某个班级)的全体学生就是一个实体集。一个实体集。6.6.关键字关键字(Key)(Key):如果某个属性或某个属性:如果某个属性或某个属性集的值能够唯一地标识出实体集中的每一个集的值能够唯一地标识出实体集中的每一个实体,那么该属性或属性集就称为关键字实体,那么该属性或属性集就称为关键字(或码)。(或码)。作为关键字的属性或属性集又称为主属性,作为关键字的属性或属性集又称为主属性,反之称为非主属性。反之称为非主属性。例例:一个学校里,学生实体的学号是肯定不重一个学校里,学生实体的学号是肯定不重复的。所以学号可以作为学生
24、实体的关键字。复的。所以学号可以作为学生实体的关键字。7.7.联系联系(Relationship)(Relationship):联系是对实体集间:联系是对实体集间的关联关系的描述。的关联关系的描述。27实体集的联系类型有如下实体集的联系类型有如下3 3种类型:种类型:1 1)一对一联系)一对一联系 设有实体集设有实体集A A与实体集与实体集B B,如果,如果A A中的一个实体,至中的一个实体,至多与多与B B中的一个实体关联,反过来,中的一个实体关联,反过来,B B中的一个实体,中的一个实体,至多与至多与A A中的一个实体关联,则称中的一个实体关联,则称A A与与B B是是“一对一一对一”联系
25、类型,记作联系类型,记作(1:1)(1:1)。28任职任职班长班长班级班级 1 1 11班级班级管理管理班主任班主任2 2)一对多联系)一对多联系 设有实体集设有实体集A A与实体集与实体集B B,如果,如果A A中的一个实中的一个实体,与体,与B B中可以有多个实体关联,反过来,中可以有多个实体关联,反过来,B B中的一个实体,至多与中的一个实体,至多与A A中的一个实体关联,中的一个实体关联,称称A A与与B B是是“一对多一对多”联系类型,记作联系类型,记作(1n)(1n)。29所属所属 班级班级 学生学生 1 n 3.3.多对多联系多对多联系 设有实体集设有实体集A A与实体集与实体集
26、B B,如果,如果A A中的一个实中的一个实体,与体,与B B中可以有多个实体关联,反过来,中可以有多个实体关联,反过来,B B中的一个实体,与中的一个实体,与A A中可以有多个实体关联,中可以有多个实体关联,称称A A与与B B是多对多联系类型,记作是多对多联系类型,记作(mn)(mn)。30授课授课教师教师 课程课程 m n 工程项目工程项目供应供应材料材料m mn n供应商供应商p p二、实体二、实体-联系模型联系模型E-RE-R模型是用模型是用E-RE-R图来描述的,即通过图形描述实图来描述的,即通过图形描述实体集、实体属性和实体集之间联系的图形。体集、实体属性和实体集之间联系的图形。
27、在在E-RE-R模型中,数据的结构被表示为模型中,数据的结构被表示为“实体实体-联联系系”图(图(E-RE-R图),图中有图),图中有3 3个主要的元素,即个主要的元素,即实实体集、属性和联系体集、属性和联系。其中:其中:(1 1)“矩形矩形”框用于表示实体集;框用于表示实体集;(2 2)“椭圆形椭圆形”框用于表示实体集中实体的公框用于表示实体集中实体的公共属性;共属性;(3 3)“菱形菱形”框用于表示实体集之间的联系。框用于表示实体集之间的联系。31【例【例1-21-2】某学校要开发一个数据库应用系统,通过需某学校要开发一个数据库应用系统,通过需求分析阶段获取其中的学生管理子系统的信息如下:
28、求分析阶段获取其中的学生管理子系统的信息如下:学院学院:学院编号、学院名称、负责人、电话、地址学院编号、学院名称、负责人、电话、地址系系:系编号、系名称、系主任、班级个数系编号、系名称、系主任、班级个数班级班级:班级编号、班级名称、班级人数、专业班级编号、班级名称、班级人数、专业学生学生:学号、姓名、性别、出生日期、是否党员、入学号、姓名、性别、出生日期、是否党员、入学成绩学成绩社团社团:社团编号、社团名称、创建日期社团编号、社团名称、创建日期每个学院会设置若干个系,每个系只属于一个学院;每个学院会设置若干个系,每个系只属于一个学院;每个系拥有若干个班级,每个班级只属于一个系;每每个系拥有若干
29、个班级,每个班级只属于一个系;每个班级有若干名学生,每位学生只属于一个班级;每个班级有若干名学生,每位学生只属于一个班级;每个学生可以参加若干个社团,每个社团可以有若干名个学生可以参加若干个社团,每个社团可以有若干名学生参加,参加社团记录其入团时间。设计学生参加,参加社团记录其入团时间。设计E-RE-R图。图。3233E-RE-R模型的设计通常采用的设计思想是:模型的设计通常采用的设计思想是:“化全局化全局”为为“局部局部”,再做,再做“局部集成局部集成”1.5.3 常用的数据模型常用的数据模型1.1.层次模型层次模型层次模型(层次模型(Hierarchical ModelHierarchic
30、al Model)是数据库系)是数据库系统最早使用的一种数据模型,它的数据结构是统最早使用的一种数据模型,它的数据结构是一种倒挂的有向的一种倒挂的有向的“树结构树结构”。其主要特征如下:其主要特征如下:有且仅有一个无父结点的根结点。有且仅有一个无父结点的根结点。其他结点有且仅有一个父结点。其他结点有且仅有一个父结点。3435A AB BC CD DE EC1C1C2C2C3C3E1E1E11E11E12E12学院学院 系系 办公室办公室 教研室教研室 班级班级 2.2.网状模型网状模型网状模型(网状模型(Network ModelNetwork Model)以)以“图结构图结构”表示表示数据之
31、间的联系。网状模型可以表示多个从属关数据之间的联系。网状模型可以表示多个从属关系的联系,也可以表示数据间的交叉关系,即数系的联系,也可以表示数据间的交叉关系,即数据间的横向关系与纵向关系,它是层次模型的扩据间的横向关系与纵向关系,它是层次模型的扩展。展。其主要特征如下:其主要特征如下:允许结点有多于一个的父结点。允许结点有多于一个的父结点。可以有一个以上的结点没有父结点。可以有一个以上的结点没有父结点。36A AB BC CD DE EF F 学生学生 班级班级 社团社团 3.3.关系模型关系模型关系模型(关系模型(Relational ModelRelational Model)以)以“二维
32、表二维表”结构来表示数据之间的联系。每个二维表又可结构来表示数据之间的联系。每个二维表又可称为称为关系关系。关系模型是目前最流行的一种数据模型之一。关系模型是目前最流行的一种数据模型之一。37学号学号姓名姓名性别性别出生日期出生日期籍贯籍贯班级编号班级编号2015050101巩炎彬巩炎彬男男1998-1-9内蒙古内蒙古H05012015050102骆蓝轩骆蓝轩男男1998-2-10北京北京H05012015050103翟佳林翟佳林男男1998-5-11北京北京H05012015060201解袭茗解袭茗女女1998-10-12上海上海N06022015060201庞亦澎庞亦澎女女1998-6-1
33、3海南海南N06022015070101晏睿强晏睿强男男1998-3-14上海上海S07012015070102狄墨涵狄墨涵女女1998-4-15北京北京S07014.4.面向对象模型面向对象模型面向对象模型是一种新兴的数据模型,它采用面向对象模型是一种新兴的数据模型,它采用面向对象的方法来设计数据库。面向对象的数面向对象的方法来设计数据库。面向对象的数据库是以据库是以对象对象为单位,每个对象包含对象的属为单位,每个对象包含对象的属性和方法,具有类和继承等特点。面向对象模性和方法,具有类和继承等特点。面向对象模型可以给类或对象类型定义任何有用的数据结型可以给类或对象类型定义任何有用的数据结构。
34、构。3839第2章 关系模型和关系数据库2.1 关系模型关系模型关系模型是由关系数据结构、关系操作和关系完整性约关系模型是由关系数据结构、关系操作和关系完整性约束束3 3部分组成。部分组成。2.1.1 2.1.1 关系数据结构关系数据结构关系模型的数据结构关系模型的数据结构-二维表二维表(关系关系)。通过关系名)。通过关系名来标识。来标识。1.1.属性属性在一个关系中,每一竖列称为一个属性(在一个关系中,每一竖列称为一个属性(AttributeAttribute),),通过属性名来标识。通过属性名来标识。2.2.分量分量在一个关系中,每一个数据都可看成在一个关系中,每一个数据都可看成独立的独立
35、的分量分量(ComponentComponent)。)。3.3.元组元组在一个关系中,每一横行称为一个元组(在一个关系中,每一横行称为一个元组(TupleTuple)。)。4.4.域域在一个关系中,每一个属性的取值范围称为该属性的域在一个关系中,每一个属性的取值范围称为该属性的域(DomainDomain)。域是相同数据类型的值的集合。)。域是相同数据类型的值的集合。405.5.关系模式关系模式在一个关系中,通常将用于描述关系结构的关在一个关系中,通常将用于描述关系结构的关系名和属性名的集合称为关系模式(系名和属性名的集合称为关系模式(SchemaSchema)。)。其一般格式为:其一般格式为
36、:关系名(属性名关系名(属性名1 1,属性名,属性名2 2,.,属性名,属性名n n)例如,关系模式:例如,关系模式:学生学生(学号学号,姓名姓名,性别性别,出生日期出生日期,联系方式联系方式,身身份证号份证号)416.6.关键字关键字候选关键字候选关键字:在一个关系中,如果某个属性或:在一个关系中,如果某个属性或某个属性集能唯一标识元组,且又不含有多余某个属性集能唯一标识元组,且又不含有多余的属性或属性集,那么这个属性或属性集称为的属性或属性集,那么这个属性或属性集称为该关系的候选关键字该关系的候选关键字(Candidate Key)(Candidate Key)。简称候。简称候选键。选键。
37、例例:学生关系,以关系模式表示:学生关系,以关系模式表示:学生(学号,姓名,性别,出生日期,联系方式,学生(学号,姓名,性别,出生日期,联系方式,身份证号)身份证号)其中,学号、身份证号分别是候选键。其中,学号、身份证号分别是候选键。例例:学生选修课程的选修关系,以关系模式表示:学生选修课程的选修关系,以关系模式表示:选修(学号,课程编号,成绩)选修(学号,课程编号,成绩)其中,(学号,课程编号)两个属性构成属性集其中,(学号,课程编号)两个属性构成属性集共同做候选键。共同做候选键。42主关键字主关键字:在一个关系中,正在使用的候选:在一个关系中,正在使用的候选键或由用户特别指定的某一候选键,
38、称为该键或由用户特别指定的某一候选键,称为该关系的主关键字(关系的主关键字(Primary KeyPrimary Key),也称为主),也称为主键、主码。键、主码。例例:学生(学号,姓名,性别,出生日期,联学生(学号,姓名,性别,出生日期,联系方式,身份证号)系方式,身份证号)可以指定可以指定“学号学号”候选键是主键。候选键是主键。例例:选修(学号,课程编号,成绩)选修(学号,课程编号,成绩)只有一个候选键(学号,课程编号),所以这只有一个候选键(学号,课程编号),所以这个唯一的候选键就是主键。个唯一的候选键就是主键。43外部关键字外部关键字:如果关系:如果关系R R中某个属性或属性集中某个属
39、性或属性集是其他关系的主键,那么该属性或属性集是是其他关系的主键,那么该属性或属性集是关系关系R R的外部关键字(的外部关键字(Foreign KeyForeign Key),或称),或称为外键、外码。为外键、外码。例例:选修(学号,课程编号,成绩)选修(学号,课程编号,成绩)“学号学号”属性在学生关系中做主键,所以属性在学生关系中做主键,所以“学学号号”属性在选修关系中是外部关键字。属性在选修关系中是外部关键字。如果课程关系:如果课程关系:课程(课程编号,课程名,学时,课程类别,课程(课程编号,课程名,学时,课程类别,开课学期)开课学期)课程编号是唯一候选键,所以指定为主键。那课程编号是唯一
40、候选键,所以指定为主键。那么选修关系中,么选修关系中,“课程编号课程编号”属性在选修关系属性在选修关系中是外部关键字。中是外部关键字。44关系模型的主要特点关系模型的主要特点1 1)关系中的每一个分量都是不可再分的,最)关系中的每一个分量都是不可再分的,最基本的数据单位。基本的数据单位。2 2)关系中每一列的分量都是同一类型的数据,)关系中每一列的分量都是同一类型的数据,且都取值于同一个域。关系中列的顺序是任且都取值于同一个域。关系中列的顺序是任意的。意的。3 3)关系中各行的顺序可以是任意的。)关系中各行的顺序可以是任意的。4 4)一个关系是一张二维表,不允许有相同的)一个关系是一张二维表,
41、不允许有相同的属性名,也不允许有相同的元组。属性名,也不允许有相同的元组。457.7.关系数据库关系数据库 关系数据库是创建在关系模型基础上的数据关系数据库是创建在关系模型基础上的数据库。库。在关系数据库中,将一个关系视为一张二维在关系数据库中,将一个关系视为一张二维表,又称其为数据表(简称表),表,又称其为数据表(简称表),关系与表的关系与表的对应关系如下表所示:对应关系如下表所示:46在关系模型理论中在关系模型理论中在关系数据库中在关系数据库中关系关系表表元组元组记录记录属性属性字段字段分量分量数据项数据项2.1.2 关系操作关系操作关系模型常用的关系操作是查询、插入、删关系模型常用的关系
42、操作是查询、插入、删除和修改。除和修改。关系模型的关系操作是关系模型的关系操作是集合集合操作性质的,即操作性质的,即数据操作的对象和操作结果均为集合。数据操作的对象和操作结果均为集合。472.1.3 关系的完整性约束关系的完整性约束1 1)实体完整性实体完整性:规定关系的主关键字:规定关系的主关键字不能取不能取空值(空值(NULLNULL)。2 2)参照完整性参照完整性:规定关系的外部关键字要么:规定关系的外部关键字要么引用其对应的主关键字的引用其对应的主关键字的有效值,要么取空有效值,要么取空值(值(NULLNULL)。3 3)用户自定义完整性用户自定义完整性:是根据应用环境的要:是根据应用
43、环境的要求和实际的需要,对某一具体应用所涉及的求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。数据提出约束性条件。4849厂号厂号 厂名厂名 状态状态 厂址厂址S1S1YLYL2020咸阳咸阳S2S2XQXQ1010西安西安S3S3XTXT3030西安西安零件号零件号 零件名零件名 颜色颜色 重量重量 存放点存放点P1P1螺帽螺帽红红1212咸阳咸阳P2P2螺栓螺栓绿绿1717西安西安P3P3螺钉螺钉黑黑1010宝鸡宝鸡P4P4螺钉螺钉蓝蓝1414咸阳咸阳厂号厂号 零件号零件号 存量存量S1S1P1P1300300S1S1P2P2200200S1S1P3P3400400S2S2P1P
44、1300300S2S2P2P2400400S3S3P2P2200200关系关系F F关系关系C C关系关系FCFC 车间车间(车间编号车间编号,车间名,车间名)职工职工(工号工号,姓名,工资,姓名,工资,所在车间编号所在车间编号)外键,允许空值外键,允许空值外键,不允许空值外键,不允许空值且应是有效值且应是有效值2.2 关系的规范化关系的规范化2.2.1 2.2.1 引例引例【例【例2-12-1】设有一个关于学生信息和所学课程设有一个关于学生信息和所学课程成绩的关系模式:成绩的关系模式:学生学生-选修信息(学号,姓名,专业,课程编选修信息(学号,姓名,专业,课程编号,成绩)号,成绩)50候选键
45、候选键?学号学号+课程编号课程编号数据冗余数据冗余52更新异常更新异常将将“计算机计算机”专业需要更改为专业需要更改为“计算机科学与计算机科学与技术技术”专业专业更新异常:数据不一致更新异常:数据不一致53插入异常插入异常假如有一位学生报到后,就申请了休学一年,假如有一位学生报到后,就申请了休学一年,没有学习任何课程没有学习任何课程插插入入异异常常:该该插插入入的的数数据无法插入据无法插入54删除异常删除异常假如有一位学生在学习中途,放弃所学的课程,假如有一位学生在学习中途,放弃所学的课程,要求保留学籍出国要求保留学籍出国删除异常:不该删除的数删除异常:不该删除的数据被删除了据被删除了2.2.
46、2 函数依赖函数依赖函数依赖(函数依赖(Function DependencyFunction Dependency)是关系规)是关系规范化的主要概念,用于描述属性之间的一种范化的主要概念,用于描述属性之间的一种联系。联系。1.1.函数依赖定义函数依赖定义设设R(U)R(U)是一个属性集是一个属性集U U上的关系模式,上的关系模式,X X和和Y Y是是U U的子集。对于的子集。对于R(U)R(U)的任意一个可能的关系的任意一个可能的关系r r,r r中不可能存在两个元组,在中不可能存在两个元组,在X X上的属性值上的属性值相同,而在相同,而在Y Y上的属性值不等,则称上的属性值不等,则称“X
47、X函数函数确定确定Y”Y”或或“Y Y函数依赖于函数依赖于X”X”,记作,记作XYXY。55【例【例2-22-2】关系模式:学生关系模式:学生-选修(学号,姓选修(学号,姓名,专业,课程编号,成绩),名,专业,课程编号,成绩),语义规定:每个学生的学号是唯一的;姓名语义规定:每个学生的学号是唯一的;姓名可以重名;每个学生只能就读一个专业;每可以重名;每个学生只能就读一个专业;每个学生每学习一门课程,就有一个成绩。个学生每学习一门课程,就有一个成绩。那么就可以写出如下的函数依赖形式:那么就可以写出如下的函数依赖形式:学号学号姓名姓名学号学号专业专业学号,课程编号学号,课程编号成绩成绩56姓名姓名
48、专业成立专业成立?No5705:08:082.2.完全函数依赖的定义完全函数依赖的定义 在关系模式在关系模式R(U)R(U)中,如果中,如果X XY Y,并且对于,并且对于X X的任的任何一个真子集何一个真子集XX,都有,都有X Y X Y,则称,则称Y Y完全函数完全函数依赖于依赖于X X,记作,记作 。在关系模式在关系模式R(U)R(U)中,如果中,如果X XY Y,并且对于,并且对于X X的任的任何一个真子集何一个真子集X X,存在,存在X XY Y,则称,则称Y Y部分函数部分函数依赖于依赖于X X,记作,记作X YX Y。(学号学号,课程号课程号)成绩成绩P(学号学号,课程号课程号)
49、姓名姓名583.3.传递函数依赖定义传递函数依赖定义 在关系模式在关系模式R(U)R(U)中,如果中,如果XYXY,Y XY X,且,且Y XY X,YZYZ,则称,则称Z Z传递函数依赖传递函数依赖于于X X。【例2-3】设有关系模式:学生-系(学号,姓名,性别,系编号,系名称)。语义规定:每个学生只属于一个系,每个系有许多学生;每个系有唯一的系编号。则该关系模式存在如下函数依赖:学号系编号系编号系名称则可以推出学号系名称,所以该关系模式存在传递函数依赖。2.2.3.关系规范化关系规范化关系规范化理论认为,关系数据库中的每一个关关系规范化理论认为,关系数据库中的每一个关系都要满足一定的规范。
50、根据满足规范的条件不系都要满足一定的规范。根据满足规范的条件不同,可以化分为同,可以化分为6 6个等级个等级5 5个范式,分别称为个范式,分别称为 第一范式(第一范式(1NF1NF)第二范式(第二范式(2NF2NF)第三范式(第三范式(3NF3NF)修正的第三范式(修正的第三范式(BCNFBCNF)第四范式(第四范式(4NF4NF)第五范式(第五范式(5NF5NF)NFNF是(是(Normal FormNormal Form)的缩写。)的缩写。59非规范化关系非规范化关系1NF1NF2NF2NF3NF3NF BCNF BCNF 4NF 4NF5NF5NF60关系规范化的前三个范式原则如下:关系