您好,欢迎访问三七文档
1第二章数据模型2本章要点2.1数据建模的过程2.2概念模型2.3数据模型的组成要素2.4结构化数据模型2.5非结构化数据模型32.1数据建模的过程•数据模型(DataModel)–是对现实世界中对象(事物)的数据抽象–包含对象的数据特征和功能操作–是信息系统建设的基础•数据建模应满足三方面要求–能比较真实地模拟现实世界–容易为人所理解–便于在计算机上实现4•数据模型分成三类(三个抽象层次):(1)概念模型用某种语言或符号描述对象及其之间的联系,如E-R图,UML等独立于计算机系统和数据库管理系统便于数据库设计人员与用户间交流(2)逻辑模型用严格的形式化定义描述对象及其之间的联系,如关系模型面向具体的计算机系统和数据库管理系统便于计算机实现(3)物理模型描述数据库的物理结构,如存储方式、索引结构等面向具体的计算机系统和数据库管理系统由数据库管理系统实现5概念模型逻辑模型物理模型数据建模过程62.2概念模型•概念模型–是数据库设计的第一步–是数据库设计人员和用户之间进行交流的载体–好的概念模型应简单清晰,易于理解,语义表达全面72.2概念模型•基本术语:实体,联系,码,…•常用表示方法:E-R图,UML类图•常用建模工具:Visio,PowerDesigner,MySQLWorkbench等8基本术语现实世界的信息是通过实体、属性以及联系等概念的划分来认识的。•实体(Entity)客观存在并可相互区别的事物称为实体,可以是具体的人、事、物或抽象的概念。•属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。•码(Key)唯一标识实体的属性(集)9•域(Domain)属性的取值范围•实体型(EntityType)具有相同属性的实体必然具有共同的静态特征,理解为类型。用实体名及其属性名集合来描述。–例如,销售记录中服装编号,顾客编号,购买日期,数量等属性构成一个销售记录的实体型•实体集(EntitySet)具有相同特征的实体集合–例如,所有销售记录就是一个实体集10•联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中抽象为实体内部的联系和实体之间的联系•实体型间的联系类型–一对一联系(1:1)–一对多联系(1:n)–多对多联系(m:n)11•两个实体型间的一对一联系–如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。–实例班级—班长实体集A实体集B12•两个实体型间的一对多联系–如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n–实例班级—学生服装厂商—服装实体集A实体集B13•两个实体型间的多对多联系(m:n)–如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n–实例顾客—服装学生—课程实体集A实体集B14•多个实体型间的一对多联系–若实体集E1,E2,...,En存在联系,对于实体集Ej(j=1,2,...,i-1,i+1,...,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,...,Ei-1,Ei+1,...,En之间的联系是一对多的。–实例设有课程、教师与参考书三个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的。15课程选修教师1m参考书n•多个实体型间的一对多联系16•多个实体型间的多对多联系网上商店供应服装mn供应商p工程项目承担机械工具mn施工队p17•同一实体型内的一对多联系–实例:职工实体集内部具有领导与被领导的联系,某一职工(干部)“领导”若干名职工,一个职工仅被另外一个职工直接领导,这是一对多的联系•同一实体型内的一对一联系•同一实体型内的多对多联系职工领导1n18•PeterPin-ShanChen于1976年提出•基本绘图规则:–实体型——用矩形表示–属性——用椭圆形表示–码——用下划线表示服装编号颜色型号品牌价格一种概念模型表示方法—E-R图19•联系——用菱形表示,同时标注联系的类型实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系20•若联系本身有自己的属性,也用椭圆表示课程选修学生mn成绩21举例—零件供应系统E-R图年龄职称电话号电话号职工号库存量项目号零件号负责人仓库号供应商号地址姓名账号供应量名称描述规格预算面积姓名零件项目仓库供应商职工供应库存领导工作单价1nnnnmm1p22数据建模工具•采用数据建模工具将使数据库设计过程更简单,数据模型描述更规范,并有助于后续处理(如生成SQL)。•常用数据库建模工具,如Visio,PowerDesigner等,大多采用图形元素和参数设置相结合的方法来描述以下信息(但不局限于):–实体型的名称、注解–属性的名称、类型、长度、默认值、强制条件–码(主码),索引,唯一性约束–联系(外码)的名称、类型•轻松掌握和运用数据建模技术的最好方法是,从小型工具开始,逐渐深入和提高。23举例—学生选课系统E-R图(Visio)24举例—员工管理系统E-R图(Visio)25举例—员工管理系统E-R图(PowerDesigner)26举例—图书借阅系统E-R图(MySQLWorkbench)27另一种概念模型表示方法—UML•统一建模语言简称UML(UnifiedModelingLanguage),是一种通用的建模语言,具有创建系统的静态结构和动态行为等多种模型的能力。•它包含用例图、类图、对象图、状态图、序列图、协作图、活动图、组件图和展开图等九种主要图例。28用例图添加供货商信息修改供货商信息删除供货商信息供货商信息检索商品信息检索删除商品信息添加商品信息修改商品信息检索发货信息修改发货信息删除发货信息添加发货信息删除帐务信息检索帐务信息修改帐务信息批准额外采购请求拒绝额外采购请求删除额外采购请求修改额外采购请求供货商信息管理includeincludeincludeinclude商品信息管理includeincludeincludeinclude发货信息管理includeincludeincludeinclude帐务管理includeincludeinclude分店额外采购管理includeincludeincludeinclude总店经理增加用户修改用户删除用户检索用户信息管理用户includeincludeincludeinclude29序列图:总店经理管理登录框登录管理员信息发货管理页添加发货信息修改发货信息删除发货信息1:浏览2:登录5:添加发货信息10:修改发货信息15:删除发货信息3:验证管理员4:如果存在此管理员,显示该页6:添加发货信息11:修改发货信息16:删除发货信息7:验证管理员权限8:添加发货信息9:返回结果12:验证管理员权限13:修改发货信息14:返回结果17:验证管理员权限18:删除发货信息19:返回结果30类图——主要用于数据库设计31两个类间的关联32类的继承33参考•附录A—网上服装销售系统–服装,会员,订单,仓库,供应商,…34作业•数据库概念模型设计–连锁超市管理系统(商店、职工、商品、客户)–校园社团组织管理系统(社团、学生、活动)–医院病患信息管理系统(病房、病床、病人、医生)–体育馆运动器材管理系统(器材、供应商、运动员、管理员)–科技竞赛信息管理系统(学生,团队,导师,竞赛,项目)–网上书店系统(图书,出版社,客户,购物篮)–……分析系统需求,描述对象及其关系,画出E-R图!352.3数据模型的组成要素•数据结构•数据操作•数据的完整性约束36数据结构•数据结构描述数据库的组成对象以及对象之间的联系。通常包含两类:–与对象的类型、内容、性质相关的(比如关系模型中的域、属性、关系等)–与数据之间联系有关的•数据结构是刻画一个数据模型性质的最重要方面•数据结构是对系统静态特性的描述37数据操作•数据操作–对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则•数据操作的类型–查找–更新(包括插入、删除、修改)•数据操作是对系统动态特性的描述38数据的约束条件•数据的约束条件–一组完整性规则的集合。–完整性规则是给定的数据模型中数据及其联系所具有的制约规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。39数据的约束条件•数据模型对约束条件的定义–反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。–提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。402.4结构化数据模型•层次模型(HierarchicalModel)•网状模型(NetworkModel)•关系模型(RelationalModel)•面向对象模型(ObjectOrientedModel)41非关系模型•层次模型–按照层次结构的形式组织数据,即用树型结构表示实体集与实体集之间的联系,其中用结点表示实体集,结点之间联系的基本方式是1:n。•网状模型–用图型结构表示实体集与实体集之间的联系,更具普遍性,可以方便地表示各种类型的联系。42关系模型•美国IBM公司的研究员E.F.Codd于1970年提出关系模型,1981年为此获得图灵奖。•关系模型是目前最重要的一种数据模型•目前很多数据库产品都是基于关系模型的,如Oracle(甲骨文)、MicrosoftSQLServer、IBMDB2、Sybase、MySQL等。43关系模型1.关系模型的数据结构2.关系模型的基本术语3.关系模型的数据操纵与完整性约束4.关系模型的优缺点44关系模型的数据结构•关系模型用二维表格表示实体集及其属性•设实体集R有属性A1,A2,…,An,实体集的型可用一个二维表的框架表示,表中每一元组表示实体集的值A1A2A3…Ana11…am1a12…am2a13…am3………a1n…amnA1A2A3…An(a)关系R的型(b)关系R的值服装编号品牌型号颜色价格W001佐丹奴YH287蓝239W002佐丹奴JK946绿189W003李宁LI143红499W004美津浓U7896紫69945关系模型的基本概念•关系(Relation)一个关系对应一张二维表•元组(Tuple)表中的一行即为一个元组•属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名•域(Domain)属性的取值范围46关系模型的基本概念•码(Key)表中的某个属性组,可唯一确定一个元组•分量元组中的一个属性值•关系模式对关系的描述格式为:关系名(属性1,属性2,…,属性n)例如,服装(服装编号,品牌,型号,颜色,价格)47关系模型的数据操纵与完整性约束•关系模型的数据操纵主要包括:查询、插入、删除和修改。•完整性约束:对数据库操作必须满足的条件•关系的完整性约束条件主要包括:实体完整性、参照完整性和用户自定义完整性48关系模型的优缺点•优点–建立在坚实的数学理论基础上–数据结构简单、清晰,用户易懂易用–关系模型的存取路径对用户透明,数据独立性高•缺点–存取路径对用户透明导致查询效率较低–为提高性能,须进行查询优化,DBMS开发难度大49面向对象的模型•面向对象数据模型(ObjectOrientedDataModel–OODM)
本文标题:数据库第二章
链接地址:https://www.777doc.com/doc-2333102 .html