《数据模型与结构数据模型37655.pptx》由会员分享,可在线阅读,更多相关《数据模型与结构数据模型37655.pptx(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章 数据模型2.1 数据模型概述模型是对现实世界的抽象。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。数据描述的三种范畴现实世界信息世界机器世界 两类抽象层次的数据模型 数据模型分为两类(分属两个不同的层次)(1)概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。(2)结构数据模型 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。DBMS支持的数据模型支持的数据模型概念模型概
2、念模型认识认识 抽象抽象信息世界信息世界机器世界机器世界现实世界中客观对象的抽象过程现实世界中客观对象的抽象过程现实世界现实世界现实世界现实世界 概念模型概念模型 数据库设计人员完成数据库设计人员完成逻辑模型逻辑模型 物理模型物理模型 由由DBMS完成完成概念模型概念模型 逻辑模型逻辑模型 数据库设计人员完成数据库设计人员完成2.2 概念模型(信息模型)是独立于计算机系统的数据模型。不涉及信息在计算机中的表示,只用来描述某个特定组织所关心的信息结构,是对现实世界的第一层抽象。概念模型是按用户的观点对数据建模,强调其语义表达能力,是用户和DB设计人员之间进行交流的语言和工具。2.2.1 信息世界
3、中的基本概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。(2)属性(Attribute)实体所具有的某一特性称为属性。(3)码(Key)唯一标识实体的属性集称为码。(4)域(Domain)属性的取值范围称为该属性的域。(5)实体型(Entity Type)用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6)实体集(Entity Set)同型实体的集合称为实体集某公司数据库需求说明:1.公司分若干部门,每个部门有一个名字,一个编号和一个管理该部门的雇员(经理)并记录下该雇员开始管理该部门的日期,一个部门可以分散在几个地点。2.一个部门控制若干项目,每个项目有一个名字,一个
4、编号和一个单独的地点。3.保存每个雇员的名字、社会保险号、地址、工资、性别和出生日期。一个雇员隶属一个部门但可在由不同部门控制的几个项目中工作,要求记录雇员每周在各个项目中工作的时数,并指明其上司。4.保存雇员的所有子女的信息,包括姓名、性别、出生日期及与雇员之间的关系。1.公司分若干部门,每个部门有一个名字,一个编号和一个管理该部门的雇员(经理)并记录下该雇员开始管理该部门的日期,一个部门可以分散在几个地点。2.一个部门控制若干项目,每个项目有一个名字,一个编号和一个单独的地点。3.保存每个雇员的名字、社会保险号、地址、工资、性别和出生日期。一个雇员隶属一个部门但可在由不同部门控制的几个项目
5、中工作,要求记录雇员每周在各个项目中工作的时数。4.保存雇员的所有子女的信息,包括姓名、性别、出生日期及与雇员之间的关系。(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系两类:实体型内部的联系,即组成实体型的属性之间的联系.实体型之间的联系,不同实体型内的各个实体之间,同一实体型内各个实体之间2.2.2 概念模型的表示方法概念模型的表示方法很多,但常用的是实体联系方法 (Entity-Relationship Approach)E-R方法建立的模型为E-R模型特点:直观、自然、语义表现丰富,易于理解,又易于向各种数据模型
6、转换。E-R图。矩形表示实体型 。椭圆表示属性 。菱形表示联系。无向边表示实体型与相关属性或联系的相连。实体名实体名 属性名属性名联系名联系名2.2.3 联系的种类1.两类实体型之间的联系 a.一对一联系(1:1)例:宿舍里:学生-床位 1 1 A B学生学生床位床位占用占用11E-RE-R图图:b.一对多联系(1:n)例:宿舍 学生 1 n宿舍宿舍学生学生居住居住1n A BE-RE-R图图:c.多对多联系(m:n)例:学生 教室 m nAB学生学生教室教室占用占用mnE-RE-R图图:d.多重联系 例:工人-设备工人工人设备设备使用使用n n1(m)1(m)维修维修m mn nE-R图图:
7、2.多个实体型间的联系例:供应商-零件-项目语义:一个供应商可为多个项目供应多种零件 一个项目可使用多个供应商供应的多种零件.一种零件可由多个供应商提供给多个项目.项目项目供应商供应商零件零件供应供应mkn3.实体内部的联系例1:语义:某一职工领导若干职工,而一个职工仅被另一个职工领导.例2:表示一种零件材料单,一种零件由其它多种零件组成,一种零件是其它零件的组成成分.职工职工领导领导零件零件组成组成1nmn1.公司分若干部门,每个部门有一个名字,一个编号和一个管理该部门的雇员(经理)并记录下该雇员开始管理该部门的日期,一个部门可以分散在几个地点。2.一个部门控制若干项目,每个项目有一个名字,
8、一个编号和一个单独的地点。3.保存每个雇员的名字、社会保险号、地址、工资、性别和出生日期。一个雇员隶属一个部门但可在由不同部门控制的几个项目中工作,要求记录雇员每周在各个项目中工作的时数。4.保存雇员的所有子女的信息,包括姓名、性别、出生日期及与雇员之间的关系。部门部门项目项目雇员雇员子女子女参与参与受控受控抚养抚养隶属隶属领导领导1N1N1NMN1N名字名字 编号编号 地点地点经理经理管理开始日期管理开始日期姓名姓名性别性别出生日期出生日期关系关系名字名字编号编号位置位置负责部门负责部门某公司数据库某公司数据库E-RE-R图图雇员雇员?部门部门项目项目雇员雇员子女子女参与参与受控受控抚养抚养
9、管理管理领导领导1N1N1NMN1N名字名字 编号编号 地点地点管理开始管理开始日期日期姓名姓名性别性别出生日期出生日期关系关系名字名字编号编号 地点地点某公司数据库某公司数据库E-RE-R图图周工作时间周工作时间隶属隶属设计E-R模型的几点说明1)定义与当前和可预见的将来应用有关的实体,属性,联系2)实体有多方面的性质,属性没有.3)实体的属性一定是单值的,若为多值则定义为另一实体,并建立联系.4)联系也可以有属性.2.3 结构数据模型2.3.1结构数据模型的组成要素E.F.Codd指出:一个基本数据模型实质上是一组向用户提供的规则.这组规则规定数据结构如何组织以及相应地允许进行何种操作.数
10、据结构 数据操作 数据的约束条件 数据结构 数据结构用于描述系统的静态特性,研究与数据类型、内容、性质有关的对象,例如关系模型中的域、属性、关系等。数据操作 对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关部门的操作规则。DB中主要的操作有查询和更新两大类。数据操作规定了数据模型的动态特性。数据的约束条件 一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化。2.3.2 常用数据模型非关系模型层次模型(Hierarchical Model)网状模型(Network Model)关系模型(Re
11、lational Model)面向对象模型(Object Oriented Model)对象关系模型(Object Relation Model)1.层次数据模型 满足下面两个条件的基本层次联系的集合为层次模型。1.有且只有一个结点没有双亲结点,这个结点称为根结点2.根以外的其它结点有且只有一个双亲结点R1R1R2R2R4R4R6R6R3R3R5R5层次数据模型E-R模型模型:学生学生有有系系专业专业教师教师课程课程有有有有开设开设1n1n1n1n选修选修mn教师号教师号 姓名姓名 职称职称 系号系号 系名系名 负责人负责人课号课号 课名课名 学时学时专业号专业号 专业名专业名学号姓名年龄性别
12、学号姓名年龄性别系系专业专业教师教师学生学生课程课程层次模型层次模型:层次模型的优缺点优点层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点多对多联系表示不自然对插入和删除操作的限制多查询子女结点必须通过双亲结点层次命令趋于程序化典型的层次数据库系统IMS数据库管理系统第一个大型商用DBMS1968年推出IBM公司研制2.网状数据模型满足下面两个条件的基本层次联系的集合为网状模型。1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。R1R2R3R4R6R5L1L2L3L4L5L6网状数据模型学
13、生宿舍学生宿舍学生学生教研室教研室系系教师教师网状模型的优缺点优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握DDL、DML语言复杂,用户不容易使用典型的网状数据库系统DBTG系统,亦称CODASYL系统由DBTG提出的一个系统方案奠定了数据库系统的基本概念、方法和技术70年代推出实际系统Cullinet Software Inc.公司的 IDMSUnivac公司的 DMS1100Honeywell公司的IDS/2HP公司的IMAGE2.3.3 关系模型最重要的一种数据
14、模型。也是目前主要采用的数据模型1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。一些基本术语关系:关系就是二维表,它满足如下性质:关系表中的每一列都是不可再分的基本属性。关系表中的每一列都是不可再分的基本属性。表中各属性不能重名。表中各属性不能重名。表中的行、列次序并不重要。表中的行、列次序并不重要。元组:表中的每一行称作是一个元组,它相当于一个记录值。属性:表中的每一列是一个属性值的集合,列可以命名,称为属性名。域:属性的取值范围。主码:表中的某个属性或者属性组合,其值能唯一的标识一个元组。分量:
15、元组中的一个属性值。关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,属性3,.)特点:(1)描述的一致性.用关系描述实体和联系.(2)可以直接表示多对多的联系.(3)关系必须是规范化的,即每个表中的每个分量都是不可分的数据.(4)关系模型是建立在数学概念基础上的,有较强的理论根据.关系模型的优缺点优点:(1)与非关系模型不同,它有较强的数学理论根据。(2)数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系。(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。缺点:由于存取路径对用
16、户透明,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。例例:学生学生课程课程选修选修m mn n 学号学号姓名姓名年龄年龄性别性别所在系所在系9901张力张力20女女计算机计算机9902王明王明19男男计算机计算机学生学生 课号课号课名课名学分学分学时学时J010DB664J013AI554课程课程 学号学号课号课号成绩成绩9901J010869901J013789902J010919902J01382选修选修关系数据库由来(1)系统而严格地提出关系模型的是美国IBM公司的E.F.Codd1923年8月19日生于英格兰中部,当过兵
17、,教过书,在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 pagesACM(Association for Computing Machinery,国际计算机组织)在1983年把该文列为从1958年以
18、来四分之一世纪中具有里程碑式意义的25篇论文之一。关系模型简单明了。关系数据库由来(3)两个开创性的原型系统1974,IBM“System R”=SQLUC Berkely,“Ingres”=QUEL两系统双双获得ACM的1988年“软件系统奖”关系数据库由来(4)IBM的故事1977,IBM完成System R 原型1983,IBM推出第一个关系数据库产品(DB2)IBM产品化步伐缓慢的原因IBM重视信誉,重视质量,尽量减少故障IBM是个大公司,官僚体系庞大IBM内部已经有层次数据库产品,相关人员不积极,甚至反对错误的技术路线:Project Eagle(1980),基于IMS建立关系数据库
19、关系数据库由来(5)Oracle的故事Oracle前身叫SDL,由Larry Ellison和另两个编程人员在1977创办开发自己的拳头产品,在市场上大量销售开发关系数据库产品做事方法三个要点第一,不做研究,只做产品开发第二,以尽快推出产品为第一目标第三,产品要能够在销量较大的平台上运行关系数据库由来(7)1970年以后,E.F.Codd继续完善和发展关系理论1972,提出关系代数和关系演算,定义了关系的并、交、差、投影、选择、连接的各种基本运算创办了一个研究所:The Relational Institute和一个公司Codd&Associations1990年,出版了专著The Relat
20、ional Model for Database Management:Version 21981年11月9日在洛杉矶在召开的ACM年会上,获图灵奖,演讲题目为“Relational Database:A Practical Foundation for Productivity”2.4 数据库系统的三级模式和二级映像模式(Schema)和实例(Instance)模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及类型的描述,不涉及具体的值模式的一个具体值称为模式的一个实例学生表(学号,姓名,年龄)课程表(课程号,课程名,学分)选课表(学号,课程号,成绩)模式模式两个实例两个实例数据库系统
21、的三级模式结构应用程序应用程序A应用程序应用程序B应用程序应用程序C外模式外模式外模式外模式内模式内模式模式模式外模式外模式/模式模式映射映射模式模式/内模式内模式映射映射DBMS用户用户用户用户用户用户模式(概念模式,逻辑模式)数据库中全体数据的逻辑结构和特征的描述数据记录由哪些数据项构成数据项的名字、类型、取值范围数据之间的联系、数据的完整性等不涉及数据物理存储的细节和硬件环境一个数据库只有一个概念模式通过模式DDL进行定义外模式(子模式、用户模式)单个用户所看到的局部数据的逻辑结构和特征的描述用户与数据库系统的数据接口,对于用户而言,外模式就是数据库建立在概念模式之上,同一模式上可有多个
22、不同的外模式,因为不同的用户看待数据的方式、对数据的保密等要求不同 例:模式中的数据项是“出生日期”,而外模式项用户提供“年龄”的信息.内模式(存储模式)数据物理结构和存储方式的描述记录的存储方式:顺序存储、按B树组织还是散列存储?索引按什么方式组织:排序、散列?数据是否加密?是否压缩存储?一个DB只有一个内模式。是DBMS管理的最低层,它是物理存储设备上存储数据时的物理抽象。外模式模式映象定义了外模式与概念模式之间的对应关系属性名称可能不同外模式中的属性可能由模式中的多个属性运算而得当概念模式发生改变时,只要修改外模式/模式映象,可保持外模式不变,从而保持用户应用程序不变,保证了数据与用户程
23、序的逻辑独立性数据的逻辑独立性。模式内模式映象定义了概念模式与内模式之间的对应关系概念模式中的逻辑记录和字段在内部如何表示当数据库的内部存储结构发生改变时,只要修改模式/内模式映象,可保持概念模式不变,从而保持外模式以及用户程序的不变,保证了数据与程序的物理独立性数据的物理独立性。界面外模式模式内模式应用系统数据库OS数据库管理系统用户应用程序员DBA系统各种人员的数据格式 DBMS读取一条记录时发生的事:用户程序向DBMS发出读一条记录的指令,这时用户程序要给出外部文件名和记录的关键字值;DBMS分析所接到的指令,访问对应的外部模式;DBMS完成外部模式到概念模式的转换,决定访问哪个(些)概念文件;接着由DBMS完成概念模式到存储模式的转换,并决定访问哪个(些)存储文件;DBMS调用存取方法,通过操作系统将读取的记录送到系统缓冲区;用户程序从系统缓冲区得到所需记录和DBMS返回的状态信息;用户程序在工作区中使用所得到的记录。演讲完毕,谢谢观看!