《02_数据模型.ppt》由会员分享,可在线阅读,更多相关《02_数据模型.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据模型单世民Ssm基本概念模型数学模型Ssm基本概念数据模型现实世界数据特征的抽象Ssm数据模型在数据库中,数据模型被用来对现实世界中的数据和信息进行抽象抽象、表示表示和处理处理。数据模型是用户对现实世界的视图与计算机存储的二进制数据的桥梁数据模型是数据库系统的核心和基础Ssm数据模型数据模型应满足三方面要求:能比较真实地模拟现实世界容易为人所理解便于在计算机上实现Ssm数据模型数据模型的组成要素数据模型的组成要素数据结构数据结构描述数据库的组成对象以及对象之间的联系,是刻画数据模型性质最重要的方面(按数据结构命名数据模型),是对系统静态特性的表述。数据操作数据操作指该数据结构上的各种实例允
2、许操作的集合,包括相关的操作规则,是对系统动态特性的描述数据的约束条件数据的约束条件一组完整性约束的集合。是给定的数据模型中数据及其联系所具有的约束和依存规则,用以限定符合数据模型的数据,保证数据的正确、有效、相容。数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件,也应该提供定义完整性约束条件的机制。Ssm数据模型什么是数据结构?对象类型的集合两类对象与数据类型、内容、性质有关的对象与数据之间联系有关的对象Ssm数据模型概念模型概念模型逻辑模型逻辑模型物理模型物理模型信信息息世世界界机机器器世世界界Ssm概念模型概念模型是现实世界到数据模型的一个中间层次,用于信息世界建模,
3、是数据库设计的有力工具,是数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解。客观对象的抽象过程-两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。Ssm概念模型基本概念:实体、属性、码、域、实体型、实体集、联系实体集(Entity set):同型实体的集合联系(Relationship):不同实体间的联系一对多一对一多对多Ssm概念模型实体实体(Entity)客观存在并可相互区别的事物称为实体,可以是具体的人、事、物或抽象的概念。属性属性(Attribute)实体
4、所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。码码(Key)唯一标识实体的属性集称为码Ssm概念模型域域(Domain)属性的取值范围称为该属性的域。实体型实体型(Entity Type)用实体名及其属性名集合来抽象和刻画,同类实体称为实体型实体集实体集(Entity Set)同型实体的集合称为实体集Ssm概念模型联系联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系 两个实体型 一对一联系(1:1)三个实体型 一对多联系(1:n)一个实体型 多对多联系(m:n)Ssm概念模型一对一联系 如果对于实体集A
5、中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。实例:班级与班长之间的联系:一个班级只有一个正班长一个班长只在一个班中任职Ssm概念模型一对多联系如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n实例:班级与学生之间的联系:一个班级中有若干名学生,每个学生只在一个班级中学习Ssm概念模型多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每
6、一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n实例课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程Ssm概念模型多个实体型间的一对多联系若实体集E1,E2,.,En存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的。实例:课程、教师与参考书三个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用课程与教师、参考书之间
7、的联系是一对多的多个实体型间的一对一联系多个实体型间的多对多联系Ssm概念模型同一实体集内各实体间的联系一对多联系实例职工实体集内部具有领导与被领导的联系某一职工(干部)“领导”若干名职工一个职工仅被另外一个职工直接领导一对一联系多对多联系Ssm概念模型概念模型的表示Entity-Relation图实体-联系模型(简称E-R模型)基于对现实世界这样一种认识:世界是由一组称作世界是由一组称作实体的基本对象及这些对象间的联系组成。实体的基本对象及这些对象间的联系组成。因此,E-R模型是一种语义模型,其语义主要体现在模型力图去表达数据的意义。Ssm概念模型为什么要学习ER图进行数据库设计的有力工具数
8、据库人员与用户进行交互的工具表达能力较强,能方便、直接地表达各种语义知识简单、清晰、易于用户理解Ssm概念模型客户名客户名客户客户SSN客户街道客户街道客户城市客户城市借款借款贷款贷款数额数额贷款编号贷款编号1nER图示例图示例p.p.s.chen The entity-relationship model-toward a unified view of data.ACM transaction on database systems,1(1):9-36,1976Ssm概念模型ER模型基本概念实体:实体是现实世界中可区别于其他对象的“事件”或“物体”。每个实体有一组性质,其中一部分性质的取值
9、可以唯一地标识实体。例如:张三、宝马、一笔贷款、登山活动实体集:实体集是具有相同类型及相同性质(或属性)的实体集合。例:学生、机动车、贷款、体育活动Ssm概念模型ER模型基本概念属性是实体集中每个成员(实体)具有的描述性性质。例如:人的身高、机动车的排量、贷款的金额实体集的属性是将实体集中的实体映射到属性域的函数例:张三的年龄为18岁 李四的年龄为40岁 的年龄为岁Ssm概念模型ER模型基本概念属性的划分描述实体集的属性可以根据组成、取值和导出关系简单地划分为以下几类简单属性/复合属性单值属性/多值属性派生属性Ssm概念模型ER模型基本概念简单属性不能再划分为更小的部分(即别的属性)的属性;复
10、合属性可以再划分为别的属性的属性。复合属性可以将相关属性聚集起来,使模型更加清晰例:住址=省+市+县+街道Ssm概念模型ER模型基本概念单值属性对一个特定的实体而言一个属性只有单独的一个值多值属性对某个特定的实体来说,一个属性可能对应一组值Ssm概念模型ER模型基本概念各个属性在实体集中的地位是不一样的码属性与非码属性例:学生的学号与籍贯超码是一个或多个属性的集合,该组合可以在该实体集中唯一标识一个实体。候选码它的任意真子集都不能成为超码。(最小超码)主码被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码。Ssm概念模型ER模型基本概念派生属性这类属性的值可以从别的相关属性或实体派生
11、出来例:假设实体集employee有两个属性hiredate和employment-duration分别表示银行员工参加工作的时间和在银行工作的年限,那么employment-duration的值可以由hiredate和当前日期得到。在这里,hiredate称为基属性或存储属性。Ssm概念模型ER模型基本概念联系集联系是多个实体间的相互关联,联系集是同类联系的集合例:选课 学生可以选不同的课程联系两个实体:学生、课程张三选课李四选课联系集的元与度(方程里的元与次)Ssm概念模型ER模型基本概念联系集的标识一对一的联系:任一实体的主码一对多的联系:取基数多的实体的主码多对多的联系:取两个实体的主
12、码联合联系集也可能具有描述性属性。例:借书联系中的借书时间Ssm概念模型ER图基本概念矩形:表示实体型椭圆:表示属性,加下划线表示是主码属性菱形:表示联系集线段:将属性连接到实体集或将实体集连到联系集双椭圆:表示多值属性虚椭圆:表示派生属性Ssm概念模型带有角色标识的E-R图员工员工员工号员工号电话电话姓名姓名领导领导1n领导者领导者被领导者被领导者Ssm概念模型包含三元关系的ER图供应商供应商零件零件项目项目供应供应nmpSsm概念模型带有属性的联系集ER图供应商供应商零件零件项目项目供应量供应量供应供应nmpSsm概念模型带多值属性与导出属性的ER图员工员工员工号员工号工作年限工作年限姓名
13、姓名雇佣时间雇佣时间电话电话Ssm逻辑模型数据库领域中最常用的逻辑数据模型:层次模型(Hierarchical Model)网状模型(Network Model)关系模型(Relation Model)面向对象的模型(Object Oriented Model)对象关系模型(Object Relational Model)Ssm逻辑模型层次模型最早出现的数据模型,层次数据库采用层次模型作为数据的组织方式以树型结构表示各类实体及实体间的联系,满足下面两个条件的基本层次联系的集合为层次模型有且仅有一个节点没有双亲节点,即根结点根结点以外的其他节点有且只有一个双亲节点层次模型中,每个节点表示一个记录
14、类型,每个记录类型可包含若干字段。层次模型的一个基本特点:任何一个给定的记录值只有按其路径查看时,才能显示出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。代表系统IMS(information management system),IBM,1968Ssm逻辑模型层次数据库示例信息楼信息楼计算机计算机D02系系数据库数据库R01信息系统信息系统R02网络网络R01教研室教研室E2101王大明王大明数据库数据库E1709冯玲冯玲数据仓库数据仓库E2101孟永孟永并行数据库并行数据库教员教员E1101陈良陈良网络安全网络安全E1809张豪张豪网络管理网络管理S6387文继荣文继荣数据
15、库数据库S3409刘华刘华数据仓库数据仓库S4501张孝张孝并行数据库并行数据库学生学生教员学生数据库教员学生数据库Ssm逻辑模型层次模型多对多联系在层次模型中如何表达冗余节点虚拟节点层次模型的特点优点数据结构简单清晰查询效率性能好良好的完整性支持缺点对于非层次性联系(如多对多联系)表示麻烦一个节点具有多个双亲时,表示麻烦,对插入、删除的限制较多,程序编写复杂查询子女节点必须通过双亲节点结构严谨、层次命令程序化Ssm逻辑模型网状模型现实世界中事物之间更多的联系是非层次的,用层次模型表示非树形结构很不直接,网状模型可以克服这一弊病。代表系统:DBTG系统,亦称CODASYL系统Ssm逻辑模型网状
16、模型数据库中,把满足以下两个条件的基本联系集合称为网状模型:允许一个以上的节点无双亲一个节点可以有多于一个的双亲网状模型是比层次模型更普遍的模型网状数据库:是采用网状模型作为数据的组织方式。Ssm逻辑模型网状数据模型示例学号学号姓名姓名系别系别课程号课程号课程名课程名学分学分学号学号课程号课程号成绩成绩学生学生课程课程选课选课Ssm逻辑模型网状模型优点:更为直接描述现实世界具有良好的性能,存取效率较高缺点结构复杂。应用越复杂,数据结构就更复杂,不利于最终用户掌握网状模型的DDL、DML语言复杂,并且要求嵌入到某一高级语言(如C)中。不易掌握,不易使用Ssm逻辑模型关系模型1970,IBM的E.
17、F.Codd首次提出了关系模型。1981年获得图灵奖。20世纪80年代以来,关系数据库一统天下。关系模型建立在严格的数学概念的基础上,其数学基础是关系代数离散数学:集合,笛卡尔积,映射、关系数据的逻辑结构是一张二维表,由行列组成学号姓名年龄性别系别年级200001王小明19女社会学2000200081黄大鹏20男计算机2000200030张文斌18男法律系2000Ssm逻辑模型关系模型的基本概念关系关系关系关系(Relation)一个关系对应通常说的一张表。元组元组元组元组(Tuple)表中的一行即为一个元组。属性属性属性属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称
18、即属性名。Ssm逻辑模型关系模型的基本概念主码主码主码主码(Key)表中的某个属性组,它可以唯一确定一个元组。域域域域(Domain)属性的取值范围。分量分量分量分量元组中的一个属性值。关系模式关系模式关系模式关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级)Ssm逻辑模型实体及实体间的联系的表示方法实体型:直接用关系(表)表示。属性:用属性名表示。联系一对一联系:隐含在实体对应的关系中。一对多联系:隐含在实体对应的关系中。多对多联系:直接用关系表示。Ssm逻辑模型例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系
19、号,系名,办公地点)例2系、系主任、系与系主任间的一对一联系例3学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩)Ssm逻辑模型关系模型的数据操纵查询、插入、删除、更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”Ssm逻辑模型关系模型的完整性约束实体完整性参照完整性用户定义的完整性Ssm物理模型关系数据模型的存储结构表一般以文件形式存储有的DBMS一个表对应一个操作系统文件有的DBMS自己设计文件结构Ssm逻辑模型关系模型优点建立在严格的数学概念的基础上概念单一,数据结构简单、清晰,用户易懂易用存取路径对用户透明,用户不用关心。具有更高的数据独立性,更好的安全保密性,简化了程序开发工作。缺点查询效率不如非关系数据模型,而对查询请求进行优化增加系统的负担Ssm小结模型数据模型概念模型基本概念 实体,属性,码,域,实体型,实体集,联系E-R模型逻辑模型层次模型网状模型关系模型物理模型Ssm
限制150内