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