《第一章 数据库系统基础知识(下)--李辉》由会员分享,可在线阅读,更多相关《第一章 数据库系统基础知识(下)--李辉(50页珍藏版)》请在金锄头文库上搜索。
1、数据库技术与应用数据库技术与应用第第1章章 数据库系统基础知识(数据库系统基础知识(2)2. 概念模型的表示方法概念模型的表示方法很多,最常用的是E-R方法实体联系方法(E-R方法)l用E-R图来描述现实世界的概念模型lE-R方法也称为E-R模型E-R图实体型l用矩形表示,矩形框内写明实体名。学生学生教师教师E-R图(续)属性l用椭圆形表示,并用无向边将其与相应的实体连接起来学生学生学号学号年龄年龄性别性别姓名姓名E-R图(续)联系l联系本身:用用菱形表示,菱形框内写明联系名,表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向并用无向边分别与有关实体连接起来,同时在无向边旁
2、标上联系的类型(边旁标上联系的类型(1:1、1:n或或m:n) l联系的属性:联系本身也是一种实体型,也可以联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来用无向边与该联系连接起来 联系的表示方法实体型实体型1联系名联系名实体型实体型2111:1联系联系实体型实体型1联系名联系名实体型实体型2mnm:n联系联系实体型实体型1联系名联系名实体型实体型21n1:n联系联系联系的表示方法示例班级班级班级班级-班长班长班长班长111:1联系联系课程课程选修选修学生学生mnm:n联系联系班级班级组成组成学生学生
3、1n1:n联系联系联系的表示方法示例(续)职工职工领导领导1n同一实体型内同一实体型内部的部的1:n联系联系课程课程讲授讲授教师教师1m多个实体型间的多个实体型间的1:n联系联系参考书参考书n联系属性的表示方法课程课程选修选修学生学生mn成绩成绩 1.2.2 数据模型的组成要素数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。数据模型有三部分组成l数据结构 l数据操作 l数据的约束条件 1. 数据结构什么是数据结构l对象类型的集合两类对象l与数据类型、内容、性质有关的对象l与数据之间联系有关的对象数据结构是对系统静态特性的描述 2.数据操作 数据
4、操作l对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则数据操作的类型l检索l更新(包括插入、删除、修改) 数据操作(续) 数据模型对操作的定义l操作的确切含义l操作符号l操作规则(如优先级)l实现操作的语言数据操作是对系统动态特性的描述。 3.数据的约束条件 数据的约束条件l一组完整性规则的集合。一组完整性规则的集合。l完整性规则是给定的数据模型中数据及完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、态的变化,以保证数据的
5、正确、有效、相容相容。 1.2.3 基本数据模型非关系模型l层次模型(层次模型(Hierarchical Model)l网状模型网状模型(Network Model )l数据结构:以基本层次联系为基本单位 基基本本层层次次联联系系:两两个个记记录录以以及及它它们们之之间间的的一一对对多多(包括一对一(包括一对一)的联系的联系基本数据模型(续)关系模型(Relational Model) l数据结构:表面 向 对 象 模 型 (Object Oriented Model)l数据结构:对象 1、层次模型层次数据模型层次模型是数据库系统中最早出现的数据模型,它用树形结构表示各类实体以及实体间的联系。
6、现实世界中许多实体之间的联系本来就呈现出一种很自然的层次关系,如行政机构、家族关系等。层次数据模型实例层次模型的优缺点优点l层层次次数数据据模模型型简简单单,对对具具有有一一对对多多的的层层次次关系的部门描述自然、直观,容易理解关系的部门描述自然、直观,容易理解l性能优于关系模型,不低于网状模型性能优于关系模型,不低于网状模型l层次数据模型提供了良好的完整性支持层次数据模型提供了良好的完整性支持缺点l多对多联系表示不自然多对多联系表示不自然l对插入和删除操作的限制多对插入和删除操作的限制多l查询子女结点必须通过双亲结点查询子女结点必须通过双亲结点l层次命令趋于程序化层次命令趋于程序化典型的层次
7、数据库系统IMS数据库管理系统l第一个大型商用第一个大型商用DBMSl1968年推出年推出lIBM公司研制公司研制2、网状数据模型网状数据模型在现实世界中实体型间的联系更多的是非层次关系,用层次模型表示非树形结构是很不直接的,采用网状模型作为数据的组织方式可以克服这一弊病。网状模型去掉了层次模型的两个限制,允许节点有多个双亲节点,允许多个节点没有双亲节点。网状数据模型的一个简单实例网状模型的优缺点优点l能能够够更更为为直直接接地地描描述述现现实实世世界界,如如一一个个结结点点可可以以有有多个双亲多个双亲l具有良好的性能,存取效率较高具有良好的性能,存取效率较高缺点l结构比较复杂,而且随着应用环
8、境的扩大,数据库结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握的结构就变得越来越复杂,不利于最终用户掌握lDDL、DML语言复杂,用户不容易使用语言复杂,用户不容易使用网状数据模型层次数据模型和网状数据模型都是早期的数据库数据模型数据库系统与文件系统的主要区别就是前者不仅定义数据的存储而且还定义存储数据之间的联系所谓“层次”和“网状”就是指这种联系的方式。3、关系模型最重要的一种数据模型。也是目前主要采用的数据模型1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出本课程的重点关系数据模型在用户观点下,关系模型中数据的逻辑结构是一
9、张二维表,它由行和列组成。关系模型的优点(1)关系模型建立在严格的数学概念的基础上。它以关系代数和数理逻辑为基础,经过多年发展,形成了严密的关系数据库理论。(2)关系模型的概念单一,数据结构简单、清晰,用户易懂易用。无论实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是关系(即表)。(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建设的工作。关系模型的缺点关系模型的主要缺点是,由于存取路径对用户透明,查询效率往往不如非关系数据模型。为了提高性能,DBMS必须对用户的查询请求进行优化,这势必增加了开发DBMS的难度。面
10、向对象的数据模型关系模型还不能充分表达现实世界中存在的许多复杂的数据结构,如CAD数据、图形数据、嵌套递归的数据等。面向对象模型用面向对象观点来描述现实世界中的事物(对象)的逻辑结构和对象间的联系等的数据模型,与人类的思维方式更接近。所谓对象是对现实世界事物的高度抽象,每个对象是状态和行为的封装。对象的状态是属性的集合,行为是在该对象上操作的方法的集合。面向对象的模型不仅可以处理各种复杂多样的数据结构,而且具有数据与行为相结合的特点。目前面向对象的方法已经逐渐成为系统开发、设计的全新思路。面向对象的数据模型面向对象模型能完整地描述现实世界的数据结构,具有丰富的表达能力,但模型相对复杂,涉及的知
11、识面广,实现有一定难度。用面向对象模型组织的数据库称为面向对象数据库。目前,面向对象还未达到关系数据库那样的普及程度。在当前信息处理技术中,关系数据模型仍然是数据库数据模型的主流,即使使用面向对象的模型也往往采用关系数据模型的方法和工具。1.3 数据库系统结构与数据库打交道的有四类人员:l用户、应用程序员、系统分析员和数据库管理员。由于他们对数据库的认识、理解和接触范围的不同,他们观察、认识和理解数据的范围、角度和方法也各不相同,从而形成了各自的数据库视图。根据各类人员与数据库的不同关系,可把视图分为三种:l即对应于用户和应用程序员的外部视图、l对应于系统分析员和数据库管理员的逻辑视图l对应于
12、数据库管理员的内部视图。由此形成数据库的三级模式结构,即外模式、逻辑模式和内模式1.3.1数据库系统的三级模式结构1. 外模式(External Schema)外模式(也称子模式或用户模式)l数数据据库库用用户户(包包括括应应用用程程序序员员和和最最终终用用户户)使用的使用的局部局部数据的逻辑结构和特征的描述数据的逻辑结构和特征的描述l数数据据库库用用户户的的数数据据视视图图,是是与与某某一一应应用用有有关关的数据的逻辑表示的数据的逻辑表示外模式(续)外模式的地位:介于模式与应用之间l模式与外模式的关系:一对多模式与外模式的关系:一对多外模式通常是模式的子集外模式通常是模式的子集一一个个数数据
13、据库库可可以以有有多多个个外外模模式式。反反映映了了不不同同的的用用户户的的应应用需求、看待数据的方式、对数据保密的要求用需求、看待数据的方式、对数据保密的要求对对模模式式中中同同一一数数据据,在在外外模模式式中中的的结结构构、类类型型、长长度度、保密级别等都可以不同保密级别等都可以不同l外模式与应用的关系:一对多同同一一外外模模式式也也可可以以为为某某一一用用户户的的多多个个应应用用系系统统所所使使用用,但一个应用程序只能使用一个外模式但一个应用程序只能使用一个外模式。外模式(续)外模式的用途保证数据库安全性的一个有力措施。保证数据库安全性的一个有力措施。每每个个用用户户只只能能看看见见和和
14、访访问问所所对对应应的的外外模模式式中中的的数据数据2模式(Schema)模式(也称逻辑模式)l数据库中全体数据的逻辑结构和特征的描述数据库中全体数据的逻辑结构和特征的描述l所有用户的公共数据视图,综合了所有用户的需求所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层l与数据的物理存储细节和硬件环境无关与数据的物理存储细节和硬件环境无关l与具体的应用程序、开发工具及高级程序设计语言无关与具体的应用程序、开发工具及高级程序设计语言无关模式的定义l数据的逻辑结构(数据项的名字、类型、取值范围等)数据的逻辑结构(数据项的名字、类型、取值范围等)
15、l数据之间的联系数据之间的联系l数据有关的安全性、完整性要求数据有关的安全性、完整性要求3内模式(Internal Schema)内模式(也称存储模式)l是数据物理结构和存储方式的描述是数据物理结构和存储方式的描述l是数据在数据库内部的表示方式是数据在数据库内部的表示方式记记录录的的存存储储方方式式(顺顺序序存存储储,按按照照B树树结结构存储,按构存储,按hash方法存储)方法存储)索引的组织方式索引的组织方式数据是否压缩存储数据是否压缩存储数据是否加密数据是否加密数据存储记录结构的规定数据存储记录结构的规定一个数据库只有一个内模式1.3.2 数据库的二级映射(映像)功能与数据独立性三级模式是
16、对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换数据库系统的三级模式结构与二级映射的关系1外模式模式映射定义外模式与模式之间的对应关系每一个外模式都对应一个外模式模式映射映射定义通常包含在各自外模式的描述中外模式模式映射的用途保证数据的逻辑独立性l当当模模式式改改变变时时,数数据据库库管管理理员员修修改改有有关关的的外外模式模式映射,使外模式保持不变模式模式映射,使外模式保持不变l应应用用程程序序是是依依据据数数据据的的外外模模式式编编写写的的,从从而而应应用用程程序序不不必必修修改改,保保证证了了数数据据与与程程序序的的逻逻辑独立性,简称数据的逻辑独立性辑独立性,简称
17、数据的逻辑独立性。2模式内模式映射模式内模式映射定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的数据库中模式内模式映射是唯一的该映射定义通常包含在模式描述中模式内模式映射的用途保证数据的物理独立性l当当数数据据库库的的存存储储结结构构改改变变了了(例例如如选选用用了了另另一一种种存存储储结结构构),数数据据库库管管理理员员修修改改模模式内模式映象,使模式保持不变式内模式映象,使模式保持不变l应应用用程程序序不不受受影影响响。保保证证了了数数据据与与程程序序的的物理独立性,简称数据的物理独立性。物理独立性,简称数据的物理独立性。小结模式l是数据库的中心与
18、关键l独立于数据库的其它层次l设计数据库模式结构时应首先确定数据库的逻辑模式小结(续)内模式l依赖于全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。l它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。小结(续)外模式l面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备l设计外模式时应充分考虑到应用的扩充性。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动小结(续)应用程序l在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。l不同的应用程序有时可以共用同一个外模式。小结(续)二级映象l保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。l数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。l由于数据的存取由DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改方面的工作。第1章 结束休息一下。