1、第第1章章 绪论绪论 1.1 数据管理技术的发展数据管理技术的发展 1.2 数据库系统数据库系统 1.3 数据模型与数据模式数据模型与数据模式 1.4 数据库管理系统数据库管理系统1.1 数据管理技术的发展数据管理技术的发展 人工管理阶段(人工管理阶段(20世纪世纪50年代中期年代中期以前)以前) 文件系统阶段(文件系统阶段(20世纪世纪50年代后期年代后期-60年代中期)年代中期) 数据库系统阶段(数据库系统阶段(20世纪世纪60年代后年代后期之后)期之后)人工管理阶段人工管理阶段 时期时期20世纪世纪40年代中年代中-50年代中年代中 背景背景应用需求:科学计算应用需求:科学计算硬件条件:
2、无直接存取存储设备硬件条件:无直接存取存储设备软件水平:没有操作系统软件水平:没有操作系统处理方式:批处理处理方式:批处理人工管理阶段人工管理阶段 特点特点数据管理者:用户(程序员)数据管理者:用户(程序员)数据应用范围:单一应用程序数据应用范围:单一应用程序 数据共享程度:无共享、冗余度极大数据共享程度:无共享、冗余度极大数据独立性:不独立,完全依赖于程序数据独立性:不独立,完全依赖于程序数据结构化:无结构数据结构化:无结构数据控制:应用程序负责数据控制:应用程序负责人工管理阶段人工管理阶段n程序与数据之间的关系程序与数据之间的关系图图 程序与数据之间的关系程序与数据之间的关系(人工管理阶段
3、人工管理阶段) 应用程序应用程序1数据数据1数据数据2数据数据n应用程序应用程序2应用程序应用程序n访问访问访问文件系统阶段文件系统阶段 时期时期20世纪世纪50年代末年代末-60年代中年代中 背景背景应用需求:科学计算应用需求:科学计算+数据管理数据管理硬件条件:磁盘、磁鼓(硬件条件:磁盘、磁鼓(直接存取设备)直接存取设备)软件水平:有文件系统软件水平:有文件系统处理方式:联机分时处理处理方式:联机分时处理+批处理批处理文件系统阶段文件系统阶段n特点特点数据管理者:文件系统,数据可长期保存数据管理者:文件系统,数据可长期保存数据应用范围:某些应用程序数据应用范围:某些应用程序 数据共享程度:
4、共享性差、冗余度大数据共享程度:共享性差、冗余度大数据结构化:记录内有结构,无整体结构数据结构化:记录内有结构,无整体结构数据独立性:较差,数据的逻辑结构改变必数据独立性:较差,数据的逻辑结构改变必须修改应用程序须修改应用程序数据控制:应用程序负责数据控制:应用程序负责文件系统阶段文件系统阶段图图 程序与数据之间的关系程序与数据之间的关系(文件系统阶段文件系统阶段)应用程序应用程序1文件文件1文件文件2文件文件n应用程序应用程序2应用程序应用程序n文件系统文件系统存取方法存取方法n 程序与数据之间的关系程序与数据之间的关系 文件系统是操作系统用于管理辅存文件系统是操作系统用于管理辅存(磁盘磁盘
5、/磁磁带带)数据的子系统,提供数据的物理存储和数据的子系统,提供数据的物理存储和存取方法存取方法在文件系统中,一个命名的数据集合称为文在文件系统中,一个命名的数据集合称为文件件文件是操作系统管理数据的基本单位文件是操作系统管理数据的基本单位文件系统文件系统文件管理方式本质上是把数据组织成文件形文件管理方式本质上是把数据组织成文件形式存储在磁盘上式存储在磁盘上用户通过编程,定义数据的逻辑结构和输入用户通过编程,定义数据的逻辑结构和输入输出输出(I/O)格式格式应用程序由于必须直接访问所使用的数据文应用程序由于必须直接访问所使用的数据文件,所以完全依赖于数据文件的存储结构件,所以完全依赖于数据文件
6、的存储结构当数据文件修改时,应用程序必须作相应修当数据文件修改时,应用程序必须作相应修改改文件系统文件系统文件系统的数据结构文件系统的数据结构 记录内有结构记录内有结构 数据结构由应用程序定义和解释数据结构由应用程序定义和解释 数据项一般是定长的数据项一般是定长的可以间接实现数据变长要求,但访问相应数据的应用可以间接实现数据变长要求,但访问相应数据的应用程序变复杂程序变复杂 文件是孤立的,数据整体无结构文件是孤立的,数据整体无结构可以间接实现数据整体结构,但必须在应用程序中描可以间接实现数据整体结构,但必须在应用程序中描述文件之间的联系述文件之间的联系 数据的最小存取单位是记录数据的最小存取单
7、位是记录数据库系统阶段数据库系统阶段 从从20世纪世纪60年代末开始,数据管理技术进入数据年代末开始,数据管理技术进入数据库系统阶段,其标志是:库系统阶段,其标志是: (1) 1968年,美国年,美国IBM公司推出层次模型的公司推出层次模型的IMS系统系统(2) 1969年,美国年,美国CODASYL组织发布了组织发布了DBTG报告,报告,对当时各式各样的数据库进行了总结,提出网状对当时各式各样的数据库进行了总结,提出网状模型模型 (3) 1970年,美国年,美国IBM公司的公司的E.F.Codd 连续发表论连续发表论文,提出关系模型,奠定了关系数据库的理论基文,提出关系模型,奠定了关系数据库
8、的理论基础础 数据库系统阶段数据库系统阶段 时期时期20世纪世纪60年代末之后年代末之后 背景背景应用需求:大规模数据管理应用需求:大规模数据管理硬件条件:大容量磁盘、磁盘阵列硬件条件:大容量磁盘、磁盘阵列软件水平:数据库管理系统软件水平:数据库管理系统处理方式:联机实时处理处理方式:联机实时处理+分布处理分布处理数据库系统阶段数据库系统阶段图图 程序与数据之间的关系程序与数据之间的关系(数据库系统阶段数据库系统阶段) 程序与数据之间的关系程序与数据之间的关系应用程序应用程序1应用程序应用程序2应用程序应用程序n数据库管理数据库管理 系统系统DBMS数据库数据库数据管理各阶段的比较数据管理各阶
9、段的比较人工管理阶段人工管理阶段文件系统阶段文件系统阶段数据库系统阶数据库系统阶段段产产生生背背景景应用需求应用需求 科学计算科学计算科学计算机科学计算机/数据管数据管理理大规模数据管大规模数据管理理硬件水平硬件水平 无直接存储设备无直接存储设备磁盘磁盘/磁鼓磁鼓大容量磁盘大容量磁盘软件水平软件水平没有操作系统和数没有操作系统和数据管理软件据管理软件高级语言高级语言+操作系操作系统(文件系统)统(文件系统)数据库管理系数据库管理系统统(DBMS)处理方式处理方式 批处理批处理联机实时处理联机实时处理+批批处理处理联机实时处理联机实时处理+分布式处理分布式处理特特点点数据的管数据的管理者理者应用
10、程序应用程序文件系统文件系统数据库管理系数据库管理系统统应用范围应用范围 单个应用程序单个应用程序单个或少量应用程单个或少量应用程序序多个应用多个应用整个企业整个企业数据管理各阶段的比较数据管理各阶段的比较特特点点数据共享数据共享程度程度无共享无共享共享性差共享性差共享性好共享性好数据独立数据独立性性不独立,完全依不独立,完全依赖于程序赖于程序记录内有结构,记录内有结构,整体无结构,独整体无结构,独立性差立性差高度的物理独立性和高度的物理独立性和一定的逻辑独立性一定的逻辑独立性数据结构数据结构化化无结构无结构若数据的逻辑结若数据的逻辑结构改变则必须修构改变则必须修改应用程序改应用程序采用数据模
11、型表示复采用数据模型表示复杂的数据结构,整体杂的数据结构,整体结构化结构化数据控制数据控制完全由应用程序完全由应用程序控制控制基本由应用程序基本由应用程序控制控制由由DBMS统一管理和统一管理和控制,提供数据库的控制,提供数据库的并发控制,数据库的并发控制,数据库的恢复,数据的完整性恢复,数据的完整性和数据安全性等支持和数据安全性等支持用户接口用户接口无无物理存取物理存取数据库系统为用户提数据库系统为用户提供方便的用户接口供方便的用户接口1.2 数据库系统数据库系统 数据库的定义数据库的定义 数据库系统的定义数据库系统的定义 数据库系统的组成数据库系统的组成 数据库系统的特征数据库系统的特征
12、数据库数据库(Database,简称简称DB)是是长期储存长期储存在计算机在计算机内、内、有组织有组织的、的、可共享可共享的的大量大量数据的集合数据的集合 数据库是相互关联的数据集合,其中的数据能够数据库是相互关联的数据集合,其中的数据能够为特定组织为特定组织(如企事业单位如企事业单位)的多种应用服务的多种应用服务 数据库中的数据库中的数据具有以下特点:数据具有以下特点:描述了现实世界的某些方面描述了现实世界的某些方面数据间有密切联系数据间有密切联系具有最小的冗余度和较高的独立性具有最小的冗余度和较高的独立性可服务于多个应用可服务于多个应用可被多用户共享使用可被多用户共享使用数据库的定义数据库
13、的定义 数据库系统数据库系统(Database System/DBS)是实是实现有组织、动态地存储大量相关的结构化现有组织、动态地存储大量相关的结构化数据、方便各类用户访问的计算机软数据、方便各类用户访问的计算机软/硬件硬件资源的集合资源的集合 DBS是由数据库是由数据库(DB)、数据库管理系统、数据库管理系统(DBMS)以及应用程序等组合构成的完整系以及应用程序等组合构成的完整系统统 有时也将与数据库系统有关的人员添加到有时也将与数据库系统有关的人员添加到数据库系统中,形成广义的数据库系统数据库系统中,形成广义的数据库系统数据库系统的定义数据库系统的定义数据库系统的组成数据库系统的组成 硬件
14、平台硬件平台 软件平台软件平台 数据库数据库(DB) 数据库管理系统数据库管理系统(DBMS) 开发工具开发工具 应用程序应用程序 用户用户 构成数据库系统的主要软件成分:构成数据库系统的主要软件成分:数据库管理系统数据库管理系统(DBMS):为建立、使用和维:为建立、使用和维护数据库而配置的通用软件系统,是整个数据护数据库而配置的通用软件系统,是整个数据库系统的核心库系统的核心具有与数据库接口的高级语言及编译系统具有与数据库接口的高级语言及编译系统以以DBMS为核心的应用开发工具为核心的应用开发工具为满足特定应用需求开发的应用程序为满足特定应用需求开发的应用程序数据库系统的组成数据库系统的组
15、成 数据库管理员数据库管理员(DBA)全面负责数据库系统的管理、维护和正常使用的人员全面负责数据库系统的管理、维护和正常使用的人员 应用程序员应用程序员负责设计和编写应用系统的程序模块,并进行调试、负责设计和编写应用系统的程序模块,并进行调试、安装和维护安装和维护 终端用户终端用户(End User)又称为最终用户,通过应用系统的用户接口使用数据又称为最终用户,通过应用系统的用户接口使用数据库。常用的接口方式有浏览器、菜单驱动、表格操作、库。常用的接口方式有浏览器、菜单驱动、表格操作、图形显示、报表书写等,给用户提供简明直观的数据图形显示、报表书写等,给用户提供简明直观的数据表示表示数据库系统
16、的用户数据库系统的用户 数据库数据库 应用系统应用系统应用开发工具 操作系统 数据库管理系数据库管理系统统 数据库管理员数据库管理员用户用户用户 数据库系统的组成数据库系统的组成数据库系统的特征数据库系统的特征(1)面向全组织的数据结构面向全组织的数据结构数据反映了客观事物间的本质联系,是有数据反映了客观事物间的本质联系,是有结构的数据集合结构的数据集合而文件只是记录的有序集合,不同文件中而文件只是记录的有序集合,不同文件中的记录之间缺少逻辑联系的记录之间缺少逻辑联系这是数据库系统的主要特征之一,也是数这是数据库系统的主要特征之一,也是数据库系统与文件系统的根本区别之一据库系统与文件系统的根本
17、区别之一数据库系统的特征数据库系统的特征(2) 信息完整信息完整且且功能通用功能通用 数据库系统的通用性是由于将数据的定义和描述数据库系统的通用性是由于将数据的定义和描述(即所谓即所谓“元数据元数据”)从应用程序中分离并统一存储管理从应用程序中分离并统一存储管理 所谓元数据所谓元数据(Meta Data)是指数据的描述信息,包括数据是指数据的描述信息,包括数据的逻辑结构、存储格式、数据类型、数据的完整性约束的逻辑结构、存储格式、数据类型、数据的完整性约束等等 应用程序如果要访问数据库,首先通过应用程序如果要访问数据库,首先通过DBMS取得有关取得有关元数据,然后根据这些信息存取数据库中的数据元
18、数据,然后根据这些信息存取数据库中的数据 在文件系统中,元数据分散在不同的应用程序中,故文在文件系统中,元数据分散在不同的应用程序中,故文件只能与访问这些文件的应用程序形成特定关系,其它件只能与访问这些文件的应用程序形成特定关系,其它的应用程序由于不了解元数据而无法访问文件的应用程序由于不了解元数据而无法访问文件数据库系统的特征数据库系统的特征(3)数据冗余度小、易扩充数据冗余度小、易扩充强调数据集中统一管理,尽量对数据进行强调数据集中统一管理,尽量对数据进行共享,因此冗余度降低共享,因此冗余度降低不仅节省存储空间、减少存取时间,而且不仅节省存储空间、减少存取时间,而且避免数据之间的不相容和不
19、一致避免数据之间的不相容和不一致每个应用选用数据库的一个子集,只要重每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,新选取不同子集或者加上一小部分数据,就可以满足新的应用要求,即易扩充就可以满足新的应用要求,即易扩充数据库系统的特征数据库系统的特征(4) 面向实际应用的数据抽象面向实际应用的数据抽象(又称数又称数据模型化据模型化)数据库系统提供了面向现实世界数据的抽象概念数据库系统提供了面向现实世界数据的抽象概念表示,使得用户不必了解数据库文件的存储结构、表示,使得用户不必了解数据库文件的存储结构、存储位置、存取方法等细节就能访问数据库存储位置、存取方法等细节就能访问数
20、据库不同类型的数据库系统使用不同的数据模型实现不同类型的数据库系统使用不同的数据模型实现数据的抽象概念表示数据的抽象概念表示数据模型屏蔽了数据存放的物理细节,这种方法数据模型屏蔽了数据存放的物理细节,这种方法表达的数据更容易被用户理解表达的数据更容易被用户理解数据库系统的特征数据库系统的特征(4) 面向实际应用的数据抽象面向实际应用的数据抽象(又称数又称数据模型化据模型化) 在数据库系统中,数据存储结构、存取方法等细在数据库系统中,数据存储结构、存取方法等细节完全由系统负责节完全由系统负责 访问数据库时,用户只须引用数据的抽象概念表访问数据库时,用户只须引用数据的抽象概念表示,示,DBMS负责
21、提取数据的存储结构、存取方法负责提取数据的存储结构、存取方法等细节,把用户引用的抽象概念转换为物理表示,等细节,把用户引用的抽象概念转换为物理表示,完成用户的访问要求完成用户的访问要求数据库系统的特征数据库系统的特征(5)支持数据的不同视图支持数据的不同视图 所谓视图所谓视图(View)是指从不同视角观察数据库中数是指从不同视角观察数据库中数据的机制据的机制 一个视图是一个或多个数据库的子集按某种方式一个视图是一个或多个数据库的子集按某种方式构成的虚拟数据库构成的虚拟数据库(不是实际存储的数据库不是实际存储的数据库) 数据库系统提供了定义、维护和操纵视图的功能数据库系统提供了定义、维护和操纵视
22、图的功能 各个用户可以根据需要为自己的应用程序定义视各个用户可以根据需要为自己的应用程序定义视图并维护和操纵它图并维护和操纵它数据库系统的特征数据库系统的特征(6)较高的数据的独立性较高的数据的独立性由于数据库系统对所有元数据作统一存储和管理,由于数据库系统对所有元数据作统一存储和管理,从而实现了应用程序与数据的独立性从而实现了应用程序与数据的独立性即当文件结构改变时,应用程序不必改变,这是即当文件结构改变时,应用程序不必改变,这是因为通过因为通过DBMS完成对元数据相应修改,即可适完成对元数据相应修改,即可适应变化应变化数据的存取由系统管理,用户不必考虑存取路径数据的存取由系统管理,用户不必
23、考虑存取路径等细节,简化了应用程序开发等细节,简化了应用程序开发而在文件系统中,元数据嵌套在应用程序中,文而在文件系统中,元数据嵌套在应用程序中,文件结构的任何改变将引起所有访问该文件的应用件结构的任何改变将引起所有访问该文件的应用程序的改变程序的改变数据库系统的特征数据库系统的特征(6)较高的数据的独立性较高的数据的独立性数据描述是分级的(全局逻辑、局部逻辑、数据描述是分级的(全局逻辑、局部逻辑、物理存储),实现了两级数据独立性物理存储),实现了两级数据独立性物理独立性物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物
24、理存储改变了,应用程序不相互独立的。当数据的物理存储改变了,应用程序不用改变用改变逻辑独立性逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变数据的逻辑结构改变了,用户程序也可以不变数据库系统的特征数据库系统的特征(7)支持多种用户界面支持多种用户界面不同的用户具有不同的技术背景和不同的使用要不同的用户具有不同的技术背景和不同的使用要求求数据库系统针对不同用户的情况,提供多种界面:数据库系统针对不同用户的情况,提供多种界面:1.数据库查询语言:面向具有数据库系统知识的用户数据库查询语言:面向具有数据
25、库系统知识的用户2.程序设计语言界面:面向应用程序员程序设计语言界面:面向应用程序员3.菜单、图形和自然界面:面向终端用户菜单、图形和自然界面:面向终端用户数据库系统的特征数据库系统的特征(8)完善的数据管理控制功能完善的数据管理控制功能数据的安全性控制(数据的安全性控制(SecuritySecurity)保护数据以防止不合法的使用所造成的数据泄露和破坏保护数据以防止不合法的使用所造成的数据泄露和破坏措施:用户标识与鉴定,存取控制措施:用户标识与鉴定,存取控制数据的完整性控制(数据的完整性控制(IntegrityIntegrity)数据的正确性、有效性、相容性数据的正确性、有效性、相容性措施:
26、完整性约束条件定义和检查措施:完整性约束条件定义和检查并发控制(并发控制(ConcurrencyConcurrency)对多用户的并发操作加以控制、协调,防止其互相干扰而对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏得到错误的结果并使数据库完整性遭到破坏措施:锁措施:锁(Lock)(Lock)1.3 数据模型与数据库模式数据模型与数据库模式数据数据(Data)与信息与信息(Information)数据模型数据模型(Data Model)数据模式数据模式(Data Schema) 数据模型数据模型 使用数据库技术,首先必须把现实世使用数据库技术,首先必须
27、把现实世界中的事物表示为计算机能够处理的界中的事物表示为计算机能够处理的数据数据 在数据库中用数据模型这个工具来在数据库中用数据模型这个工具来抽抽象、表示和处理象、表示和处理现实世界中的数据和现实世界中的数据和信息信息数据的语法和语义数据的语法和语义 任何数据都有语法、语义两个方面任何数据都有语法、语义两个方面 语法语法(Syntax)是指数据的格式规定,如规是指数据的格式规定,如规定数据是数值型、字符型、日期型等定数据是数值型、字符型、日期型等 语义语义(Semantic)是指数据本身的含义是指数据本身的含义 例:例:数据:数据:10000000 一千万一千万 10 Million语义语义1
28、:某人银行帐户上的存款余额:某人银行帐户上的存款余额语义语义2:某企业年销售额:某企业年销售额数据举例数据举例 数据:数据:(200805301,李明,男,李明,男,19900607,陕,陕西省西安市,软件学院,西省西安市,软件学院,2008) 语义:学号、姓名、性别、出生日期、籍贯、所语义:学号、姓名、性别、出生日期、籍贯、所在院系、入学时间在院系、入学时间 解释:李明是大学生,男生,解释:李明是大学生,男生,1990年年6月月7日出生,日出生,陕西省西安市人,陕西省西安市人,2008年考入软件学院年考入软件学院数据模型数据模型 数据模型是规定现实世界数据特征的抽象,数据模型是规定现实世界数
29、据特征的抽象,是用来描述数据的语法、语义和操作的一是用来描述数据的语法、语义和操作的一组概念的集合组概念的集合 数据模型是对现实世界某方面的抽象和模数据模型是对现实世界某方面的抽象和模拟拟 数据模型应满足三方面要求数据模型应满足三方面要求能比较能比较真实真实地反映现实世界地反映现实世界容易容易为人所为人所理解理解便于在计算机上便于在计算机上实现实现 三类数据模型三类数据模型 概念模型概念模型也称信息模型,它是按用户的观点对数据和信息建模,也称信息模型,它是按用户的观点对数据和信息建模,用于数据库概念设计和建模用于数据库概念设计和建模 逻辑模型逻辑模型也称数据模型也称数据模型(狭义狭义) ,它是
30、,它是按计算机系统的观点对数按计算机系统的观点对数据建模,主要包括网状模型、层次模型、关系模型、据建模,主要包括网状模型、层次模型、关系模型、面向对象模型等,用于数据库系统实现面向对象模型等,用于数据库系统实现 物理模型物理模型也称存储模型,它也称存储模型,它是对数据最底层的抽象,描述数是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法带上的存储方式和存取方法三类数据模型三类数据模型DBMS支持的数据模型支持的数据模型概念模型概念模型认识认识抽象抽象信息世界信息世界机器世界机器世界现实世界中客观对象的抽象
31、过程现实世界中客观对象的抽象过程现实世现实世界界现实世界现实世界 概念模型概念模型数据库设计人员完成数据库设计人员完成逻辑模型逻辑模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 逻辑模型逻辑模型数据库设计人员完成数据库设计人员完成 数据模型三要素数据模型三要素 数据结构数据结构 数据操作数据操作 完整性约束条件完整性约束条件 数据结构数据结构 描述数据库的组成对象,以及对象之间的描述数据库的组成对象,以及对象之间的联系联系 描述内容描述内容与数据类型、内容、性质有关的对象与数据类型、内容、性质有关的对象与数据之间联系有关的对象与数据之间联系有关的对象 数据结构是对系统静态特性的描述
32、数据结构是对系统静态特性的描述 数据操作数据操作 对数据库中各种对象对数据库中各种对象(型型)的实例的实例(值值)允许允许执行的执行的操作操作及有关的及有关的操作规则操作规则 数据操作的类型数据操作的类型查询查询更新更新(包括插入、删除、修改包括插入、删除、修改) 数据操作数据操作 数据模型对操作的定义数据模型对操作的定义操作的确切含义操作的确切含义操作符号操作符号操作规则(如优先级)操作规则(如优先级)实现操作的语言实现操作的语言 数据操作是对系统动态特性的描述数据操作是对系统动态特性的描述完整性约束条件完整性约束条件 一组完整性规则的集合一组完整性规则的集合 完整性规则:给定的数据模型中数
33、据及其完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则联系所具有的制约和储存规则 用以限定符合数据模型的数据库状态以及用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、状态的变化,以保证数据的正确、有效、相容相容概念模型概念模型 概念模型用于信息世界的建模概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次是现实世界到机器世界的一个中间层次 是数据库设计的工具是数据库设计的工具 是数据库设计人员和用户之间进行交流的是数据库设计人员和用户之间进行交流的语言工具语言工具概念模型概念模型 对概念模型的基本要求对概念模型的基本要求较强的语义表达能力较强的语
34、义表达能力能够方便、直接地表达应用中的各种语义知能够方便、直接地表达应用中的各种语义知识识简单、清晰、易于用户理解简单、清晰、易于用户理解实体联系实体联系(ER)模型模型 最常用的概念模型的表示方法是实体最常用的概念模型的表示方法是实体-联联系方法系方法(Entity-Relationship Approach) 1976年,年,P.P.S.Chen提出提出-模型,用模型,用-图来描述概念模型图来描述概念模型 观点:客观世界是由一组称作实体的基观点:客观世界是由一组称作实体的基本对象和这些对象之间的联系构成的本对象和这些对象之间的联系构成的 ER模型与模型与DBMS所支持的数据模型相独所支持的
35、数据模型相独立,是各种数据模型的共同基础立,是各种数据模型的共同基础信息世界中的基本概念信息世界中的基本概念(1) 实体(实体(Entity) 客观存在并可相互区别的事物称为实体,可以客观存在并可相互区别的事物称为实体,可以是具体的人、事、物或抽象的概念是具体的人、事、物或抽象的概念实体集实体集(entity set):具有共同属性的所有实体:具有共同属性的所有实体的集合;的集合;实体实例实体实例(entity instance): 实体集中的单个实实体集中的单个实体;体;例:学生,职工,部门,课程,例:学生,职工,部门,课程,都是实体都是实体(集集),而,而“王英王英” ,“张凡张凡”都是都
36、是“学生学生”实实体集中的实体实例体集中的实体实例(值值)实体的表示实体的表示: E=e1,e2,en(外延法) E(A1,An) (内涵法)信息世界中的基本概念信息世界中的基本概念(2) 属性(属性(Attribute) 实体实体(或联系或联系)所具有的某方面特征称为属性所具有的某方面特征称为属性一个实体可以由若干个属性来刻画一个实体可以由若干个属性来刻画 值集:属性的取值范围,也称为域值集:属性的取值范围,也称为域(Domain)根据属性的取值方式,可以将属性进一步区分为:根据属性的取值方式,可以将属性进一步区分为:简单属性与复合属性:简单属性与复合属性:单值属性与多值属性:单值属性与多值
37、属性:标识性属性与描述性属性:标识性属性与描述性属性:固有属性与导出属性:固有属性与导出属性:属性的表示:属性的表示:一般属性:一般属性: A:E(V1)(V2)(Vn) 简单属性:简单属性: A:E(V)(3) 码(码(Key) 唯一标识实体的属性集称为码唯一标识实体的属性集称为码信息世界中的基本概念信息世界中的基本概念(4) 联系(联系(Relationship) 现实世界中事物内部以及事物之间的联系在现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之信息世界中反映为实体内部的联系和实体之间的联系间的联系将发生在实体之间具有特定含义的对应关系将发生在实体之间具有特
38、定含义的对应关系称为联系称为联系注意,与实体一样,也存在联系集注意,与实体一样,也存在联系集(型型)与联与联系值的区别系值的区别两个实体型之间的联系两个实体型之间的联系(8/30)实体型实体型A联系名联系名实体型实体型B111:1联系联系实体型实体型A联系名联系名1n1:n联系联系实体型实体型A实体型实体型B联系名联系名mnm:n联系联系实体型实体型B 用图形来表示两个实体型之间的三类联系用图形来表示两个实体型之间的三类联系 两个实体型之间的联系两个实体型之间的联系 一对一联系(一对一联系(1:1) 定义:如果对于实体集定义:如果对于实体集A中的每一中的每一个实体,实体集个实体,实体集B中至多
39、有一个中至多有一个(也可以没有)实体与之联系,反(也可以没有)实体与之联系,反之亦然,之亦然,则称实体集则称实体集A与实体集与实体集B具有一对一联系,具有一对一联系,记为记为1:1 实例:实例:一个班级只有一个正班长一个班级只有一个正班长一个班长只在一个班中任职一个班长只在一个班中任职班级班级班级班级-班长班长班长班长111:1联系联系两个实体型之间的联系两个实体型之间的联系 一对多联系(一对多联系(1:n)定义:定义:如果对于实体集如果对于实体集A中的每一个实体,实体中的每一个实体,实体集集B中有中有n个实体(个实体(n0)与之联系,反之,)与之联系,反之,对于实体集对于实体集B中的每一个实
40、体,实体集中的每一个实体,实体集A中至多只有一个实体与之联系,则称中至多只有一个实体与之联系,则称实体实体集集A与实体集与实体集B有一对多联系,记为有一对多联系,记为1:n实例:实例:一个班级中有若干名学生,一个班级中有若干名学生,每个学生只在一个班级中学习每个学生只在一个班级中学习班级班级组成组成学生学生1n1:n联系联系两个实体型之间的联系两个实体型之间的联系 多对多联系(多对多联系(m:n)定义:定义:如果对于实体集如果对于实体集A中的每一个中的每一个实体,实体集实体,实体集B中有中有n个实体(个实体(n0)与之联系,反之,对于实体集与之联系,反之,对于实体集B中的中的每一个实体,实体集
41、每一个实体,实体集A中也有中也有m个实个实体(体(m0)与之联系,则称实体集)与之联系,则称实体集A与实体与实体B具有多对多联系,记为具有多对多联系,记为m:n实例:实例:一门课程同时有若干个学生选修一门课程同时有若干个学生选修一个学生可以同时选修多门课程一个学生可以同时选修多门课程课程课程选修选修学生学生mnm:n联系联系两个以上实体型之间的联系两个以上实体型之间的联系 两个以上实体型之间一对多联系两个以上实体型之间一对多联系若实体集若实体集E1,E2,.,En存在联系,对于存在联系,对于实体集实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和中的给定实体,最多只和E
42、i中的一个实体相中的一个实体相联系,则我们说联系,则我们说Ei与与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的之间的联系是一对多的两个以上实体型之间的联系两个以上实体型之间的联系 实例实例 课程、教师与参考书三个实体型课程、教师与参考书三个实体型一门课程可以有若干个教师讲授一门课程可以有若干个教师讲授使用若干本参考书使用若干本参考书每一个教师只讲授一门课程每一个教师只讲授一门课程每一本参考书只供一门课程使用每一本参考书只供一门课程使用课程课程讲授讲授教师教师1m两个以上实体型间两个以上实体型间1:n联系联系参考书参考书n两个以上实体型之间的联系两个以上实体型之间的联系 两个
43、以上实体型间的多对多联系两个以上实体型间的多对多联系 例:例:供应商、项目、零件三个实体型供应商、项目、零件三个实体型一个供应商可以供给多个项目多种零件一个供应商可以供给多个项目多种零件每个项目可以使用多个供应商供应的零件每个项目可以使用多个供应商供应的零件每种零件可由不同供应商供给每种零件可由不同供应商供给两个以上实体型之间的联系两个以上实体型之间的联系供应商供应商供应供应项目项目mp两个以上实体型间两个以上实体型间m:n联系联系零件零件n单个实体型内的联系单个实体型内的联系 一对多联系一对多联系 实例实例 职工实体型内部具有领导与被领导的职工实体型内部具有领导与被领导的联系联系某一职工(干
44、部)某一职工(干部)“领导领导”若干名职若干名职工工一个职工仅被另外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系 一对一联系一对一联系 请举例请举例职工职工领导领导1n单个实体型内部单个实体型内部1:n联系联系单个实体型内的联系单个实体型内的联系实体型实体型1联系名联系名mn单个实体型内的单个实体型内的m:n联系联系n多对多联系多对多联系E-R图图 实体型实体型用矩形表示,矩形框内写明实体名用矩形表示,矩形框内写明实体名 属性属性用椭圆形表示,并用无向边将其与相应的实体连接起来用椭圆形表示,并用无向边将其与相应的实体连接起来学生学生教师教师学生学生学号学号年
45、龄年龄性别性别姓名姓名E-R图图 联系联系用菱形表示,菱形框内写明联系名,并用无用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(边旁标上联系的类型(1:1、1:n或或m:n) 联系的表示方法联系的表示方法实体型实体型A联系名联系名实体型实体型B111:1联系联系实体型实体型A联系名联系名1n1:n联系联系实体型实体型A实体型实体型B联系名联系名mnm:n联系联系实体型实体型B联系的表示方法示联系的表示方法示:例例班级班级班级班级-班长班长班长班长111:1联系联系课程课程选修选修学生学生mnm:n联系联系班级
46、班级组成组成学生学生1n1:n联系联系联系的属性联系的属性课程课程选修选修学生学生mn成绩成绩n联系的属性:联系的属性:联系本身也是一种实体型,联系本身也是一种实体型,也也 可以有属性可以有属性如果一个联系具有属性,则如果一个联系具有属性,则这些属性也要用无向边与该这些属性也要用无向边与该联系连接起来联系连接起来 例:例:ER图图:实例实例 用用E-R图表示某个工厂物资管理的概念模型图表示某个工厂物资管理的概念模型 实体实体仓库:仓库: 仓库号、面积、电话号码仓库号、面积、电话号码零件零件 :零件号、名称、规格、单价、描述:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号码、
47、帐号供应商:供应商号、姓名、地址、电话号码、帐号项目:项目号、预算、开工日期项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称职工:职工号、姓名、年龄、职称 ER图图:实例实例 实体之间的联系如下:实体之间的联系如下: (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量种零件在某个仓库中的数量(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓
48、库和职工之间是一对多的联系。职工实体型仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系中具有一对多的联系 (3)职工之间具有领导职工之间具有领导-被领导关系。即仓库主任领导若干保管被领导关系。即仓库主任领导若干保管员员(4)供应商、项目和零件三者之间具有多对多的联系供应商、项目和零件三者之间具有多对多的联系ER图图:实例实例经典逻辑数据模型经典逻辑数据模型 经典逻辑数据模型有三类:经典逻辑数据模型有三类:层次模型层次模型(Hierarchical Model) ( (树树) )网状模型网状模型(Network Model) ( (图图) )关系模型关系模型(Relation
49、al Model) ( (表表) ) 各种经典逻辑数据模型之间的区别各种经典逻辑数据模型之间的区别在于在于数据之间联系的表示方式不同数据之间联系的表示方式不同格式化模型格式化模型层次模型层次模型 层次模型是数据库系统中最早出现的数据层次模型是数据库系统中最早出现的数据模型模型 层次数据库系统的典型代表是层次数据库系统的典型代表是IBM公司的公司的IMS(Information Management System)数据库管理系统数据库管理系统 层次模型用层次模型用树形结构树形结构来表示各类实体以及来表示各类实体以及实体间的联系实体间的联系 层次模型的数据结构层次模型的数据结构 记录记录(reco
50、rd)(record) :描述事物或事物间关系的:描述事物或事物间关系的命名的数据单位,也是数据的存储单位命名的数据单位,也是数据的存储单位 字段字段(field)(field) :记录的构成部分:记录的构成部分系系系名系名系号系号系主任名系主任名地点地点图图 记录的型记录的型计算机系计算机系9xxx西一楼西一楼图记录的一个实例图记录的一个实例层次模型的数据结构层次模型的数据结构双亲子女关系(双亲子女关系(PCRPCR)层次数据模型的基本关系,表示两个记录型间的层次数据模型的基本关系,表示两个记录型间的1 1:N N关系。关系。双亲记录双亲记录子女记录子女记录PCRPCR型与型与PCRPCR实