网站大量收购独家精品文档,联系QQ:2885784924

对象关系数据库课件.ppt

对象关系数据库课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

對象關係資料庫在傳統的關係型資料庫系統的基礎上引入了面向對象的這類系統稱為對象關係資料庫系統(ORDB)。本章主要內容包括:對象關係數據模型、ORDBS資料庫設計方法—對象聯繫法、SQL3對ORDBS的支持、OODBS和ORDBS的比較。10.1對象關係數據模型傳統關係模型稱為“平面關係模型”,不允許表中有表。在傳統關係數據模型基礎上,增加了元組、數組、集合等數據類型,以及提供了處理新數據類型操作的能力,並具有繼承性和對象標識等面向對象特點,這樣的數據模型,稱為“對象關係數據模型”。基於對象關係數據模型的DBS稱為“對象關係資料庫系統”(ORDBS)。對象關係模型是對關係模型的發展,與傳統的關係模型相容,因此許多概念,如實體標識、多值屬性、泛化/細化等,都可以直接引用,而無需經過變換轉化。原來SQL語言照樣可用,只不過擴充了更強的功能。對象關係模型使用對象聯繫圖來描述系統結構。10.2對象聯繫圖對象聯繫圖是實體聯繫圖的一種擴充形式,用於表達系統中各對象之間的相互關係,不僅能描述關係中基本的數據結構,還可以用來表達面向對象技術中嵌套、遞歸的數據結構。10.2.1對象聯繫圖的成分10.2.2學校、教師和教材對象聯繫圖10.2.2數據的泛化/細化的描述10.2.1對象聯繫圖的成分用實線表示對象之間的聯繫。橢圓代表對象類型(相當於實體類型)。小圓圈表示屬性是基本數據類型(整型、實型、字串)。橢圓之間的邊表示對象之間的“引用”。單箭頭(→)表示屬性值是單值(屬性可以是基本數據類型,也可以是另一個對象類型)。雙箭頭(→→)表示屬性值是多值(屬性可以是基本數據類型,也可以是另一個對象類型)。雙線箭頭()表示超類與子類間的聯繫(從子類指向超類)。雙向箭頭(??)表示兩個屬性之間值的聯繫為逆聯繫。10.2.2學校教師和教材對象聯繫圖10.2.3數據的泛化/細化的描述當在較低層上抽象表達了與之聯繫的較高層上抽象的特殊情況時,就稱較高層上抽象是較低層上抽象的“泛化”,而較低層上抽象是較高層上抽象的“細化”。其中,較高層的對象類型稱為“超類型”(Supertype),較低層的對象類型稱為“子類型”(SubType)。子類型具有繼承性,能繼承超類型的特徵,而子類型本身又有其他的特徵。10.2.3帶泛化邊的對象聯繫圖10.3ORDB的定義語言對象關係資料庫系統支持更複雜的數據類型,如結構類型、元組、數組、集合數據類型,支持繼承和引用,與關係模型相容,因此原來支持關係模型的SQL語言也照樣可用。在SQL99標準中提供了對對象關係模型資料庫的支持。本小節介紹ORDB的定義語言,主要包括ORDB的數據類型的定義、繼承性和引用類型的定義等內容。10.3ORDB的定義語言10.3.1ORDB的數據類型10.3.2結構類型10.3.3集合、數組和大對象10.3.4繼承性的定義10.3.5引用類型的定義10.3.6方法、函數和過程10.3.7SQl3過程語句10.3.1ORDB的數據類型複合類型有四種:(1)結構類型:不同類型元素的有序集合稱為結構。如日期可由日月年三部分組成(如:8,July,2002)。(2)數組類型:同類元素的有序集合,稱數組。(3)多集類型:同類元素的無序集合(成員可多次出現),稱為多集(Multiset)。例如成績集{80,70,80,80}。(4)集合類型:同類元素的無序集合(每個成員只能出現一次),稱為集合(Set)。例如課程集:{MATHS,PHYSICS,PL,OS,DB}。數據類型可以嵌套。10.3.2定義結構類型車間與職工的嵌套關係Dept(dno,dname,staff(empno,ename,age))可用下列形式定義:createtypeEmployee(empnochar(8),enamevarchar(20),ageinteger);createtypeDepartment(dnochar(8),dnameVarchar(20),staffsetof(Employee));10.3.3定義集合、數組和大對象createtypeNameArrayvarchar[10];/*定義NameArra

文档评论(0)

157****3839 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档