北京工业大学研究生数据库复试笔试课件chap2-数据库建模-96

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1数据库系统设计要与应用程序设计相结合。根据信息需求、处理需求、DBMS与软硬件系统特征进行设计。第2章数据库建模2.1数据库系统设计概述2.1.1数据库系统设计的目标与特点大型数据库系统设计是一项周期长、耗资多的工程项目。2设计包含两方面:1)结构设计:概念结构逻辑结构物理结构2)行为设计:应用程序、事务处理等结构设计与行为设计是相互影响的。(软工与数据库)3核心是:逻辑结构设计与存储结构的设计2.1.2数据库系统设计方法运用软件工程的思想与方法,根据数据库设计的特点,提出了各种准则与设计规程。4数据库系统设计步骤(清华p184流程图):2.概念结构设计以某种形式表述的信息结构与DBMS无关可与用户交流简明避免设计出错通常:E-R模型1.需求分析对现实世界中的应用问题进行分析整理5全局逻辑结构局部逻辑结构含数据约束通常:一组关系模式基本表视图根据具体DBMS使用的数据模型进行设计与计算机软硬件相关专业人员进行应用程序设计的依据3.逻辑结构设计64.数据库物理设计存储结构方面的设计数据、索引、日志、备份的存储位置、存储结构、相应的系统配置。6.数据库系统的运行与维护5.数据库系统的实现(实施)创建数据库对象编程...7按用户观点按机器观点现实世界概念模型数据模型事物及联系抽象信息模型抽象(机器世界)(信息世界)2.2数据模型82.2.1数据模型三要素数据模型:描述系统的静态特性(数据结构)、动态特性(数据操纵)和完整性约束条件。术语:数据模型与概念模型9(1)数据结构(静态):对事物性质的描述以及事物之间联系的描述。数据模型三要素:如:记录型、数据项、类型、宽度;网状模型中的系型;关系模型中基本表的定义。10(2)数据操纵(动态):对数据库中数据允许执行的操纵的集合及规则。操纵:1.查询2.更新:增、删、改(3)数据的完整性约束:保证数据的正确有效。112.2.2一些主要的数据模型(一)数据库发展史上两种有影响的数据模型有关概念:基本层次联系:两个记录型Ri、Rj具有一对多(包括一对一)联系Lij。称Lij为基本层次联系,称Ri为双亲记录,称Rj为子女记录。例:双亲记录子女记录-------------------------学院学科部学生学生成绩121.层次模型定义:满足下述两个条件的“基本层次联系”的集合1)具有且仅有一个结点无双亲(该节点为树根)2)其它结点有且仅有一个双亲例1:工厂科室车间树结构班组子女唯一双亲13*多对多联系在层次模型中的表示例:学生S与课程Cm:n法1:冗余结点法SSNOSNAMESEXCCNOCNAMECCNOCNAMESSNOSNAMESEX法2:虚拟结点法(用指引元指向被替代的结点)SSNOSNAMESEXCCNOCNAMECV.CSV.S14*层次模型的数据操纵及完整性约束数据操纵:查询、增、删、改。完整性约束:没双亲不能插入子女子女与双亲同时删除更新所有相应记录(冗余结点)15*层次模型的存储结构a.邻接法D02R01T0101T0102T0103R02T0201T0202R03S980232S980125S980126b.链接法层次序列链接法子女——兄弟指引元法(两种指针)16*层次模型的优点与缺点优点:#模型简单易操纵#实体间联系固定,预先定义好的应用系统性能优#提供了较好的完整性支持缺点:#应用为非树形结构时,使用不便#存取必须按照定义好的存取路径进行#逻辑独立性不高172.网状模型定义:满足下述条件的“基本层次联系”的集合1)允许有一个以上结点无双亲2)至少有一个结点有一个以上的双亲或有一个以上的与双亲的联系18例:供应商零件两个基本层次两个结点无双亲联系(set)供应关系描述m:n有两个双亲结点工人使用维修有两个与双亲的联系设备19*DBTG系统:a.数据结构:数据项、记录、系(set)系:二级树A首记录型1:NB属记录型系型(一个)系值SSNOSNAMESEXS980122陈一男S-SCC01S980122AC02S980122BC03S980122BSCCNOSNOGRADE20b.数据操纵查询、增、删、改。查询有多种方法存取机制:入口点、导航、DBK直接存取DML:(略)21c.完整性约束:可插入无双亲的子女可只删除双亲维护时无须考虑冗余节点的处理也可以:不插入无双亲的子女删除双亲删子女22d.系的存储结构单向链双向链环状链向首链(带有指向首记录的指针)23*网状模型的优点与缺点便于描述多对多联系(多个一对多)存取时沿存取路径、顾及各个范围(系、记录)的当前值,繁琐。逻辑独立性不高24(二)关系模型关系:命名的二维表区分关系与联系!!!元组:表中一行属性:表中一列,列名称属性名关系模式:关系名(属性名1,属性名2……属性n)1.数据结构——用一组表来表示事物及事物间的联系25例:供应商Suppliers(Sno,Sname,State,City)零件Parts(Pno,Pname,Size,Color)Parts供应商与零件SP(Sno,Pno,Quantity)两个实体集多对多关系必须是规范化的——元组分量不可再分不规范:表中有表26实体完整性参照完整性(引用完整性)用户定义完整性2.关系模型的操纵与完整性约束查询、增、删、改273.关系模型的存储结构实体集表数据文件联系关系数据模型中,实体和实体间的关系都用表来表示。在数据库的物理组织中,表以文件形式存储,每一个表对应一种文件结构。284.关系模型的优点:1)描述的一致性——实体集与联系均用关系描述例:Employees(Eno,Ename,Eaddr,Dno)职工与部门n:1?Departments(Dno,Dname,Manager)术语:关系联系292)操作由一张或N张表一张新表即原始数据与结果数据都是二维表。关系模型概念简单易学易用且有严格数学基础303)可直接描述多对多联系例:Suppliers(Sno,Sname,State,City)供应商实体集关系SuppliersParts(Pno,Pname,Size,Color)零件实体集关系PartsSP(Sno,Pno,Quantity)供应商与零件联系关系SP4)存储路径透明(用户不可见)315.关系模型的缺点存取路径透明查询优化问题对新的需求难以适应(三)其他数据模型面向对象模型对象关系模型322.3概念模型按用户观点按机器观点现实世界概念模型数据模型事物及联系抽象信息模型抽象(机器世界)(信息世界)332.3.1概念模型的基本概念1.实体(Entity):一个具体或抽象的事物可区分的例如:一个学生、一个帐户、一张支票、一份合同。342.属性(Attribute):事物某方面的特性例如:学号、姓名、年龄3.域(Domain):属性的取值范围例如:年龄在15-35之间354.实体、实体集:实体型即类型,由实体名及属性名表示。同型实体具有共同的性质,因此,用相同属性描述。实体型:学生(学号,姓名,年龄)实体集:同型实体的集合如:全体学生书上实体集:包含实体型的概念实体:张三(‘02070011’,‘张三’,20)365.实体集之间的联系按联系中实体集的数目分:二元联系:两个实体集之间的联系多元联系:三个或多于三个实体集之间的联系一元递归:一个实体集内部的联系37(一)二元联系一对一联系一对多联系多对多联系二元联系按实体集间实体的映射可分为:381)一对一联系(例:班级与班长)实体集1中的每一个实体,在实体集2中至多有一个实体与之联系,反之亦然。班级班长392)一对多联系(例:班级与学生)实体集1中的每一个实体,在实体集2中有n个(n=0)实体与之联系;实体集2中的每一个实体,在实体集1中至多有一个实体与之联系。班级学生403)多对多联系(例:学生与课程)实体集1中的每一个实体,在实体集2中n个(n=0)实体与之联系;反之亦然。学生课程41(二)多元联系多路联系参与联系的实体集个数大于二角色例1:学生教师课程三者之间的“教学”联系一个学生选一门课程、可以对应多位老师一位老师教一门课程、可以对应许多学生一个学生听一位老师的课、可以对应不同的课程这是三者之间的多对多联系多元联系中的“多”42例2:影星、影片与制片厂的联系一位影星因一部影片与一个制片厂签约一个制片厂因一部影片与若干影星签约一个制片厂、一个影星因不同的影片多次签约多元联系中的“一”与“多”43(三)一元递归联系实体集内部,不同实体之间的联系例:公司内每一成员都是员工同属于员工这一实体集但:总经理管理部门经理部门经理管理普通员工员工实体集内部的“管理”联系是一个一元递归联系这里是一个一对多联系也有多对多44E——Entity实体R——Relationship联系2.3.2E/R模型表示法E/R模型是一种图形方法E/R图451.实体集:2.联系:学生一对一多对一多对多学生班级在班长班级负责课程学生选修463.多元联系:供应商零件工程供应三元联系是因为“供应”活动涉及三个实体集这里,三者之间是多对多的联系47影星制片公司影片签约这里,“签约”活动涉及三个实体集,是三元联系多个影星多个影片对应一个制片公司**影片决定制片公司,E/R模型无法表明,属“函数依赖”范畴484.角色:系列剧集是续集首集续集在同一个联系中,一个实体集在联系中可能出现一次以上,将实体集在联系中的角色,用文字标在与联系的连线上一元递归495.实体集的属性、联系的属性:供应商零件工程供应数量名称地点地址名称名称规格50例:(P75图4-2)电影数据库需要存储影片的片名、年份、片长、体裁;影星的名字、地址;制片公司的名称、地址。一个制片公司可以拍摄多部电影;每一部电影只属于一个制片公司。每一部影片有多位影星参加摄制;每一位影星可以拍摄多部影片。设计E-R图2.3.3几个例子51电影影星制片公司属于参演片长体裁片名年份名字地址名字地址52设计E-R图例:数据库存放影星与制片公司签约的有关信息,需要存储影片的片名、年份、片长、体裁;影星的名字、地址;制片公司的名称、地址。以及每一位影星与每一个制片公司签约出演每一部影片的薪水。一个制片公司可与多位影星签约一部影片;一个影星签约一部电影,对应唯一的制片公司;一个制片公司与一位影星,可以签约多部电影53影片制片公司签约薪水姓名地址年份片名名称地址影星片长体裁方案1:P78图4-754方案2:P79图4-8(不好)这是为了消除联系的属性而给出的替代方案.当实体只有作为标识的唯一属性时,此法不可取影片制片公司签约薪水姓名地址年份片名名称地址影星片长体裁薪水55例:库存管理:涉及管理员、仓库、零件及库存信息。每一仓库若干管理员;每一管理员只在一个仓库工作;每一个仓库的管理员中有一个负责人。每一种零件存放于若干仓库;每一仓库存放若干种零件。管理员:编号、姓名、年龄仓库:编号、面积、地址、电话零件:编号、名称、规格每一仓库中每一种零件的数量56n职工简单起见,这里实体集的属性没有画出有时将实体联系与实体属性分开画仓库零件管理员存放领导属于负责人数量572.3.4多元(路)联系转换为二元联系例:(P79图4-9)“签约”涉及两个制片公司,一个影星和一个影片含义是:一个是影星所属制片公司(另外签有长期合同)一个是拍摄该影片的制片公司给定影星、电影和制作公司对应唯一的影星所属公司给定影星、电影和所属公司对应唯一的制作公司给定两个公司和电影可以对应多位影星给定两个公司和影星可以对应多部影片58多路联系P77图4-6影星制片公司影片签约影星所属公司影片制造公司既包含多个实体集,又包含具有多重角色的实体集59P79图4-9转换为多个二元联系(公司1,公司2,影星,片)一个合同一个影星一个影星多个合同影星制片公司合同影片签约签约制造影星所属弱实体60问题的提出:大学里,学生分为本科生、研究生本科生的有关信息是学号、姓名、年龄、班级研究生的有关信息是学号、姓名、年龄、导师、方向2.3.5E/R图中的子类61本科生(B01070302,柳力,19,010703)…(B01070529,杜慧,20,010705)

1 / 96
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功