- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关系模型的局限性.PPT
第五章 关系模型的局限性 一个代表性的多面体的关系描述 关系模型的缺点 阻抗失配带来的问题 用边界表示法描述的多面体E-R设计 多面体的关系模型示例 多面体的关系模型示例(续) 关系模型的缺陷 1 对象被分割,将一个用户看到的完整性对象被分割为若干个关系,使对象中内部结构不是1:1映射 例:查询体积大于10的所有多边形及其顶点坐标(x,y,z) 关系模型的缺陷 1 续 Select distinct p.PolyID, v.VertexID,v.X,v.Y,v.Z From Polyeder p, Hull h, Boundaries b, StartEnd s Vertices v Where p.Volume 10 and p.PolyID = h.PolyID and p.FaceID = b.FaceID and b.EdgeID = s.EdgeID and s.VertexID = v.VertexID 关系模型的缺陷 2 主关键字属性唯一性维护的困难 由于对象的分割,使用户需要定义和维护连接多个关系的外键的唯一性。在多用户环境下,这种维护是困难的。 维护关键字属性引用完整性的困难。 引用完整性——保证一个外部关键字引用的元组是真是存在的。而由于对象的分割存储,以及RDBMS不能保证相关联的关系之间插入元组的完整性。因此这个引用完整性是难以保证的。 关系模型缺陷 3 对数据抽象缺乏支持 关系模型只支持简单的结构化很强的应用。对具有复杂结构和复杂语义的应用缺乏支持。 ——不支持聚合抽象 ——不支持泛化/特化抽象 ——不支持抽象数据类型ADT 关系模型的缺陷 4 缺乏对对象行为控制的支持。 ——应用领域中一个完整的对象应具有两个方面的描述 1. 结构表示 2. 行为的具体描述 二者的互相捆绑保证了对象状态变化的正确性,而关系模型缺乏对行为描述的支持。 编程语言阻抗失配带来的问题 说明性SQL语言与过程性的编程语言的阻抗失配 面向集合的数据操作与面向记录的数据操作失配 目前解决方法:用游标的方法顺序提取 存在问题: 对复杂应用而言,随机访问需求与单行的顺序访问约束之间的失配。 建立在连接(Join)查询上的查询结果是不可更新的,这对被切割的复杂对象的更新带来很大困难。 例 指针Edge Vertices指向的Join查询结果是不能直接被更新的 Exec sql declare Edge Vertices cursor for select s.EdgeID,v.VertexID,v.X,v.Y,v.Z from StartEnd s,Vertices v where s.VertexID=v.VertexID; exec sql declare EdgeToVertices cursor for select * from StartEnd; exec sql open EdgeToVertices ; while(1) /*Iterate over the EdgeToVertices crusor*/ { exec sql fetch EdgeToVertex into:E#, :V#; exec sql select X,Y,Z /*read the coordinates*/ into :Xvar, :Yvar, :Zvar from Vertices where s.VertexID= :V#; …… exec sql update Vertices set…; /*perform modifications*/ } 例:阻抗失配可视化 * Polyeder N Hull M PolyID Faces N Boundaries M FaceID Edges N StartEnd M EdgeID Vertices VertexID … … … … 1000.00 … … “cubo#5” … … Volume PolyID Polyeder … … … … … … … 40.00 40.00 … 40.00 … … “f1” “f2” … “f6” … … Circumference FaceID Faces “f1” “f2” … “f6” … “cubo#5” “cubo#5” … “cubo#5” … FaceID PolyID Hull … “e1” “e2” “e3” “e4” … … … … “f1” “f1” “f1” “f1”
文档评论(0)