《第01章数据库概述精选文档.ppt》由会员分享,可在线阅读,更多相关《第01章数据库概述精选文档.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第01章数据库概述本讲稿第一页,共五十九页章节目录章节目录第一章第一章 数据库概述数据库概述 1.1.1 人工管理阶段人工管理阶段 1.1.2 文件系统阶段文件系统阶段 1.1.3 数据库系统阶段数据库系统阶段 1.2.1 概念模型概念模型 1.2.2 实施模型实施模型 1.3.1 数据库系统的组成数据库系统的组成 1.3.2 数据库管理系统数据库管理系统DBMS 1.3.3 数据库系统的三级模式结构数据库系统的三级模式结构 1.4.1 关系数据模型关系数据模型 1.4.2 关系代数运算关系代数运算 1.4.3 关系代数与数据查询关系代数与数据查询 1.4.4 数据冗余和数据完整性数据冗余和数
2、据完整性 1.4.5 常用关系数据库简介常用关系数据库简介 1.1 数据管理技术的发展数据管理技术的发展 1.2 数据模型数据模型 1.3 数据库系统数据库系统 1.4 关系数据库关系数据库 小结小结 习题习题1 本讲稿第二页,共五十九页本章提要本章提要1.1 数据管理技数据管理技术的发展术的发展 1.2 数据模型数据模型 1.3 数据库系统数据库系统 1.4 关系数据库关系数据库 小结小结 习题习题1 第一章第一章 数据库概述数据库概述 本章将介绍数据库的基本概念,本章将介绍数据库的基本概念,其中包括数据管理技术的发展过程、其中包括数据管理技术的发展过程、数据模型的分类、数据库系统的体系数据
3、模型的分类、数据库系统的体系结构以及关系数据库。在关系数据库结构以及关系数据库。在关系数据库中重点讨论关系数据库的基本概念、中重点讨论关系数据库的基本概念、关系代数运算、数据冗余和数据完整关系代数运算、数据冗余和数据完整性等概念。性等概念。本讲稿第三页,共五十九页第第1 1章章 数据库概述数据库概述1.1 数据管理技术的发展数据管理技术的发展 数据处理的数据处理的核心核心问题是对数据的管理。问题是对数据的管理。数据管理数据管理是指对数据进行组织、是指对数据进行组织、分类、存储、检索和维护等操分类、存储、检索和维护等操作。数据管理经历了人工管理、作。数据管理经历了人工管理、文件系统和数据库系文件
4、系统和数据库系统统三个发展阶段三个发展阶段。20世纪世纪50年代,年代,计算机的发展还处于初级阶段。计算机的发展还处于初级阶段。硬件方面硬件方面的特点是运算的特点是运算速度低,内存小,外存只有磁带、卡片和纸带而没有直接存取的存储设备;速度低,内存小,外存只有磁带、卡片和纸带而没有直接存取的存储设备;在在软件方面软件方面,只有汇编语言而没有操作系统和数据管理软件,只有汇编语言而没有操作系统和数据管理软件,数据处理方数据处理方式是批处理;当时计算机的应用领域主要是科学计算。在人工管理阶段,数据式是批处理;当时计算机的应用领域主要是科学计算。在人工管理阶段,数据管理技术具有以下特点:管理技术具有以下
5、特点:1.1.1 人工管理阶段人工管理阶段本讲稿第四页,共五十九页第第1 1章章 数据库概述数据库概述 (1)数据不保存)数据不保存 限于硬件所具备的条件和当时计算机的应用限于硬件所具备的条件和当时计算机的应用 状况,数据状况,数据不便保存不便保存。(2)无管理数据的软件)无管理数据的软件 数据完全依赖于程序,由于没有专门的软件对数据进行管理,因此数据由应用程序数据完全依赖于程序,由于没有专门的软件对数据进行管理,因此数据由应用程序自己管理。自己管理。系统维护的系统维护的工作量较大工作量较大。(3)数据不能共享)数据不能共享 数据是面向应用的,数据和程序不能独立。因此,各个程序之间会产生大量的
6、数据是面向应用的,数据和程序不能独立。因此,各个程序之间会产生大量的数据冗数据冗余余。本讲稿第五页,共五十九页第第1 1章章 数据库概述数据库概述数据可长期保存:数据可长期保存:由于有了直接存取设备,由于有了直接存取设备,进行数据处理时可大量存取数据,进行数据处理时可大量存取数据,并可对数并可对数据进行增、据进行增、删、删、改、改、查询等操作,数据以查询等操作,数据以文件文件形式保存。形式保存。有管理数据的软件有管理数据的软件:操作系统中包含了专门的数据管理软件,称之为文件系统。操作系统中包含了专门的数据管理软件,称之为文件系统。因此,在文件系统阶段维护程序的工作量大大减少。因此,在文件系统阶
7、段维护程序的工作量大大减少。20世纪世纪50年代中期到年代中期到60年代后期,计算机的发展年代后期,计算机的发展已到了一个新的阶段。在文件系统阶段,已到了一个新的阶段。在文件系统阶段,数据管理技数据管理技术术具有以下特点:具有以下特点:1.1.2 文件系统阶段文件系统阶段本讲稿第六页,共五十九页第第1 1章章 数据库概述数据库概述文件形式多样,数据结构化存储文件形式多样,数据结构化存储:文件的形式包含文件的形式包含索引文件、链接文件和直接存取文件等索引文件、链接文件和直接存取文件等,文件的存取基本上以记录为单位,文件的存取基本上以记录为单位,而记录是具有一定而记录是具有一定结构的。结构的。数据
8、冗余度大,共享性低数据冗余度大,共享性低:在文件系统阶段,在文件系统阶段,数据仍然是数据仍然是面向应用的面向应用的。这个时期,数据的共享性差,数据和程序仍然不这个时期,数据的共享性差,数据和程序仍然不能独立,不便于进行事务处理。能独立,不便于进行事务处理。本讲稿第七页,共五十九页第第1 1章章 数据库概述数据库概述数据结构化数据结构化:数据冗余度小、数据共享、较高数据独立性数据冗余度小、数据共享、较高数据独立性:从从2020世纪世纪6060年代后期开始,年代后期开始,计算机的应用领计算机的应用领 域越来越广泛,需要计算机管理和处理的数据规模域越来越广泛,需要计算机管理和处理的数据规模 越来越大
9、。越来越大。此时,数据库系统应运而生,数据库系统解决此时,数据库系统应运而生,数据库系统解决 了多用户共享数据的问题。在了多用户共享数据的问题。在数据库系统阶段数据库系统阶段,数,数 据管理技术具有以下特点:据管理技术具有以下特点:在数据库系统中,用在数据库系统中,用数据模型数据模型描述数据。描述数据。数据是数据是结构化结构化的,的,这这是数据库系统的是数据库系统的重要特征重要特征,也是实现数据共享的,也是实现数据共享的前提条件前提条件。数据是数据是面向整个系统面向整个系统的,这样可以的,这样可以大大减小数据冗余,节省存储空间,减少数据存取时间,同时也可以避免数大大减小数据冗余,节省存储空间,
10、减少数据存取时间,同时也可以避免数据异常。数据不依赖于程序,据异常。数据不依赖于程序,具有较高的独立性具有较高的独立性。1.1.3 数据库系统阶段数据库系统阶段本讲稿第八页,共五十九页第第1 1章章 数据库概述数据库概述可对数据进行整体控制可对数据进行整体控制:在数据库系统中,多在数据库系统中,多个用户可同时使用数据库资源。数据库系统能够提个用户可同时使用数据库资源。数据库系统能够提供以下的控制供以下的控制功能功能:b)数据安全性控制数据安全性控制c)数据完整性控制数据完整性控制a)操作并发控制操作并发控制本讲稿第九页,共五十九页第第1 1章章 数据库概述数据库概述1.2.1 概念模型概念模型
11、1.2 数据模型数据模型 数据模型数据模型是用图的形式来表达对现实世界中复杂是用图的形式来表达对现实世界中复杂对象的对象的抽象描述抽象描述。根据数据模型的应用目的不同,将数据根据数据模型的应用目的不同,将数据模型分为模型分为两个级别两个级别:概念模型和实施模型。概念模型和实施模型。概念模型是现实世界的第一层抽象,把现实世界中的客观对象抽象成一种信概念模型是现实世界的第一层抽象,把现实世界中的客观对象抽象成一种信息结构,息结构,这种信息结构并不依赖于具体的计算机系统和数据库管理软件。现实这种信息结构并不依赖于具体的计算机系统和数据库管理软件。现实世界反映到人的大脑中,人们经过认识、选择、命名、分
12、类和组织等过程将其抽世界反映到人的大脑中,人们经过认识、选择、命名、分类和组织等过程将其抽象后形成概念模型,并进入到信息世界;然后,将概念模型转换为数据模型,从象后形成概念模型,并进入到信息世界;然后,将概念模型转换为数据模型,从而走进机器世界。而走进机器世界。概念模型是现实世界到机器世界的中间层概念模型是现实世界到机器世界的中间层。如图。如图1-1所示。所示。本讲稿第十页,共五十九页第第1 1章章 数据库概述数据库概述图图1-1 从现实世界到机器世界从现实世界到机器世界最常用的概念模型表示方法是实体最常用的概念模型表示方法是实体-联系(联系(E-R)模型,即)模型,即E-R模型图模型图。实体
13、、属性与联系实体、属性与联系 (1)实体)实体 在现实生活中,在现实生活中,实体实体是指客观存在的、能够相互区分的事物。实体可以是指客观存在的、能够相互区分的事物。实体可以是人,也可以是物;可以指某个对象,也可以指某些概念。是人,也可以是物;可以指某个对象,也可以指某些概念。一组特性相同的一组特性相同的实体构成一个实体构成一个实体集实体集。本讲稿第十一页,共五十九页第第1 1章章 数据库概述数据库概述(2)属性)属性 当使用计算机来描述实体时,采用的方法是针当使用计算机来描述实体时,采用的方法是针对这些实体的对这些实体的“特性特性”进行描述,所谓进行描述,所谓“特性特性”就是实就是实体的体的“
14、属性属性”。(3)联系)联系 实体之间的联系有以下实体之间的联系有以下三种类型三种类型:a)一对一的联系)一对一的联系(1:1)b)一对多的联系()一对多的联系(1:M)c)多对多的联系(多对多的联系(M:N)本讲稿第十二页,共五十九页第第1 1章章 数据库概述数据库概述E-R模型图模型图 在在E-R模型图中模型图中规定规定:(1)用)用长方形长方形表示实体,在框中写上实体名;表示实体,在框中写上实体名;(2)用)用椭圆椭圆表示实体的属性,在椭圆内写上属性名,并用表示实体的属性,在椭圆内写上属性名,并用直线直线将实体和属性将实体和属性 连接起来;连接起来;(3)用)用菱形菱形表示实体间的联系,
15、菱形框内写上联系名,并用表示实体间的联系,菱形框内写上联系名,并用直线直线将菱形和相将菱形和相 关实体连接起来。例如,某学院教学管理的关实体连接起来。例如,某学院教学管理的E-R模型图,如图模型图,如图1-2所示。所示。本讲稿第十三页,共五十九页第第1 1章章 数据库概述数据库概述图图1-2 教教学学管管理理E-R模模型型图图本讲稿第十四页,共五十九页第第1 1章章 数据库概述数据库概述 实施模型主要有层次数据模型、网状数据模型实施模型主要有层次数据模型、网状数据模型 和关系数据模型。和关系数据模型。基于这三种数据基于这三种数据 模型有相应的模型有相应的 三种数据库系统,即层次数据库、三种数据
16、库系统,即层次数据库、网状数据库和关网状数据库和关 系数据库。系数据库。1层次数据模型层次数据模型层次结构从图的角度看好像一颗倒置的树,具有以下特点层次结构从图的角度看好像一颗倒置的树,具有以下特点:(1)有且只有一个节点无双亲,这个节点称为根节点)有且只有一个节点无双亲,这个节点称为根节点;(2)其它节点有且仅有一个双亲。)其它节点有且仅有一个双亲。层次数据库的特点是将整个数据库作为一个整体存储,用指针实现数据层次数据库的特点是将整个数据库作为一个整体存储,用指针实现数据之间的联系。例如,某大学的组织结构即为层次模型,如图之间的联系。例如,某大学的组织结构即为层次模型,如图1-3所示。所示。
17、1.2.2 实施模型实施模型本讲稿第十五页,共五十九页第第1 1章章 数据库概述数据库概述图图1-3 层次数据模型结构图层次数据模型结构图本讲稿第十六页,共五十九页第第1 1章章 数据库概述数据库概述2网状数据模型网状数据模型 网状模型是用图结构表示数据及数据之间的联系,网状模型是用图结构表示数据及数据之间的联系,网状模型具有以下特点:网状模型具有以下特点:(1)允许节点无双亲,或有一个以上的双亲;)允许节点无双亲,或有一个以上的双亲;(2)两个节点之间可以有多重关系;)两个节点之间可以有多重关系;(3)一个节点有到自身的关系。)一个节点有到自身的关系。网状结构往往能更容易表示现实世界中事物间
18、的复杂关系。例如,某一学网状结构往往能更容易表示现实世界中事物间的复杂关系。例如,某一学校不同事物之间关系的网状模型,如图校不同事物之间关系的网状模型,如图1-4所示。所示。本讲稿第十七页,共五十九页第第1 1章章 数据库概述数据库概述3关系数据模型关系数据模型 关系数据模型是三种数据模型中最重要的模型。关系数据模型是三种数据模型中最重要的模型。关系型中的主要关系型中的主要术语术语如下:如下:关系:关系:一个关系指一张二维表;一个关系指一张二维表;元组:元组:指二维表中除去表头行的每一行,一行称为一个元组;指二维表中除去表头行的每一行,一行称为一个元组;属性:属性:指二维表中的每一列,包含属性
19、名和属性值;指二维表中的每一列,包含属性名和属性值;域:域:指属性的取值范围;指属性的取值范围;主键:主键:指用来标识每个元组的单个属性或属性组合,其值具有唯一性;指用来标识每个元组的单个属性或属性组合,其值具有唯一性;逻辑结构:逻辑结构:是对关系的描述,用以下格式表示:是对关系的描述,用以下格式表示:关系名关系名(属性名(属性名1,属性名,属性名2,属性名,属性名3,属性名,属性名n)例如例如,学生关系的逻辑结构为:学生(学号,姓名,性别,所属院系,专业,电话),学生关系的逻辑结构为:学生(学号,姓名,性别,所属院系,专业,电话)本讲稿第十八页,共五十九页第第1 1章章 数据库概述数据库概述
20、1.3 数据库系统数据库系统 数据库系统(数据库系统(DBS)是一个安装了)是一个安装了数据库管数据库管理系统理系统 (DBMS)和)和数据库数据库 (DB)的计算机系的计算机系统,该系统能够对数据进行统,该系统能够对数据进行存储、检索和更新存储、检索和更新等操等操作。作。数据库系统主要包括数据库的数据库系统主要包括数据库的硬件系统、管理数据库的软件系统、数据库以及硬件系统、管理数据库的软件系统、数据库以及使用和维护数据库的人员使用和维护数据库的人员。使用数据库的计算机系统结构,如图。使用数据库的计算机系统结构,如图1-5所示。所示。1.3.1 数据库系统的组成数据库系统的组成本讲稿第十九页,
21、共五十九页第第1 1章章 数据库概述数据库概述2软件系统软件系统数据库系统的软件系统主要包含以下几部分:数据库系统的软件系统主要包含以下几部分:(1)操作系统()操作系统(OS)操作系统是离硬件最近的那层软件,用户通过操作系统使用计算机。操作系统是离硬件最近的那层软件,用户通过操作系统使用计算机。(2)数据库管理系统()数据库管理系统(DBMS)DBMS属于系统软件,它是数据库系统不可缺少的软件。属于系统软件,它是数据库系统不可缺少的软件。1硬件系统硬件系统 数据库系统的硬件系统需要数据库系统的硬件系统需要内存、直接存储设内存、直接存储设 备、移动存储设备、较高的运算速度和数据的能力备、移动存
22、储设备、较高的运算速度和数据的能力。本讲稿第二十页,共五十九页第第1 1章章 数据库概述数据库概述 (3)高级语言编译系统)高级语言编译系统 高级语言编译系统与数据库要有相应的接口,高级语言编译系统与数据库要有相应的接口,以便开发数据库应用系统。以便开发数据库应用系统。(4)应用开发工具)应用开发工具 应用开发工具是指为数据库管理员(应用开发工具是指为数据库管理员(DBA)、系统分析员、应用系统开)、系统分析员、应用系统开发人员及最终用户提供的高效率的、多功能的应用生成器。发人员及最终用户提供的高效率的、多功能的应用生成器。(5)数据()数据(DB)数据库是在数据库是在DBMS的支持下建立起来
23、的相关信息的集合,的支持下建立起来的相关信息的集合,以文件的形式以文件的形式存储在算机中,为数据库应用系统提供数据。存储在算机中,为数据库应用系统提供数据。(6)数据库应用系统)数据库应用系统 数据库应用系统是为了解决某个特殊问题而编制的程序,属于应用软件。数据库应用系统是为了解决某个特殊问题而编制的程序,属于应用软件。数据库应用系统为用户提供所需要的功能服务。数据库应用系统为用户提供所需要的功能服务。本讲稿第二十一页,共五十九页第第1 1章章 数据库概述数据库概述3.数据库用户数据库用户 根据在数据库应用系统中的不同角色,可将根据在数据库应用系统中的不同角色,可将数据库系统的用户分为以下四类
24、:数据库系统的用户分为以下四类:(1)系统分析员)系统分析员 负责应用系统的需求分析和规范设计;负责应用系统的需求分析和规范设计;(2)应用系统程序员)应用系统程序员 负责设计应用系统的程序模块,负责设计应用系统的程序模块,编写程序代码;编写程序代码;(3)数据库管理员)数据库管理员 负责数据库的维护、管理、监视;负责数据库的维护、管理、监视;(4)一般用户)一般用户 通过终端系统或联机工作站与数据库进行交互操作。通过终端系统或联机工作站与数据库进行交互操作。数据库管理系统(数据库管理系统(DBMS)是介于用户和操作系统之间的一组软件,是实现各种)是介于用户和操作系统之间的一组软件,是实现各种
25、数据库管理功能的核心软件。数据库管理系统按功能可划分以下三部分:数据库管理功能的核心软件。数据库管理系统按功能可划分以下三部分:1.3.2 数据库管理系统数据库管理系统DBMS本讲稿第二十二页,共五十九页第第1 1章章 数据库概述数据库概述1数据描述语言(数据描述语言(DDL)及翻译程序)及翻译程序 DDL用来描述数据以及数据之间的联系,其中用来描述数据以及数据之间的联系,其中 包括包括外外 模式、模式、模式、模式、内模式内模式。这些目标模式是对。这些目标模式是对 数据库的描述,而不是数据本身。数据库的描述,而不是数据本身。2数据操纵语言(数据操纵语言(DML)及翻译程序)及翻译程序 DBMS
26、提供数据操纵语言实现对数据库数据的基本操作,一般分为两类:提供数据操纵语言实现对数据库数据的基本操作,一般分为两类:一类是一类是宿主型语言宿主型语言,另一类是,另一类是交互式命令语言交互式命令语言,又被称为,又被称为查询语言查询语言。3数据库管理程序数据库管理程序 DBMS的真正核心部分是它的的真正核心部分是它的运行控制系统运行控制系统,它起着控制和协调,它起着控制和协调DBMS各各个程序活动的作用,个程序活动的作用,使系统有条不紊地运行。它由支持数据库系统全部运行使系统有条不紊地运行。它由支持数据库系统全部运行过程的各类例行程序组成,主要有:过程的各类例行程序组成,主要有:本讲稿第二十三页,
27、共五十九页第第1 1章章 数据库概述数据库概述(1)存取控制程序)存取控制程序 又称又称授权检查程序授权检查程序。它核对用户标识、口令,。它核对用户标识、口令,核对授权表和密码,核对授权表和密码,检查用户的存取请求是否合检查用户的存取请求是否合 法,以决定是否执行该次请求。法,以决定是否执行该次请求。(2)并发控制程序)并发控制程序 同一个数据库中的数据有可能同时被多个用户使用,同一个数据库中的数据有可能同时被多个用户使用,从而造成数据从而造成数据修改或丢失。修改或丢失。为了保证数据的一致性,必须有相应的为了保证数据的一致性,必须有相应的控制机制控制机制。(3)数据存取程序)数据存取程序 执行
28、数据库中数据存取操作,是执行数据库中数据存取操作,是DBMS与文件系统的与文件系统的接口接口。(4)完整性检查程序)完整性检查程序 在执行用户请求的操作之前或之后,负责检查数据库的在执行用户请求的操作之前或之后,负责检查数据库的完整性约束条完整性约束条件件,以决定是否允许执行该操作或判断该操作是否有效,是否需要清除已,以决定是否允许执行该操作或判断该操作是否有效,是否需要清除已经执行的操作所带来的影响。经执行的操作所带来的影响。本讲稿第二十四页,共五十九页第第1 1章章 数据库概述数据库概述 1三级模式结构的组成三级模式结构的组成 数据库系统的三级模式结构由数据库系统的三级模式结构由外模式、模
29、式和内模外模式、模式和内模式式组成,如图组成,如图1-6所示。所示。图图1-6 数据库系统的三级模式数据库系统的三级模式1.3.3 数据库系统的三级模式结构数据库系统的三级模式结构本讲稿第二十五页,共五十九页第第1 1章章 数据库概述数据库概述(1)模式)模式 模式也称为模式也称为逻辑模式逻辑模式,一旦选定,一旦选定DBMS之后,就之后,就 需要将概念模型按照选定的需要将概念模型按照选定的DBMS的特点转换成逻辑的特点转换成逻辑 模式。模式是数据在逻辑级上的视模式。模式是数据在逻辑级上的视 图,通常以一种数图,通常以一种数 据模型为基础。据模型为基础。(2)外模式)外模式 外模式是模式的外模式
30、是模式的子集子集,也称为子模式或用户模式,是数据库用户可见和使,也称为子模式或用户模式,是数据库用户可见和使用的数据视图。用的数据视图。(3)内模式)内模式 内模式也称为内模式也称为物理模式物理模式或或存储模式存储模式。内模式是全部数据库的内部表示或底层。内模式是全部数据库的内部表示或底层描述,是对数据的物理结构和存取方式的描述。描述,是对数据的物理结构和存取方式的描述。本讲稿第二十六页,共五十九页第第1 1章章 数据库概述数据库概述2三级模式结构中的二级映像三级模式结构中的二级映像数据库系统在三级模式中提供了数据库系统在三级模式中提供了两层映像两层映像:外模式外模式/模式映像模式映像 对于同
31、一个模式,可以有任意多个外模式。外模式对于同一个模式,可以有任意多个外模式。外模式/模式的映像定义某一个模式的映像定义某一个外模式和模式之间的外模式和模式之间的对应关系对应关系。模式模式/内模式映像内模式映像 模式模式/内模式的映像定义数据逻辑结构和存储结构之间的内模式的映像定义数据逻辑结构和存储结构之间的对应关系对应关系。本讲稿第二十七页,共五十九页第第1 1章章 数据库概述数据库概述3概念模型与逻辑模式的区别概念模型与逻辑模式的区别 数据模型中的数据模型中的概念模型概念模型和和数据库结数据库结构中逻构中逻辑模式存在以下区别:辑模式存在以下区别:(1)概念模型仅描述)概念模型仅描述实体实体和
32、它们的和它们的性质性质,不涉及机器世界的概念。,不涉及机器世界的概念。(2)概念模型是信息世界范畴内的)概念模型是信息世界范畴内的信息结构信息结构,而逻辑模式是机器世界范畴内的,而逻辑模式是机器世界范畴内的逻辑逻辑 表示表示;(3)概念模型)概念模型独立于独立于具体的计算机系统,逻辑模式依赖于具体的计算机系统,逻辑模式依赖于具体的计算机系统具体的计算机系统,概念,概念 模型将依据模型将依据具体的数据模型转换成逻辑模式具体的数据模型转换成逻辑模式。概念模型和逻辑模式都是描述信息或数据的整体结构,它们是现实世界不同层次上概念模型和逻辑模式都是描述信息或数据的整体结构,它们是现实世界不同层次上的抽象
33、。的抽象。本讲稿第二十八页,共五十九页1.4 关系数据库关系数据库1关系数据模型特点关系数据模型特点 关系数据模型是实施模型中关系数据模型是实施模型中最重要最重要的数据模型,数据库领的数据模型,数据库领域当前的研究方法主要基于关系数据模型。例如,某一班级学域当前的研究方法主要基于关系数据模型。例如,某一班级学生的基本信息可以建成关系模型结构图,即一张二维表,生的基本信息可以建成关系模型结构图,即一张二维表,如图如图1-7所示所示。学号学号 姓名姓名 性别性别 年龄年龄 所属院系所属院系 专业专业 电话 200650651 赵鑫龙赵鑫龙 男男 20 物电学院物电学院 电子技术 022-12345
34、432 200660752 李伟李伟 男男 19 教育学院教育学院 教育技术 053-45549889 200650332 曹文 女女 21 艺术学院艺术学院 服装设计 010-23541278 200650758 李伟李伟 男男 20 教育学院教育学院 教育技术 032-27624354 第第1 1章章 数据库概述数据库概述本讲稿第二十九页,共五十九页关系模型具有以下特点:关系模型具有以下特点:(1)以关系模型理论为基础,基本结构是)以关系模型理论为基础,基本结构是二维表二维表;(2)概念简单,结构清晰,易学易用。)概念简单,结构清晰,易学易用。在关系理论、关系数据库、概念模型及某些数据库软
35、件中有关术语对照,如表在关系理论、关系数据库、概念模型及某些数据库软件中有关术语对照,如表1-1所示。所示。表表1-1 关系数据模型术语对照关系数据模型术语对照在关系理论中在关系理论中 在关系数据库中在关系数据库中 在概念模型中在概念模型中 在某些数据库软件中在某些数据库软件中 关系关系 表表 实体集实体集 数据库文件数据库文件 元组元组 行行 实体实体 记录记录 属性属性 列列 属性属性 字段字段 第第1 1章章 数据库概述数据库概述本讲稿第三十页,共五十九页第第1 1章章 数据库概述数据库概述2关系的定义关系的定义 关系是一个行与列交叉的二维表,每一个交叉点都必关系是一个行与列交叉的二维表
36、,每一个交叉点都必 须是单值的;每一列的所有数据都是同一类型的,每一列须是单值的;每一列的所有数据都是同一类型的,每一列 都有唯一的列名,列在表中的顺序无关紧要;表中任意两都有唯一的列名,列在表中的顺序无关紧要;表中任意两 行不能相同,行在表中的顺序无关紧要。行不能相同,行在表中的顺序无关紧要。3表与表之间的联系表与表之间的联系 在关系数据库中,每一个表必须有一个主键能够唯一标识每一行。用主键在关系数据库中,每一个表必须有一个主键能够唯一标识每一行。用主键实现关系定义中实现关系定义中“表中任意两行不能相同表中任意两行不能相同”的约束。的约束。在表中一个属性或几个属性的组合能够唯一标识一行,这种
37、属性称为关键在表中一个属性或几个属性的组合能够唯一标识一行,这种属性称为关键属性,可作为表的主键。在关系数据库中,表与表之间的联系是通过两个表的属性,可作为表的主键。在关系数据库中,表与表之间的联系是通过两个表的公共属性实现的。公共属性实现的。本讲稿第三十一页,共五十九页第第1 1章章 数据库概述数据库概述4关系完整性规则关系完整性规则 关系完整性规则是对关系关系完整性规则是对关系主键主键和和外键外键的约束条件。的约束条件。关系模型可以提供三种数据完整约束,即关系模型可以提供三种数据完整约束,即实体完整性、实体完整性、参照完整性和用户自定义完整性参照完整性和用户自定义完整性。关系完整性规则包。
38、关系完整性规则包 括括实体完整性规则实体完整性规则和和参照完整性参照完整性规则,这是关系模型规则,这是关系模型 必须满足的完整性约束条件。必须满足的完整性约束条件。(1)实体完整性规则)实体完整性规则 实体完整性规则是指关系的主键实体完整性规则是指关系的主键不能取空值不能取空值。空值不是。空值不是0值,而是没有值。值,而是没有值。(2)参照完整性规则)参照完整性规则 参照完整性规则是指表中外键的值必须是另一个表主键的参照完整性规则是指表中外键的值必须是另一个表主键的有效值或者空值有效值或者空值。如果外键存在一个值,则这个值必须是另一个表主键已存在的值,当然也允许外如果外键存在一个值,则这个值必
39、须是另一个表主键已存在的值,当然也允许外键的值是空值。键的值是空值。本讲稿第三十二页,共五十九页第第1 1章章 数据库概述数据库概述1.4.2 1.4.2 关系代数运算关系代数运算 1并运算并运算 有两个关系有两个关系R和和S,当它们的结构相同时,可进行并运算。,当它们的结构相同时,可进行并运算。R和和S并运算的结果是一个新关系,并运算的结果是一个新关系,这个新关系的结构和原来两个关系的结构相同,元组数是原来两个关系中的元组数之和,重复的这个新关系的结构和原来两个关系的结构相同,元组数是原来两个关系中的元组数之和,重复的元组只取一次。元组只取一次。记作:记作:RS。关系是一个集合,关系的元组是
40、集合中的元素。关系是一个集合,关系的元组是集合中的元素。关系代数运算共包含关系代数运算共包含5种集合运算和种集合运算和3种特殊的关系种特殊的关系运算。运算。本讲稿第三十三页,共五十九页第第1 1章章 数据库概述数据库概述2交运算交运算 有两个关系有两个关系R和和S,当它们的结构相同时,可进行交,当它们的结构相同时,可进行交运算。运算。R和和S交运算的结果是一个新关系,这个新关系中交运算的结果是一个新关系,这个新关系中的元组是在原来两个关系中都出现的元组。的元组是在原来两个关系中都出现的元组。记作记作RS。例:学生参加计算机等级考试,只有笔试和上机都通过例:学生参加计算机等级考试,只有笔试和上机
41、都通过的考生才可视为通过等级考试。现有通过笔试的学生和的考生才可视为通过等级考试。现有通过笔试的学生和通过上机的学生两张表,要从中筛选出通过计算机等级通过上机的学生两张表,要从中筛选出通过计算机等级考试的学生名单,可利用交运算实现,如图考试的学生名单,可利用交运算实现,如图1-9所示。所示。图图1-9交交运运算算结结果果本讲稿第三十四页,共五十九页第第1 1章章 数据库概述数据库概述 3差运算差运算 有两个关系有两个关系R和和S,当它们的结构相同时,可进行差,当它们的结构相同时,可进行差运算。运算。R和和S差运算的结果是一个新关系,这个新关系中差运算的结果是一个新关系,这个新关系中的元组是在的
42、元组是在S中减去了在中减去了在R中出现的元组。中出现的元组。记作:记作:R-S。例:对于某次升学考试成绩,有加分政策。规定特长例:对于某次升学考试成绩,有加分政策。规定特长生可加生可加5分,但必须是应届毕业生。现有特长生和非应届分,但必须是应届毕业生。现有特长生和非应届毕业生名单两张表,毕业生名单两张表,要从特长生名单去掉非应届毕业生要从特长生名单去掉非应届毕业生以得到加分学生名单,可利用差运算实现。以得到加分学生名单,可利用差运算实现。如图如图1-10所所示。示。图图1-10 差差运运算算结结果果本讲稿第三十五页,共五十九页第第1 1章章 数据库概述数据库概述 4乘运算(笛卡儿积)乘运算(笛
43、卡儿积)有两个关系有两个关系R和和S,它们的乘运算结果是一个新关,它们的乘运算结果是一个新关系。这个新关系中的元组个数是原来两个关系中元组个系。这个新关系中的元组个数是原来两个关系中元组个数的乘积,属性个数是原来两个关系中属性个数之和。数的乘积,属性个数是原来两个关系中属性个数之和。两个关系作乘运算,两个关系作乘运算,属性名一般不同,若有重复的属性属性名一般不同,若有重复的属性名,应该用关系名名,应该用关系名.属性名加以区分。两个关系的乘运算属性名加以区分。两个关系的乘运算记作记作RS。例:每个学生按学校规定,在限定时间内,。例:每个学生按学校规定,在限定时间内,需修完必修课程。现有学生表和必
44、修课程表两个关系,需修完必修课程。现有学生表和必修课程表两个关系,要产生一个必修课表,应利用乘运算实现,如图要产生一个必修课表,应利用乘运算实现,如图1-11所所示。示。图图1-11 笛笛卡卡儿儿乘乘积积本讲稿第三十六页,共五十九页第第1 1章章 数据库概述数据库概述 5除运算除运算 有两个关系有两个关系R和和S,它们除运算的结果是一个新关系。,它们除运算的结果是一个新关系。关系关系S和新关系作乘运算的结果包含在关系和新关系作乘运算的结果包含在关系R中。中。记作记作RS。例:要显示同时选修了例:要显示同时选修了“数据库技术及网络应用数据库技术及网络应用”和和“三三维动画设计维动画设计”两门课程
45、的学生姓名,应利用除运算实现,如两门课程的学生姓名,应利用除运算实现,如图图1-12所示。所示。图图1-12 关关系系代代数数的的除除运运算算 本讲稿第三十七页,共五十九页第第1 1章章 数据库概述数据库概述 6选择运算选择运算 若有关系若有关系R,对,对R进行选择运算将组成一个新关系。进行选择运算将组成一个新关系。选择运算是从一个关系中选择符合条件的行组成一个新选择运算是从一个关系中选择符合条件的行组成一个新关系,新关系是一个二维表在水平方向的子集。关系,新关系是一个二维表在水平方向的子集。记作记作(R)例:对学生基本信息表进行选择操作,如图例:对学生基本信息表进行选择操作,如图1-13所示
46、 图图1-13 学生基本信息学生基本信息本讲稿第三十八页,共五十九页第第1 1章章 数据库概述数据库概述(1)列出性别为男的学生名单)列出性别为男的学生名单用关系代数可表示为:用关系代数可表示为:性别性别=男男(学生),结果如图(学生),结果如图1-14所示。所示。图图1-14 选择操作实例选择操作实例(1)(2)列出所属院系是教育学院的学生名单)列出所属院系是教育学院的学生名单用关系代数可表示为:用关系代数可表示为:所属院系所属院系=教育学院教育学院(学生),结果如图(学生),结果如图1-15所示。所示。图图1-15 选择操作实例选择操作实例(2)提示:学生表中有两个姓名重复的提示:学生表中
47、有两个姓名重复的行,但这是两条不同的记录,此表行,但这是两条不同的记录,此表中,学号是主键中,学号是主键本讲稿第三十九页,共五十九页第第1 1章章 数据库概述数据库概述 7投影运算投影运算 若有关系若有关系R,对,对R进行投影运算将组成一个新关系。进行投影运算将组成一个新关系。投影运算是从一个关系中选择某些属性的所有值,即选择投影运算是从一个关系中选择某些属性的所有值,即选择某些列组成一个新关系,新关系是一个二维表在垂直方向某些列组成一个新关系,新关系是一个二维表在垂直方向的子集。记作的子集。记作 (R)例:对学生基本信息表进行投影操作,如图例:对学生基本信息表进行投影操作,如图1-16所示。
48、所示。图图1-16 学学生生基基本本信信息息(1)列出所有学生的学号、姓名、性别和所属院系)列出所有学生的学号、姓名、性别和所属院系 用关系代数可表示为:用关系代数可表示为:学号学号,姓名姓名,性别性别,所属院系(学生),结果如图所属院系(学生),结果如图1-17所示。所示。(2)列出性别为女的学生的学号、姓名、性别和所属院系)列出性别为女的学生的学号、姓名、性别和所属院系本讲稿第四十页,共五十九页第第1 1章章 数据库概述数据库概述 这是一个选择和投影的联合操作,这是一个选择和投影的联合操作,可以先进行选择操可以先进行选择操作,形成一个新关系,然后再进行投影操作,从新关系中列作,形成一个新关
49、系,然后再进行投影操作,从新关系中列出指定列。当然,也可以先进行投影操作再进行选择操作。出指定列。当然,也可以先进行投影操作再进行选择操作。用关系代数可表示为:用关系代数可表示为:学号学号,姓名姓名,性别性别,所属院系(所属院系(性别性别=女女(学生)或(学生)或 性别性别=女女(学号学号,姓名姓名,性别性别,所所属院系(学生),结果如图属院系(学生),结果如图1-18所示。所示。图图1-17 投影操作实例投影操作实例 图图1-18 选择和投影联合操作实例选择和投影联合操作实例本讲稿第四十一页,共五十九页第第1 1章章 数据库概述数据库概述 8连接运算连接运算 若有关系若有关系R和和S,对,对
50、R和和S进行连接运算将组成一个新进行连接运算将组成一个新关系。参加连接运算的关系可以是两个及两个以上。连接关系。参加连接运算的关系可以是两个及两个以上。连接运算可以看作是乘(笛卡儿积)运算、选择运算、投影运运算可以看作是乘(笛卡儿积)运算、选择运算、投影运算的组合操作。连接运算的代数表达式可记作:算的组合操作。连接运算的代数表达式可记作:连接条件中的连接属性必须是可比的,参加比较的属性应是相同类型的属性。比较运算连接条件中的连接属性必须是可比的,参加比较的属性应是相同类型的属性。比较运算符包含:符包含:=、=、=、。根据连接表达式的内容,有以下两种特殊的连接:根据连接表达式的内容,有以下两种特