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