AnIntroductiontoDatabaseSystenm1第二章数据模型数据库系统概论AnIntroductiontoDatabaseSystemAnIntroductiontoDatabaseSystenm2第二章数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是对现实世界的模拟.数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现AnIntroductiontoDatabaseSystenm32.1两大类数据模型客观对象的抽象过程---两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的逻辑模型。由DBMS实现逻辑模型转换为物理模型现实世界信息世界计算机世界概念模型逻辑模型——物理模型AnIntroductiontoDatabaseSystenm4根据数据模型应用的不同目的,将数据模型分为两类:概念模型、逻辑模型和物理模型。第一类的概念模型:即信息模型,是按用户的观点对客观世界的数据和信息建模,主要用于数据库设计。常用实体-联系(E-R)图表示。第十章介绍。第二类的逻辑模型:是按计算机系统的观点,对数据建模。主要用于DBMS的实现。第二类的物理模型:是对数据最底层的抽象。描述数据在存储设备上的存储方式和存取方法。该模型由DBMS实现。AnIntroductiontoDatabaseSystenm52.2数据模型的组成要素数据模型通常通常由以下三部分组成:数据结构数据操作数据的完整性约束条件AnIntroductiontoDatabaseSystenm62.2.1数据结构什么是数据结构数据结构描述数据库的组成对象及对象之间的联系。数据结构描述两类内容:(1)与对象的类型、内容、性质有关。如关系模型中的属性、关系等。(2)对象之间的联系数据结构是对系统静态特性的描述AnIntroductiontoDatabaseSystenm72.2.2数据操作数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则数据操作的类型:查询、插入、删除、修改AnIntroductiontoDatabaseSystenm82.2.3数据的完整性约束条件数据的完整性约束条件完整性约束条件是一组完整性规则的集合。完整性规则是数据模型中对数据及其联系所做的制约和存储规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。AnIntroductiontoDatabaseSystenm92.3主要的逻辑数据模型层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(ObjectOrientedModel)AnIntroductiontoDatabaseSystenm102.4层次模型层次模型是最早出现的数据模型.采用层次模型作为数据的组织方式的数据库系统称为层次数据库系统.现实世界中的很多事物具有层次关系.如:家族关系、行政机构等。AnIntroductiontoDatabaseSystenm112.4.1层次数据模型的数据结构层次模型用树形结构表示各实体及实体间的联系的数据模型称为层次模型.实体(结点)之间的联系用有向线连接.上层结点为父结点或双亲结点。下层结点为子结点或子女结点。学院教研室教师班级学生父结点子结点双亲结点子女结点父结点子结点AnIntroductiontoDatabaseSystenm122.4.3层次模型的优缺点优点层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点表示多对多联系不自然对插入和删除操作的限制多查询子女结点必须通过双亲结点插入、删除和更新操作的限制较多。要满足约束条件,应用程序的编写较复杂。AnIntroductiontoDatabaseSystenm132.5网状模型在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示不方便,用网状模型可以克服此弊端。采用网状模型的数据库系统称为网状数据库系统。AnIntroductiontoDatabaseSystenm142.5.1网状数据模型的数据结构网状模型满足下面两个条件的基本层次联系的集合为网状模型。1.允许一个以上的结点无双亲结点;2.一个结点可以有多于一个的双亲结点。AnIntroductiontoDatabaseSystenm15网状数据模型的数据结构R1R2R3L1L2R1R2L3L1L2R3L4R4R5AnIntroductiontoDatabaseSystenm16网状数据模型的数据结构(续)学生宿舍学生教研室学院教师住宿在读设有属于举例AnIntroductiontoDatabaseSystenm172.5.3网状模型的优缺点优点能够更为直接地描述现实世界如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比较复杂。随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握DDL、DML语言复杂,用户不容易使用AnIntroductiontoDatabaseSystenm182.6关系模型关系模型是目前最常用的一种数据模型。是最重要的一种数据模型,也是目前主要采用的数据模型1970年由美国IBM公司SanJose研究室的研究员E.F.Codd提出是本课程的重点采用关系模型的数据库系统称为关系数据库系统。AnIntroductiontoDatabaseSystenm192.6.1关系数据模型的数据结构在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。同一列的值取自同一定义域.学生登记表学号姓名年龄性别系名年级95004王小明19女社会学9595006黄大鹏20男商品学9595008张文斌18女法律学95………………表名表头数据记录列名AnIntroductiontoDatabaseSystenm20关系模型由一组关系组成。每个关系是一张二维表。一个关系有:关系名——表名关系模式——表头关系实例——数据例:学生登记表关系模式:学生登记表(学号,姓名,性别,…)关系实例:07004,王小明,女,…06021,张天,男,…AnIntroductiontoDatabaseSystenm21关系模型的基本概念关系(Relation)一个关系对应通常说的一张表。元组(Tuple)表中的一行记录即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。AnIntroductiontoDatabaseSystenm22关系模型的基本概念主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)即定义域,是属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,…,属性n)如学生(学号,姓名,年龄,性别,系,年级)AnIntroductiontoDatabaseSystenm23关系数据模型的数据结构(续)实体及实体间的联系的表示方法实体型:直接用关系(表)表示。属性:用属性名表示。一对一联系:隐含在实体对应的关系中。一对多联系:隐含在实体对应的关系中。多对多联系:直接用关系表示。AnIntroductiontoDatabaseSystenm24关系数据模型的数据结构(续)例1学院与学生之间的联系是一对多,表示联系:将一方的主码纳入多方学生(学号,姓名,年龄,性别,学院号,年级)学院(学院号,学院名,办公地点)例2学院与院长之间的联系:是一对一表示联系:将一方的主码纳入另一方。学院(学院号,学院名,办公地点)院长(院长编号,姓名,性别,学院号)AnIntroductiontoDatabaseSystenm25关系数据模型的数据结构(续)例3学生、课程实体学生与课程之间的联系:多对多表示联系:用“选修”关系来表示:包含双方实体的主码,还有自己的属性。学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩)AnIntroductiontoDatabaseSystenm26关系数据模型的数据结构(续)关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。下表不符合关系模型要求:工资扣除职工号姓名职称基本工龄职务房租水电实发86051陈平讲师1059.515612115.5...........................AnIntroductiontoDatabaseSystenm272.6.2关系模型的数据操纵与完整性约束数据操作:查询、插入、删除、修改AnIntroductiontoDatabaseSystenm28关系模型的完整性约束完整性约束条件有以下三类:实体完整性参照完整性用户定义的完整性AnIntroductiontoDatabaseSystenm292.6.3关系模型的优缺点优点建立在严格的数学概念的基础上概念单一。数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。对数据的检索结果也是关系。具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作AnIntroductiontoDatabaseSystenm30关系模型的优缺点(续)缺点查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度AnIntroductiontoDatabaseSystenm31下课了。。。追求休息一会儿。。。