您好,欢迎访问三七文档
第二章数据模型2.1数据模型概述•模型是对现实世界的抽象。•在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。•数据描述的三种范畴–现实世界–信息世界–机器世界两类抽象层次的数据模型•数据模型分为两类(分属两个不同的层次)(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。(2)结构数据模型–逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。–物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。DBMS支持的数据模型概念模型认识抽象信息世界机器世界现实世界中客观对象的抽象过程现实世界现实世界概念模型数据库设计人员完成逻辑模型物理模型由DBMS完成概念模型逻辑模型数据库设计人员完成2.2概念模型(信息模型)•是独立于计算机系统的数据模型。•不涉及信息在计算机中的表示,只用来描述某个特定组织所关心的信息结构,是对现实世界的第一层抽象。•概念模型是按用户的观点对数据建模,强调其语义表达能力,是用户和DB设计人员之间进行交流的语言和工具。2.2.1信息世界中的基本概念(1)实体(Entity)–客观存在并可相互区别的事物称为实体。(2)属性(Attribute)–实体所具有的某一特性称为属性。(3)码(Key)–唯一标识实体的属性集称为码。(4)域(Domain)–属性的取值范围称为该属性的域。(5)实体型(EntityType)–用实体名及其属性名集合来抽象和刻画–同类实体称为实体型(6)实体集(EntitySet)–同型实体的集合称为实体集某公司数据库需求说明:1.公司分若干部门,每个部门有一个名字,一个编号和一个管理该部门的雇员(经理)并记录下该雇员开始管理该部门的日期,一个部门可以分散在几个地点。2.一个部门控制若干项目,每个项目有一个名字,一个编号和一个单独的地点。3.保存每个雇员的名字、社会保险号、地址、工资、性别和出生日期。一个雇员隶属一个部门但可在由不同部门控制的几个项目中工作,要求记录雇员每周在各个项目中工作的时数,并指明其上司。4.保存雇员的所有子女的信息,包括姓名、性别、出生日期及与雇员之间的关系。1.公司分若干部门,每个部门有一个名字,一个编号和一个管理该部门的雇员(经理)并记录下该雇员开始管理该部门的日期,一个部门可以分散在几个地点。2.一个部门控制若干项目,每个项目有一个名字,一个编号和一个单独的地点。3.保存每个雇员的名字、社会保险号、地址、工资、性别和出生日期。一个雇员隶属一个部门但可在由不同部门控制的几个项目中工作,要求记录雇员每周在各个项目中工作的时数。4.保存雇员的所有子女的信息,包括姓名、性别、出生日期及与雇员之间的关系。(7)联系(Relationship)–现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系两类:•实体型内部的联系,即组成实体型的属性之间的联系.•实体型之间的联系,不同实体型内的各个实体之间,同一实体型内各个实体之间2.2.2概念模型的表示方法•概念模型的表示方法很多,但常用的是实体-联系方法•(Entity-RelationshipApproach)–E-R方法建立的模型为E-R模型–特点:直观、自然、语义表现丰富,易于理解,又易于向各种数据模型转换。E-R图。矩形表示实体型。椭圆表示属性。菱形表示联系。无向边表示实体型与相关属性或联系的相连。实体名属性名联系名2.2.3联系的种类1.两类实体型之间的联系a.一对一联系(1:1)例:宿舍里:学生------床位11AB学生床位占用11E-R图:b.一对多联系(1:n)例:宿舍学生1n宿舍学生居住1nABE-R图:c.多对多联系(m:n)例:学生教室mnAB学生教室占用mnE-R图:d.多重联系例:工人-------设备工人设备使用n1(m)维修mnE-R图:2.多个实体型间的联系例:供应商----零件----项目语义:一个供应商可为多个项目供应多种零件一个项目可使用多个供应商供应的多种零件.一种零件可由多个供应商提供给多个项目.项目供应商零件供应mkn3.实体内部的联系•例1:语义:某一职工领导若干职工,而一个职工仅被另一个职工领导.例2:表示一种零件材料单,一种零件由其它多种零件组成,一种零件是其它零件的组成成分.职工领导零件组成1nmn1.公司分若干部门,每个部门有一个名字,一个编号和一个管理该部门的雇员(经理)并记录下该雇员开始管理该部门的日期,一个部门可以分散在几个地点。2.一个部门控制若干项目,每个项目有一个名字,一个编号和一个单独的地点。3.保存每个雇员的名字、社会保险号、地址、工资、性别和出生日期。一个雇员隶属一个部门但可在由不同部门控制的几个项目中工作,要求记录雇员每周在各个项目中工作的时数。4.保存雇员的所有子女的信息,包括姓名、性别、出生日期及与雇员之间的关系。部门项目雇员子女参与受控抚养隶属领导1N1N1NMN1N名字编号地点经理管理开始日期姓名性别出生日期关系名字编号位置负责部门某公司数据库E-R图雇员?部门项目雇员子女参与受控抚养管理领导1N1N1NMN1N名字编号地点管理开始日期姓名性别出生日期关系名字编号地点某公司数据库E-R图周工作时间隶属设计E-R模型的几点说明1)定义与当前和可预见的将来应用有关的实体,属性,联系2)实体有多方面的性质,属性没有.3)实体的属性一定是单值的,若为多值则定义为另一实体,并建立联系.4)联系也可以有属性.2.3结构数据模型2.3.1结构数据模型的组成要素•E.F.Codd指出:一个基本数据模型实质上是一组向用户提供的规则.这组规则规定数据结构如何组织以及相应地允许进行何种操作.–数据结构–数据操作–数据的约束条件数据结构•数据结构用于描述系统的静态特性,研究与数据类型、内容、性质有关的对象,例如关系模型中的域、属性、关系等。数据操作•对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关部门的操作规则。•DB中主要的操作有查询和更新两大类。•数据操作规定了数据模型的动态特性。数据的约束条件•一组完整性规则的集合。•完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化。2.3.2常用数据模型•非关系模型–层次模型(HierarchicalModel)–网状模型(NetworkModel)•关系模型(RelationalModel)•面向对象模型(ObjectOrientedModel)•对象关系模型(ObjectRelationModel)1.层次数据模型满足下面两个条件的基本层次联系的集合为层次模型。1.有且只有一个结点没有双亲结点,这个结点称为根结点2.根以外的其它结点有且只有一个双亲结点R1R2R4R6R3R5层次数据模型E-R模型:学生有系专业教师课程有有开设1n1n1n1n选修mn教师号姓名职称系号系名负责人课号课名学时专业号专业名学号姓名年龄性别系专业教师学生课程层次模型:层次模型的优缺点•优点–层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解–性能优于关系模型,不低于网状模型–层次数据模型提供了良好的完整性支持•缺点–多对多联系表示不自然–对插入和删除操作的限制多–查询子女结点必须通过双亲结点–层次命令趋于程序化典型的层次数据库系统•IMS数据库管理系统–第一个大型商用DBMS–1968年推出–IBM公司研制2.网状数据模型满足下面两个条件的基本层次联系的集合为网状模型。1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。R1R2R3R4R6R5L1L2L3L4L5L6网状数据模型学生宿舍学生教研室系教师网状模型的优缺点•优点–能够更为直接地描述现实世界,如一个结点可以有多个双亲–具有良好的性能,存取效率较高•缺点–结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握–DDL、DML语言复杂,用户不容易使用典型的网状数据库系统•DBTG系统,亦称CODASYL系统–由DBTG提出的一个系统方案–奠定了数据库系统的基本概念、方法和技术–70年代推出•实际系统–CullinetSoftwareInc.公司的IDMS–Univac公司的DMS1100–Honeywell公司的IDS/2–HP公司的IMAGE2.3.3关系模型•最重要的一种数据模型。也是目前主要采用的数据模型•1970年由美国IBM公司SanJose研究室的研究员E.F.Codd提出•在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。一些基本术语关系:关系就是二维表,它满足如下性质:•关系表中的每一列都是不可再分的基本属性。•表中各属性不能重名。•表中的行、列次序并不重要。元组:表中的每一行称作是一个元组,它相当于一个记录值。属性:表中的每一列是一个属性值的集合,列可以命名,称为属性名。域:属性的取值范围。主码:表中的某个属性或者属性组合,其值能唯一的标识一个元组。分量:元组中的一个属性值。关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,属性3,…..)特点:(1)描述的一致性.用关系描述实体和联系.(2)可以直接表示多对多的联系.(3)关系必须是规范化的,即每个表中的每个分量都是不可分的数据.(4)关系模型是建立在数学概念基础上的,有较强的理论根据.关系模型的优缺点优点:(1)与非关系模型不同,它有较强的数学理论根据。(2)数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系。(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。缺点:由于存取路径对用户透明,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。例:学生课程选修mn学号姓名年龄性别所在系9901张力20女计算机9902王明19男计算机学生课号课名学分学时J010DB664J013AI554课程学号课号成绩9901J010869901J013789902J010919902J01382选修关系数据库由来(1)•系统而严格地提出关系模型的是美国IBM公司的E.F.Codd–1923年8月19日生于英格兰中部,当过兵,教过书,在IBM做研究–1948年在牛津大学获数学学士和硕士学位,之后到美国求职,13年后重返大学,在米歇根大学进修计算机与通信,1965年获博士学位–E.F.Codd本性是个数学家,他最大的愿望是为数据库建立一个优美的数学模型–关系数据库之父关系数据库由来(2)•E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970,65pages–ACM(AssociationforComputingMachinery,国际计算机组织)在1983年把该文列为从1958年以来四分之一世纪中具有里程碑式意义的25篇论文之一。–关系模型简单明了。关系数据库由来(3)•两个开创性的原型系统–1974,IBM“SystemR”=SQL–UCBerkely,“Ingres”=QUEL–两系统双双获得ACM的1988年“软件系统奖”关系数据库由来(4)•IBM的故事–1977,IBM完成SystemR原型–1983,IBM推出第一个关系数据库产品(DB2)–IBM产品化步伐缓慢的原因•IBM重视信誉,重视质量,尽量减少故障•IBM是个大公司,官僚体系庞大•IBM内部已经有层次数据库产品,相关人员不积极,甚至反对•错误的技术路线:ProjectEagle(1980),基于IMS建立关系数据库关系数据库由来(5)•Oracle的故事–Oracle前身叫SDL,由LarryEllison和另两
本文标题:第二章-数据模型
链接地址:https://www.777doc.com/doc-5210289 .html