第1章数据库基础精选文档.ppt
第1章 数据库基础本讲稿第一页,共八十九页 本章主要介绍数据库的相关概念,包本章主要介绍数据库的相关概念,包括数据库系统的简介、数据库的体系结构、括数据库系统的简介、数据库的体系结构、数据模型、常见关系数据库、数据模型、常见关系数据库、SQL Server 2005数据库特性及数据库特性及Transact-SQL简介。简介。通过本章的学习,读者应该掌握数据通过本章的学习,读者应该掌握数据库系统、数据模型、数据库三级模式结构及库系统、数据模型、数据库三级模式结构及数据库规范化等概念对比常见的关系数据库数据库规范化等概念对比常见的关系数据库,了解,了解SQL Server 2005数据库特性和数据库特性和Transact-SQL语言。语言。本讲稿第二页,共八十九页数据库技术产生于六十年代末,是数据管理的最新技术,是数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。计算机科学的重要分支。数据库技术是信息系统的核心和基础,它的出现极大地促进了数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。计算机应用向各行各业的渗透。数据库的建设规模、数据库信息量的大小和使用频度已成为衡数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。量一个国家信息化程度的重要标志。本讲稿第三页,共八十九页1.11.1 数据库系统简介数据库系统简介1.21.2 数据库的体系结构数据库的体系结构1.31.3 数据模型数据模型1.41.4 常见关系数据库常见关系数据库1.51.5 SQL Server 2005 SQL Server 2005数据库特性数据库特性1.61.6 Transact-SQL Transact-SQL简介简介本讲稿第四页,共八十九页1.1.1 四个基本概念数据数据(Data)数据库数据库(Database)数据库管理系统数据库管理系统(DBMS)数据库系统数据库系统(DBS)本讲稿第五页,共八十九页一、数据数据数据(Data)是数据库中存储的基本对象是数据库中存储的基本对象数据的定义数据的定义描述事物的符号记录描述事物的符号记录数据的种类数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等数据的特点数据的特点数据与其语义是不可分的数据与其语义是不可分的本讲稿第六页,共八十九页数据举例数据的含义称为数据的语义,数据与其语义是不可分的。数据的含义称为数据的语义,数据与其语义是不可分的。例如例如 93是一个数据是一个数据语义语义1:学生某门课的成绩:学生某门课的成绩语义语义2:某人的体重:某人的体重语义语义3:计算机系:计算机系2003级学生人数级学生人数语义语义4:请同学给出。:请同学给出。本讲稿第七页,共八十九页数据举例学生档案中的学生记录学生档案中的学生记录(李明,男,(李明,男,197205,江苏南京市,计算机系,江苏南京市,计算机系,1990)语义:学生姓名、性别、出生年月、籍贯、所在院系、语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间入学时间解释:李明是个大学生,解释:李明是个大学生,1972年年5月出生,江苏南京市人,月出生,江苏南京市人,1990年考入年考入计算机系计算机系请给出另一个解释和语义请给出另一个解释和语义本讲稿第八页,共八十九页二、数据库数据库的定义数据库的定义数数据据库库(Database,简简称称DB)是是长长期期储储存存在在计计算算机内、有组织的、可共享的大量数据的集合。机内、有组织的、可共享的大量数据的集合。数据库的基本特征数据库的基本特征数据按一定的数据模型组织、描述和储存数据按一定的数据模型组织、描述和储存可为各种用户共享可为各种用户共享冗余度较小冗余度较小数据独立性较高数据独立性较高易扩展易扩展本讲稿第九页,共八十九页三、数据库管理系统什么是什么是DBMS位于用户与操作系统之间的一层数据管理软件。位于用户与操作系统之间的一层数据管理软件。是基础软件,是一个大型复杂的软件系统是基础软件,是一个大型复杂的软件系统 DBMS的用途的用途科学地组织和存储数据、高效地获取和维护数据科学地组织和存储数据、高效地获取和维护数据本讲稿第十页,共八十九页硬件平台硬件平台基础软件平台基础软件平台软件基础构架平台软件基础构架平台应用软件平台应用软件平台软件产品软件产品协同软件协同软件办公软件办公软件数据库系统数据库系统数据库系统数据库系统操作系统操作系统操作系统操作系统 中间件中间件 应用服务器应用服务器数据库在计算机系统中的位置本讲稿第十一页,共八十九页DBMS的主要功能数据定义功能 提供数据定义语言(DDL)定义数据库中的数据对象数据组织、存储和管理分类组织、存储和管理各种数据确定组织数据的文件结构和存取方式实现数据之间的联系提供多种存取方法提高存取效率本讲稿第十二页,共八十九页DBMS的主要功能数据操纵功能 提供数据操纵语言(DML)实现对数据库的基本操作(查询、插入、删除和修改)数据库的事务管理和运行管理数据库在建立、运行和维护时由DBMS统一管理和控制保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复本讲稿第十三页,共八十九页DBMS的主要功能数据库的建立和维护功能(实用程序)数据库初始数据装载转换 数据库转储 介质故障恢复 数据库的重组织 性能监视分析等其它功能DBMS与网络中其它软件系统的通信两个DBMS系统的数据转换异构数据库之间的互访和互操作本讲稿第十四页,共八十九页四、数据库系统什么是数据库系统什么是数据库系统(Database System,简称DBS)在计算机系统中引入数据库后的系统构成数据库系统的构成数据库数据库管理系统(及其开发工具)应用系统数据库管理员 本讲稿第十五页,共八十九页数据库数据库 应用系统应用系统应用开发工具操作系统数据库管理系统数据库管理系统数据库管理员数据库管理员用户用户用户数据库系统数据库系统本讲稿第十六页,共八十九页1.1数据库系统简介数据库系统简介 1.1.1 1.1.1数据库技术的发展数据库技术的发展 数据库技术是应数据管理任务的需求数据库技术是应数据管理任务的需求而产生的。而产生的。随着计算机技术的发展,对数据管理随着计算机技术的发展,对数据管理技术也不断地提出了更高的要求,其先后经技术也不断地提出了更高的要求,其先后经历了人工管理、文件系统、数据库系统历了人工管理、文件系统、数据库系统3个个阶段。这阶段。这3个阶段的特点分别如下所述。个阶段的特点分别如下所述。本讲稿第十七页,共八十九页q 人工管理阶段(20世纪世纪50年代中期以前)年代中期以前)特点:(1)数据不保存 (2)应用程序管理数据 数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。应用程序数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。因此程序员负相很重。方式等。因此程序员负相很重。(3)数据不共享 数据是面向应用的,一组数据只能对应一个程序。数据是面向应用的,一组数据只能对应一个程序。(4)数据不具有独立性 数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。本讲稿第十八页,共八十九页应用程序1数据集1应用程序2数据集2应用程序n数据集n图1-3 人工管理阶段应用程序与数据之间的对应关系本讲稿第十九页,共八十九页q 文件系统阶段(50年代后期年代后期60年代中期)年代中期)特点:(1)数据可长期保存 (2)由文件系统管理数据 相互独立的数据文件相互独立的数据文件;“按文件名访问,按记录进行存取按文件名访问,按记录进行存取”的管理技术的管理技术;记录内的结记录内的结构性而整体无结构;构性而整体无结构;存取方法存取方法转换使应用程序与数据之间有了转换使应用程序与数据之间有了一定的独立性;一定的独立性;数据在存储上的改变不一定反映在程序上。数据在存储上的改变不一定反映在程序上。(3)数据共享性差,冗余度大 文件仍然是面向应用的文件仍然是面向应用的;数据的冗余度大数据的冗余度大;数据的修改和维护困难数据的修改和维护困难 (4)数据独立性差 不容易扩充;数据与程序之间仍缺乏独立性;是一个无弹性的无结构的数不容易扩充;数据与程序之间仍缺乏独立性;是一个无弹性的无结构的数据集合。据集合。本讲稿第二十页,共八十九页应用程序1文件1应用程序2文件2应用程序n文件n图1-4 文件系统阶段应用程序与数据之间的对应关系存取方法本讲稿第二十一页,共八十九页q数据库系统阶段(60年代年代 )特点:(1)数据结构化 数据结构化是数据库与文件系统的根本区别。数据结构化是数据库与文件系统的根本区别。文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。数据的最小存取单位是记录。系。数据的最小存取单位是记录。数据库系统实现整体数据的结构化,描述数据时不仅要描述数数据库系统实现整体数据的结构化,描述数据时不仅要描述数据本身,还要描述数据之间的联系。数据不再针对其一应用,是据本身,还要描述数据之间的联系。数据不再针对其一应用,是面向全组织,具有整体的结构化。数据的最小存取单位是数据项。面向全组织,具有整体的结构化。数据的最小存取单位是数据项。本讲稿第二十二页,共八十九页学生记录格式示例学生记录格式示例主记录详细记录格式示例主记录详细记录格式示例(a)本讲稿第二十三页,共八十九页主记录详细记录格式示例主记录详细记录格式示例(b)面向组织面向组织(多个应用)的学生数据组织多个应用)的学生数据组织本讲稿第二十四页,共八十九页(2)数据的共享性高,冗余度低,易扩充数据的共享性高,冗余度低,易扩充 面向整个系统的数据库系统中的数据可以被多个用户、多个应用共享使用。共享导致数据冗余度低,同时可避免数据之间的不相容性与不一致性。容易增加新的应用,这就使得数据库系统弹性大,易于扩充。(3)数据独立性高数据独立性高n 物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的、用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。n逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。数据独立性是由数据独立性是由DBMSDBMS的的二级映象功能二级映象功能来保证的。来保证的。本讲稿第二十五页,共八十九页(4)数据由数据由DBMS统一管理和控制统一管理和控制n 数据库的共享是并发的(Concurrency)。n DBMS还必须提供的数据控制功能:(1)数据的安全性(Security)(2)数据的完整性(Integrity)正确性、有效性和相容性 (3)并发(Concurrency)控制 (4)数据库恢复(Recovery)本讲稿第二十六页,共八十九页应用程序1应用程序2图图1-5 数据库管理阶段程序与数据的对应关系数据库管理阶段程序与数据的对应关系 DBMS 数据库数据库本讲稿第二十七页,共八十九页表表1-1 1-1 数据管理三个阶段的比较数据管理三个阶段的比较数据库系统的出现使信息系统从以加工数据的数据库系统的出现使信息系统从以加工数据的程序为中程序为中心心转向围绕共享的转向围绕共享的数据库为中心数据库为中心的新阶段。的新阶段。本讲稿第二十八页,共八十九页数据收集和数据库创建数据收集和数据库创建(20世纪世纪60年代和更早)年代和更早)原始文件处理原始文件处理 数据库管理系统数据库管理系统 (70年代)年代)层次和网状数据库系统层次和网状数据库系统关系数据库系统关系数据库系统数据建模工具:数据建模工具:E-RE-R模型等模型等索引和数据组织技术:索引和数据组织技术:B+B+树,树,HashHash等等查询语言查询语言:SQL:SQL等等用户界面:表单、报告等用户界面:表单、报告等查询处理和查询优化查询处理和查询优化事务管理:恢复和并发控制等事务管理:恢复和并发控制等联机事务处理(联机事务处理(OLTP)OLTP)数数据据库库技技术术的的演演化化本讲稿第二十九页,共八十九页 数据仓库和数据挖掘数据仓库和数据挖掘(8080年代后期现在)年代后期现在)数据仓库和数据仓库和OLAPOLAP技术技术数据挖掘和知识发现数据挖掘和知识发现 高级数据库系统高级数据库系统 (80年代中期现在)年代中期现在)高级数据模型:高级数据模型:扩充关系、面向对象、对象关系、演绎面向应用:面向应用:空间的、时间的、多媒体的、主动的、科学的、知识库基于基于Web的数据库系统的数据库系统(9090年代现在)年代现在)基于基于XMLXML的数据库系统的数据库系统 Web Web挖掘挖掘新一代综合信息系统新一代综合信息系统(2000)本讲稿第三十页,共八十九页1.3.2 数据库系统的三级模式结构数据库系统的三级模式结构1)模式(模式(Schema)也称也称逻辑模式逻辑模式,是数据库中,是数据库中全体全体数据的逻辑结构和特征的描数据的逻辑结构和特征的描述,是所有用户的述,是所有用户的公共公共数据视图数据视图。它是数据库系统模式结构的中间层模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。模式定义包括数据的逻辑结构定义、数据之间的联系定义以及安全性、完整性要求的定义。DBMS提供模式定义语言模式定义语言(模式模式DDL)来严格地定义模式。本讲稿第三十一页,共八十九页2)外模式(外模式(External Schema)也称也称子模式子模式(Subshema)或或用户模式用户模式,它是数据库用户,它是数据库用户(包括应包括应用程序员和最终用户用程序员和最终用户)能够看见和使用的能够看见和使用的局部局部数据的逻辑结数据的逻辑结构和特征的描述,构和特征的描述,是数据库用户的数据视图,是与某一应用有是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施。DBMS提供子模式定义语言(子模式DDL)来严格地定义子模式。本讲稿第三十二页,共八十九页3)内模式(内模式(Internal Schema)也称也称存储模式存储模式(Storage schema),一个数据库只有一个内,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。部的表示方式。例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。DBMS提供提供内模式描述语言内模式描述语言(内模式内模式DDL,或者存储模式,或者存储模式DDL)来严格地定义内模式。来严格地定义内模式。本讲稿第三十三页,共八十九页三、内模式(Internal Schema)内模式(也称存储模式)内模式(也称存储模式)是数据物理结构和存储方式的描述是数据物理结构和存储方式的描述是数据在数据库内部的表示方式是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照记录的存储方式(顺序存储,按照B树结构存储,树结构存储,按按hash方法存储)方法存储)索引的组织方式索引的组织方式数据是否压缩存储数据是否压缩存储数据是否加密数据是否加密数据存储记录结构的规定数据存储记录结构的规定一个数据库只有一个内模式一个数据库只有一个内模式本讲稿第三十四页,共八十九页应用A应用B应用C应用C外模式2外模式1外模式3模式内模式DB123外模式外模式/模式映象模式映象模式模式/内模式映象内模式映象图图1-24 数据库系统的模式结构数据库系统的模式结构本讲稿第三十五页,共八十九页1.3.2 数据库系统的二级映象功能与数据独立性数据库系统的二级映象功能与数据独立性三级模式之间的二级映象:三级模式之间的二级映象:1.外模式外模式/模式映象模式映象 对于对于每一个每一个外模式,数据库系统都有一个外模式外模式,数据库系统都有一个外模式/模式映象,它定模式映象,它定义了该外模式与模式之间的对应关系义了该外模式与模式之间的对应关系(这些映象定义通常包含在各这些映象定义通常包含在各自外模式的描述中自外模式的描述中)。当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),DBA对各个外模式模式的映象作相应改变,可以使外模式保持不变。数据的逻辑独立性本讲稿第三十六页,共八十九页 2.模式模式/内模式映象内模式映象 存在一个唯一的模式内模式映象,它定义了数据库全局逻辑结构与存在一个唯一的模式内模式映象,它定义了数据库全局逻辑结构与存储结构之间的对应关系(该映象定义通常包含在模式描述中)。存储结构之间的对应关系(该映象定义通常包含在模式描述中)。例如,说明逻辑记录和字段在内部是如何表示的。当数据库的存储结构改变了(例如选用了另一种存储结构),由DBA对模式内模式映象作相应改变,可以使模式保持不变。数据的物理独立性本讲稿第三十七页,共八十九页1.3数数 据据 模模 型型 1.3.1 1.3.1数据模型的概念数据模型的概念 数据模型是数据库系统的核心与基础,数据模型是数据库系统的核心与基础,是描述数据与数据之间的联系、数据的语义是描述数据与数据之间的联系、数据的语义、数据一致性约束的概念性工具的集合。、数据一致性约束的概念性工具的集合。本讲稿第三十八页,共八十九页 (1)数据结构)数据结构 (2)数据操作)数据操作 (3)完整性约束)完整性约束 本讲稿第三十九页,共八十九页1.5 数据模型1.5.1 数据模型的组成要素数据模型的组成要素数据模型是模型的一种,是现实世界数据特征的抽象。数据模型是模型的一种,是现实世界数据特征的抽象。数数据据模模型型通通常常由由数数据据结结构构、数数据据操操作作和和数数据据的的约约束束条条件件三三个要素组成。个要素组成。1.数据结构数据结构数据结构用于描述系统的静态特性。数据结构用于描述系统的静态特性。数数据据结结构构是是所所研研究究的的对对象象类类型型的的集集合合,它它是是刻刻画画一一个个数数据据模模型型性性质最重要的方面。质最重要的方面。在在数数据据库库系系统统中中,人人们们通通常常按按照照其其数数据据结结构构的的类类型型来来命命名数据模型。名数据模型。数数据据结结构构有有层层次次结结构构、网网状状结结构构和和关关系系结结构构三三种种类类型型,按按照照这这三三种结构命名的数据模型分别称为层次模型、网状模型和关系模型。种结构命名的数据模型分别称为层次模型、网状模型和关系模型。本讲稿第四十页,共八十九页2.数据操作数据操作数据操作用于描述系统的动态特性。数据操作用于描述系统的动态特性。数数据据操操作作是是对对数数据据库库中中各各种种数数据据操操作作的的集集合合,包包括括操操作作及及相相应应的的操作规则。操作规则。如数据的检索、插入、删除和修改等。如数据的检索、插入、删除和修改等。数数据据模模型型必必须须定定义义这这些些操操作作的的确确切切含含义义、操操作作规规则则以以及及实现操作的语言。实现操作的语言。3.数据的约束条件数据的约束条件数据的约束条件是一组完整性规则的集合。数据的约束条件是一组完整性规则的集合。完完整整性性规规则则是是给给定定的的数数据据模模型型中中数数据据及及其其联联系系所所具具有有的的制制约约和和依依存存规规则则,用用以以限限定定符符合合数数据据模模型型的的数数据据库库状状态态以以及及状状态态的的变变化化,以保证数据的正确、有效、相容。以保证数据的正确、有效、相容。数数据据模模型型还还应应该该提提供供定定义义完完整整性性约约束束条条件件的的机机制制,以以反反映映具体应用所涉及的数据必须遵守的特定的语义约束条件。具体应用所涉及的数据必须遵守的特定的语义约束条件。例如,在学生数据库中,学生的年龄不得超过例如,在学生数据库中,学生的年龄不得超过40岁。岁。本讲稿第四十一页,共八十九页1.5.2 数据之间的联系数据之间的联系1.5.2.1 三个世界的划分三个世界的划分由由于于计计算算机机不不能能直直接接处处理理现现实实世世界界中中的的具具体体事事物物,所所以以人们必须将具体事物转换成计算机能够处理的数据。人们必须将具体事物转换成计算机能够处理的数据。在数据库中用数据模型来抽象、表示和处理现实世界中的数据。在数据库中用数据模型来抽象、表示和处理现实世界中的数据。数数据据库库即即是是模模拟拟现现实实世世界界中中某某应应用用环环境境(一一个个企企业业、单单位位或或部部门门)所所涉涉及及的的数数据据的的集集合合,它它不不仅仅要要反反映映数数据据本本身的内容,而且要反映数据之间的联系。身的内容,而且要反映数据之间的联系。这这个个集集合合或或者者包包含含了了信信息息的的一一部部分分(用用用用户户视视图图模模拟拟),或或者者包包含含了了信信息息的的全全部部(用用概概念念视视图图模模拟拟),而而这这种种模模拟拟是是通通过过数数据据模模型来进行的。型来进行的。本讲稿第四十二页,共八十九页为为了了把把现现实实世世界界中中的的具具体体事事物物抽抽象象、组组织织为为某某一一DBMS支支持持的的数数据模型,在实际的数据处理过程中,据模型,在实际的数据处理过程中,首首先先将将现现实实世世界界的的事事物物及及联联系系抽抽象象成成信信息息世世界界的的信信息息模型,模型,然后再抽象成计算机世界的数据模型。然后再抽象成计算机世界的数据模型。信信息息模模型型并并不不依依赖赖于于具具体体的的计计算算机机系系统统,不不是是某某一一个个DBMS所所支支持的数据模型,它是计算机内部数据的抽象表示,是概念模型;持的数据模型,它是计算机内部数据的抽象表示,是概念模型;概概念念模模型型经经过过抽抽象象,转转换换成成计计算算机机上上某某一一DBMS支支持持的的数数据据模模型型。所以说,数据模型是现实世界的两级抽象的结果。所以说,数据模型是现实世界的两级抽象的结果。在在数数据据处处理理中中,数数据据加加工工经经历历了了现现实实世世界界、信信息息世世界界和和计计算算机机世世界界三三个个不不同同的的世世界界,经经历历了了两两级级抽抽象象和和转转换换。这这一一过过程程如如图图1.6所示。所示。本讲稿第四十三页,共八十九页1.5.1.2 信息世界中的基本概念信息世界中的基本概念在信息世界中,常用的主要概念如下:在信息世界中,常用的主要概念如下:1.实体(实体(Entity)客观存在并且可以相互区别的客观存在并且可以相互区别的“事物事物”称为实体。称为实体。实实体体可可以以是是可可触触及及的的对对象象,如如一一个个学学生生,一一本本书书,一一辆辆汽汽车;也可以是抽象的事件,如一堂课,一次比赛等。车;也可以是抽象的事件,如一堂课,一次比赛等。2.属性属性(Attributes)实体的某一特性称为属性。实体的某一特性称为属性。如如学学生生实实体体有有学学号号、姓姓名名、年年龄龄、性性别别、系系等等方方面面的的属属性。性。属属性性有有型型和和“值值”之之分分,型型即即为为属属性性名名,如如姓姓名名、年年龄龄、性性 别别 是是 属属 性性 的的 型型;“值值”即即 为为 属属 性性 的的 具具 体体 内内 容容,如如(990001,张张立立,20,男男,计计算算机机)这这些些属属性性值值的的集集合合表表示示了一个学生实体。了一个学生实体。本讲稿第四十四页,共八十九页3.实体型(实体型(Entity Type)若干个属性型组成的集合可以表示一个实体的类型,简称实体型。若干个属性型组成的集合可以表示一个实体的类型,简称实体型。如如学学生生(学学号号,姓姓名名,年年龄龄,性性别别,系系)就就是是一一个个实实体体型。型。4.实体集实体集(Entity Set)同型实体的集合称为实体集。同型实体的集合称为实体集。如所有的学生、所有的课程等。如所有的学生、所有的课程等。5.键(键(Key)能唯一标识一个实体的属性或属性集称为实体的键。能唯一标识一个实体的属性或属性集称为实体的键。如如学学生生的的学学号号,学学生生的的姓姓名名可可能能有有重重名名,不不能能作作为为学学生生实实体体的键。的键。本讲稿第四十五页,共八十九页6.域(域(Domain)属性值的取值范围称为该属性的域。属性值的取值范围称为该属性的域。如如学学号号的的域域为为6位位整整数数,姓姓名名的的域域为为字字符符串串集集合合,年年龄龄的域为小于的域为小于40的整数,性别的域为(男,女)。的整数,性别的域为(男,女)。7.联系(联系(Relationship)在在现现实实世世界界中中,事事物物内内部部以以及及事事物物之之间间是是有有联联系系的的,这这些些联联系系同样也要抽象和反映到信息世界中来,同样也要抽象和反映到信息世界中来,在在信信息息世世界界中中将将被被抽抽象象为为实实体体型型内内部部的的联联系系和和实实体体型型之之间间的联系。的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。实体之间的联系通常是指不同实体集之间的联系。反反映映实实体体型型及及其其联联系系的的结结构构形形式式称称为为实实体体模模型型,也也称称作作信信息息模模型,它是现实世界及其联系的抽象表示。型,它是现实世界及其联系的抽象表示。本讲稿第四十六页,共八十九页两个实体型之间的联系有如下三种类型:两个实体型之间的联系有如下三种类型:(1)一对一联系()一对一联系(1:1)实实体体集集A中中的的一一个个实实体体至至多多与与实实体体集集B中中的的一一个个实实体体相相对对应应,反之亦然,则称实体集反之亦然,则称实体集A与实体集与实体集B为一对一的联系。记作为一对一的联系。记作1:1。如:班级与班长,观众与座位,病人与床位。如:班级与班长,观众与座位,病人与床位。(2)一对多联系()一对多联系(1:n)实实体体集集A中中的的一一个个实实体体与与实实体体集集B中中的的多多个个实实体体相相对对应应,反反之之,实实体体集集B中中的的一一个个实实体体至至多多与与实实体体集集A中中的的一一个个实实体体相相对对应应。记记作作1:n。如:班级与学生、公司与职员、省与市。如:班级与学生、公司与职员、省与市。(3)多对多()多对多(m:n)实实体体集集A中中的的一一个个实实体体与与实实体体集集B中中的的多多个个实实体体相相对对应应,反反之之,实实体体集集B中中的的一一个个实实体体与与实实体体集集A中中的的多多个个实实体体相相对对应应。记记作作(m:n)。)。如:教师与学生如:教师与学生,学生与课程,工厂与产品。学生与课程,工厂与产品。本讲稿第四十七页,共八十九页实实际际上上,一一对对一一联联系系是是一一对对多多联联系系的的特特例例,而而一一对对多多联联系系又是多对多联系的特例。又是多对多联系的特例。可可以以用用图图形形来来表表示示两两个个实实体体型型之之间间的的这这三三类类联联系系,如如图图书书 1.7所所示。示。A B A B A B (a)(b)(c)图图1.7 不同实体集实体之间的联系不同实体集实体之间的联系本讲稿第四十八页,共八十九页1.5.1.3 计算机世界中的基本概念计算机世界中的基本概念信信息息世世界界中中的的实实体体抽抽象象为为计计算算机机世世界界中中的的数数据据,存存储储在在计算机中。在计算机世界中,常用的主要概念如下:计算机中。在计算机世界中,常用的主要概念如下:1.字段(字段(Field)对对应应于于属属性性的的数数据据称称为为字字段段,也也称称为为数数据据项项。字字段段的的命命名往往和属性名相同。名往往和属性名相同。如学生有学号、姓名、年龄、性别、系等字段。如学生有学号、姓名、年龄、性别、系等字段。2.记录(记录(Record)对应于每个实体的数据称为记录。对应于每个实体的数据称为记录。如如一一个个学学生生(990001,张张立立,20,男男,计计算算机机)为为一一个个记记录。录。3.文件(文件(File)对应于实体集的数据称为文件。对应于实体集的数据称为文件。如所有学生的记录组成了一个学生文件。如所有学生的记录组成了一个学生文件。本讲稿第四十九页,共八十九页1.5.3 数据模型的分类数据模型的分类数据模型的好坏,直接影响数据库的性能。数据模型的好坏,直接影响数据库的性能。数据模型的选择,是设计数据库的一项首要任务。数据模型的选择,是设计数据库的一项首要任务。目目前前最最常常用用的的数数据据模模型型有有层层次次模模型型(Hierarchical Model)、网网状模型(状模型(Network Model)和关系模型()和关系模型(Relational Model)。)。这这三三种种数数据据模模型型的的根根区区别别在在于于数数据据结结构构不不同同,即即数数据据之之间间联联系系的表示方式不同。的表示方式不同。层次模型用层次模型用“树结构树结构”来表示数据之间的联系;来表示数据之间的联系;网状模型是用网状模型是用“图结构图结构”来表示数据之间的联系;来表示数据之间的联系;关系模型是用关系模型是用“二维表二维表”来表示数据之间的联系。来表示数据之间的联系。本讲稿第五十页,共八十九页其其中中层层次次模模型型和和网网状状模模型型是是早早期期的的数数据据模模型型,统统称称为为非非关关系模型。系模型。20世世纪纪70年年代代至至80年年代代初初,非非关关系系模模型型的的数数据据库库系系统统非非常常流流行行,在数据库系统产品中占据了主导地位,在数据库系统产品中占据了主导地位,现在已逐渐被关系模型的数据库系统取代,现在已逐渐被关系模型的数据库系统取代,但但在在美美国国等等国国,由由于于早早期期开开发发的的应应用用系系都都是是基基于于层层次次数数据据库库或或网网状状数数据据库库系系统统,因因此此目目前前层层次次数数据据库库或或网网状状数数据库的系统仍很多。据库的系统仍很多。20世世纪纪80年年代代以以来来,面面向向对对象象的的方方法法和和技技术术在在计计算算机机各各个个领领域域,包包括括程程序序设设计计语语言言、软软件件工工程程、计计算算机机硬硬件件等等各各方方面面都都产产生生了了深深远远的的影影响响,出出现现了了一一种种新新的的数数据据模模型型面面向向对对象象的的数数据模型据模型 本讲稿第五十一页,共八十九页1.5.3.1 层次模型层次模型层层次次模模型型是是数数据据库库系系统统中中最最早早出出现现的的数数据据模模型型,采采用用层层次次 模模 型型 的的 数数 据据 库库 的的 典典 型型 代代 表表 是是 IBM公公 司司 的的IMS(Information Management System)数数据据库库管管理理系统,系统,现现实实世世界界中中,许许多多实实体体之之间间的的联联系系都都表表现现出出一一种种很很自自然然的的层层次次关关系,如家族关系,行政机构等。系,如家族关系,行政机构等。层层次次模模型型用用一一棵棵“有有向向树树”的的数数据据结结构构来来表表示示各各类类实实体体以以及及实实体体间的联系。间的联系。在在树树中中,每每个个结结点点表表示示一一个个记记录录类类型型,结结点点间间的的连连线线(或或边边)表表示示记记录录类类型型间间的的关关系系,每每个个记记录录类类型型可可包包含含若若干干个个字字段段,记记录录类类型型描描述述的的是是实实体体,字字段段描描述述实实体体的的属属性性,各各个个记记录录类类型及其字段都必须命名。型及其字段都必须命名。如如果果要要存存取取某某一一记记录录型型的的记记录录,可可以以从从根根结结点点起起,按按照照有有向向树层次向下查找。树层次向下查找。本讲稿第五十二页,共八十九页1.5.3.1 层次模型层次模型层层次次模模型型是是数数据据库库系系统统中中最最早早出出现现的的数数据据模模型型,采采用用层层次次模模型型的的数数 据据 库库 的的 典典 型型 代代 表表 是是 IBM公公 司司 的的 IMS(Information Management System)数据库管理系统,)数据库管理系统,现现实实世世界界中中,许许多多实实体体之之间间的的联联系系都都表表现现出出一一种种很很自自然然的层次关系,如家族关系,行政机构等。的层次关系,如家族关系,行政机构等。层层次次模模型型用用一一棵棵“有有向向树树”的的数数据据结结构构来来表表示示各各类类实实体体以以及及实实体体间的联系。间的联系。在在树树中中,每每个个结结点点表表示示一一个个记记录录类类型型,结结点点间间的的连连线线(或或边边)表表示示记记录录类类型型间间的的关关系系,每每个个记记录录类类型型可可包包含含若若干干个个字字段段,记记录录类类型型描描述述的的是是实实体体,字字段段描描述述实实体体的的属属性性,各各个个记记录录类类型及其字段都必须命名。型及其字段都必须命名。如如果果要要存存取取某某一一记记录录型型的的记记录录,可可以以从从根根结结点点起起,按按照照有有向树层次向下查找。向树层次向下查找。本讲稿第五十三页,共八十九页图图1.9是层次模型有向树的示意图。是层次模型有向树的示意图。结点结点A为根结点,为根结点,,F,G为叶结点,为叶结点,B,D为兄结点为兄结点 图图1.9 层次模型有向树的示意图层次模型有向树的示意图 ABCDEF本讲稿第五十四页,共八十九页层次数据库为层次数据库为TS,它具有四个记录型,分别是:,它具有四个记录型,分别是:记记录录型型D(系系)是是根根结结点点,由由字字段段D#(系系编编号号)、DN(系系名名)、DL(系地点)组成,它有两个孩子结点,:(系地点)组成,它有两个孩子结点,:R和和S,记记录录型型R(教教研研室室)是是D的的孩孩子子结结点点,同同时时又又是是T的的双双亲亲结结点点,它它由由R#(教教研研室室编编号号)、RN(教教研研室室名名)两两个个字字段段组成,组成,记记录录型型S(学学生生)由由S#(学学号号)、SN(姓姓名名)、SS(成成绩绩)三三个个字段组成,字段组成,记记录录型型T(教教师师)由由T#(职职工工号号)、TN(姓姓名名)、TD(研研究究方向)三个字段组成,方向)三个字段组成,S与与T是是叶叶结结点点,它它们们没没有有子子女女结结点点,由由D到到R,R到到T,由由D到到S均均是一对多的关系。是一对多的关系。本讲稿第五十五页,共八十九页对应上述数据模型的一个值,对应上述数据模型的一个值,该该值值是是D02系系(计计算算机机系系)记记录录值值及及其其所所有有后后代代记记录录值值组成的一棵树,组成的一棵树,D02系系有有3个个教教研研室室子子记记录录值值:R01、R02、R03和和3个学生记录值:个学生记录值:S63871、S63874、S63876,教研室教研室R01有有3个教师记录值:个教师记录值:T2101、T17090、T3501.本讲稿第五十六页,共八十九页2.层次模型的数据操纵与数据完整性约束层次模型的数据操纵与数据完整性约束层次模型的数据操纵主要有查询、插入、删除和修改,层次模型的数据操纵主要有查询、插入、删除和修改,进行插入、删除和修改操作时要满足层次模型的完整性约束条件。进行插入、删除和修改操作时要满足层次模型的完整性约束条件。进进行行插插入入操操作作时时,如如果果没没有有相相应应的的双双亲亲结结点点值值就就不不能能插插入入子子女结点值;女结点值;进进行行删删除除操操作作时时,如如果果删删除除双双亲亲结结点点值值,则则相相应应的的子子女结点值也被同时删除;女结点值也被同时删除;修改操作时,应修改