版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
Oracle8對象關(guān)系數(shù)據(jù)庫高端數(shù)據(jù)庫-提高DBMS管理上限Oracle8對象關(guān)系數(shù)據(jù)庫擴充的類型系統(tǒng)對象關(guān)系數(shù)據(jù)庫Oracle8數(shù)據(jù)庫系統(tǒng)
一、高端數(shù)據(jù)庫-提高DBMS管理上限
oracle7 oracle8
數(shù)據(jù)庫大小 32TB 512KTB 數(shù)據(jù)文件個數(shù) 1-4K 64-256M每表包含列 數(shù) 254 1000 每表的LOB列數(shù) 1long 1000 CHAR長度 254 2000VARCHAR長度 2000 4000索引列數(shù) 16 32 支持上萬個并發(fā)用戶多線程服務(wù)器(用少量的服務(wù)器端進程管理大量的客戶端用戶。Net8(SQL*net)連接管理器—連接池(TNS資源)、多路傳輸、應(yīng)用請求集中化更有效地使用網(wǎng)絡(luò)資源避免操作系統(tǒng)對服務(wù)器網(wǎng)絡(luò)連接數(shù)的限制客戶端(服務(wù)器)服務(wù)器一、高端數(shù)據(jù)庫-提高DBMS管理上限網(wǎng)絡(luò)層透明網(wǎng)絡(luò)底層協(xié)議適配器二、擴充的類型系統(tǒng)
-對象關(guān)系數(shù)據(jù)庫
關(guān)系模型與對象模型新的數(shù)據(jù)類型-對象(記錄)類型對象表—面向?qū)ο髷?shù)據(jù)庫設(shè)計收集類型(數(shù)組與嵌套表)
對象與視圖
數(shù)據(jù)庫新的應(yīng)用領(lǐng)域計算機輔助設(shè)計
CAD數(shù)據(jù)庫必須存儲和處理與工程設(shè)計相關(guān)的數(shù)據(jù)(產(chǎn)品部件及相互關(guān)系、設(shè)計版本…)計算機輔助軟件工程數(shù)據(jù)庫中存儲軟件開發(fā)人員用到的各種數(shù)據(jù),包括源代碼、模塊之間依賴關(guān)系、變量定義、文檔…多媒體數(shù)據(jù)庫聲音、視頻、圖象…辦公信息系統(tǒng)超文本數(shù)據(jù)庫應(yīng)用需要新的數(shù)據(jù)類型——論文檢索系統(tǒng)論文標(biāo)題作者列表(第一作者,第二作者,找出某人參與撰寫的所有論文…)檢索關(guān)鍵字發(fā)表日期(年月日分開)傳統(tǒng)關(guān)系數(shù)據(jù)庫的數(shù)據(jù)類型復(fù)雜屬性只能拆分成并列的單一屬性姓名,地址(省、市、區(qū)、街道、門牌號)本來是一個結(jié)合緊密的整體,在關(guān)系數(shù)據(jù)庫中卻只能拆成單一屬性,與其他屬性并列(如姓名、年齡等),沒有反映出它們的緊密關(guān)系。無法表示變長的屬性家庭記錄有幾個孩子長字段設(shè)幾個字段(不好估計)家庭編號戶主子女1子女2子女3…傳統(tǒng)關(guān)系數(shù)據(jù)庫的數(shù)據(jù)類型無法直接表示嵌套表例:一張發(fā)貨單,發(fā)三種貨物:放3條記錄,但公共信息存3遍(查詢方便)拆成兩張表(發(fā)貨單,發(fā)送貨物),需要連接,費時,且要清楚表與表的關(guān)系貨單號發(fā)貨人貨物日期…發(fā)往地貨物名稱價格數(shù)量關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型數(shù)據(jù)模型是模型化數(shù)據(jù)和信息的工具?,F(xiàn)實世界認(rèn)識抽象信息世界-概念數(shù)據(jù)模型機器世界-DBMS支持的數(shù)據(jù)模型關(guān)系模型轉(zhuǎn)換數(shù)據(jù)模模型演演變文件系系統(tǒng)(OS)層次模模型———網(wǎng)網(wǎng)狀模模型———關(guān)關(guān)系模模型(DB)特點::面向記記錄,,信息息由定定長記記錄組組成。。記錄簡簡單((短小?。?。。原子字字段,,字段段不再再含有有結(jié)構(gòu)構(gòu)。關(guān)系模模型的的特點點強調(diào)數(shù)數(shù)據(jù)的的獨立立性((以數(shù)數(shù)據(jù)為為中心心),,數(shù)據(jù)據(jù)與程程序分分離。。采用關(guān)關(guān)系模模型、、概念念單一一,實實體和和聯(lián)系系都是是用關(guān)關(guān)系來來表示示。關(guān)系必必須是是規(guī)范范化的的關(guān)系系,要要求每每一分分量不不可再再分。。支持關(guān)關(guān)系語語言,,具有有高度度非過過程化化,支支持集集合運運算通過外外來碼碼實現(xiàn)現(xiàn)表的的連接接(多多表查查詢))Oracle8—擴擴充充的類類型系系統(tǒng)是對關(guān)關(guān)系數(shù)數(shù)據(jù)模模型進進行的的擴充充。提供更更為豐豐富的的面向向?qū)ο笙蟮念愵愋拖迪到y(tǒng)。。擴充的的類型型系統(tǒng)統(tǒng)允許許元組組的屬屬性值值為復(fù)復(fù)雜類類型,,在關(guān)關(guān)系查查詢語語言中中增加加處理理新數(shù)數(shù)據(jù)類類型的的成分分。既保留留關(guān)系系模型型基礎(chǔ)礎(chǔ)又提高高建模模能力力對象關(guān)關(guān)系模模型為為希望望使用用面向向?qū)ο笙筇卣髡鞯年P(guān)關(guān)系數(shù)數(shù)據(jù)庫庫用戶戶提供供可能能。面向?qū)ο蟮牡幕颈靖拍钅蠲嫦蛳驅(qū)ο笙蠓椒椒ǚㄊ鞘且砸砸饨鉀Q決的的問問題題中中所所涉涉及及到到的的各各種種對對象象為為主主要要考考慮慮因因素素。。對象象是是一一種種看看問問題題的的觀觀點點,,是是對對現(xiàn)現(xiàn)實實世世界界各各種種元元素素的的一一種種抽抽象象。。對對象象既既含含數(shù)數(shù)據(jù)據(jù)又又含含功功能能,,因因此此具具有有自自身身處處理理數(shù)數(shù)據(jù)據(jù)的的能能力力。。對對象象被被認(rèn)認(rèn)為為是是迄迄今今為為止止最最接接近近真真實實事事物物的的數(shù)數(shù)據(jù)據(jù)抽抽象象?!,F(xiàn)實實世世界界中中對對象象有有兩兩個個共共同同的的特特點點::一方方面面,,它它們們都都有有自自己己的的狀狀態(tài)態(tài)。。如如一一臺臺電電視視機機有有自自己己的的擺擺放放位位置置,,有有關(guān)關(guān)機機和和開開機機狀狀態(tài)態(tài),,此此刻刻正正在在播播放放某某一一頻頻道道的的電電視視節(jié)節(jié)目目等等另一一方方面面,,它它們們又又都都有有自自己己的的行行為為,,如如電電視視機機的的開開機機、、關(guān)關(guān)機機、、調(diào)調(diào)臺臺等等。。面向向?qū)ο笙蟮牡幕颈靖鸥拍钅顑?nèi)部部實實現(xiàn)現(xiàn)(封封裝裝))接口口屬性性、、方方法法能動動的的主主體體使電電腦腦貼貼近近人人腦腦的的思思維維模模式式((減減少少人人認(rèn)認(rèn)識識問問題題時時的的認(rèn)認(rèn)識識空空間間和和計計算算機機處處理理問問題題時時的的方方法法空空間間的的不不一一致致性性))。。實現(xiàn)現(xiàn)軟軟件件的的復(fù)復(fù)用用((軟軟件件芯芯片片))。。對象象的的屬屬性性與與方方法法面向向?qū)ο笙蟪坛绦蛐蛟O(shè)設(shè)計計中中的的對對象象是是現(xiàn)現(xiàn)實實世世界界對對象象的的模模型型化化,,它它同同樣樣具具有有狀狀態(tài)態(tài)和和行行為為。。對象象的的狀狀態(tài)態(tài)用用屬屬性性來來維維護護,,對象象的的行行為為用用方方法法來來實實現(xiàn)現(xiàn)。。因此此可可以以簡簡單單地地講講,,對對象象是是面面向向?qū)ο笙蟮牡某坛绦蛐蛟O(shè)設(shè)計計模模式式,,它它由由描描述述對對象象狀狀態(tài)態(tài)的的屬屬性性((變變量量))和和用用來來實實現(xiàn)現(xiàn)對對象象行行為為的的方方法法((代代碼碼))組組成成。。對象象與與類類相關(guān)關(guān)對對象象的的集集合合稱稱為為類類((Class))類是是對對象象的的抽抽象象及及描描述述,,它它是是具具有有統(tǒng)統(tǒng)一一屬屬性性和和方方法法的的多多個個對對象象的的統(tǒng)統(tǒng)一一描描述述體體,,是是用用來來定定義義一一組組對對象象共共有有屬屬性性和和方方法法的的模模板板。。類是是用用來來創(chuàng)創(chuàng)建建對對象象實實例例的的樣樣板板,,它它包包含含所所創(chuàng)創(chuàng)建建對對象象的的狀狀態(tài)態(tài)描描述述和和方方法法的的定定義義。。類類是是一一個個型型,,而而對對象象則則是是這這個個型型的的一一個個實實例例。。類是靜態(tài)態(tài)概念,,而對象象則是一一個動態(tài)態(tài)概念,,因為只只有在運運行時才才給對象象分配空空間,對對象才真真正存在在。面向?qū)ο笙蟮臄?shù)據(jù)據(jù)模型在一些應(yīng)應(yīng)用中,,用戶將將數(shù)據(jù)庫庫中的數(shù)數(shù)據(jù)看作作是一組組對象而而非一組組記錄。。面向?qū)ο笙蟮臄?shù)據(jù)據(jù)模型是是面向?qū)ο蟪绦蛐蛟O(shè)計思思想在數(shù)數(shù)據(jù)庫系系統(tǒng)中的的應(yīng)用。?;舅枷胂搿獙?shù)數(shù)據(jù)和操操作這些些數(shù)據(jù)的的程序代代碼封裝裝在一個個對象里里。將一個對對象存儲儲在數(shù)據(jù)據(jù)庫中::對象的數(shù)數(shù)據(jù)部分分必須針針對各個個對象分分別存儲儲。而實現(xiàn)類類方法的的程序代代碼應(yīng)該該和類的的定義一一起作為為數(shù)據(jù)庫庫模式的的一部分分存儲。。面向?qū)ο笙髷?shù)據(jù)庫庫數(shù)據(jù)庫中中不是只只存儲單單純的數(shù)數(shù)據(jù),而而是存儲儲包含屬屬性和方方法的對對象。對于一個個數(shù)據(jù)庫庫對象,,可定義義在其上上運行的的過程和和函數(shù)。。使數(shù)據(jù)據(jù)庫中的的數(shù)據(jù)和和訪問該該數(shù)據(jù)的的方法聯(lián)聯(lián)系起來來,可標(biāo)標(biāo)準(zhǔn)化數(shù)數(shù)據(jù)訪問問的方法法并提高高對象的的可復(fù)用用性。應(yīng)用邏輯輯從應(yīng)用用程序中中移動到到數(shù)據(jù)庫庫中(對對象方法法)創(chuàng)建通用用的數(shù)據(jù)據(jù)庫對象象,并能能成為數(shù)數(shù)據(jù)庫對對象的標(biāo)標(biāo)準(zhǔn),可可實現(xiàn)數(shù)數(shù)據(jù)庫對對象的重重用。數(shù)據(jù)模型型現(xiàn)實世界界認(rèn)識抽象信息世界界-概念念數(shù)據(jù)模模型機器世界界-DBMS支持的數(shù)數(shù)據(jù)模型對象模型型轉(zhuǎn)換對象模型型與關(guān)系系模型對象模型型對象類型型的屬性性描述對象類型型的方法法封裝了了操作該該對象的的代碼。。提供了了處理數(shù)數(shù)據(jù)庫中中數(shù)據(jù)的的界面。。關(guān)系模型型二維表中中列的定定義沒有方法法另編程可使用操操作某數(shù)數(shù)據(jù)庫表表的存儲儲過程。。面向?qū)ο笙髷?shù)據(jù)模模型中的的類概念念—實體體集概念念。面向?qū)ο笙髷?shù)據(jù)模模型中的的對象概概念—實實體概念念對象模型型與關(guān)系系模型關(guān)系模型型可用二二維表來來表示———關(guān)關(guān)系表表:屬性——二二維表的的列元組——二二維表的的行對象模型型可用二二維表來來表示———對對象表表:用一個類類(對對象類型型)定義義一個對對象表類的屬性性—二二維表表的列對象(類類的實例例)——二二維表表的行((行對象象)通過對象象調(diào)用對對象方法法。Oracle的的擴充類類型Oracle是一個開開放的類類型系統(tǒng)統(tǒng),增加加了復(fù)雜雜的數(shù)據(jù)據(jù)類型以以及用戶戶自定義義類型用戶定義義的數(shù)據(jù)據(jù)類型使使得可以以在數(shù)據(jù)據(jù)庫中為為現(xiàn)實世世界的對對象建模模對象類型型(記錄錄類型))數(shù)組類型型嵌套表類類型創(chuàng)建對象象表,實實現(xiàn)面向向?qū)ο蟮牡臄?shù)據(jù)庫庫設(shè)計((而非關(guān)關(guān)系型數(shù)數(shù)據(jù)庫設(shè)設(shè)計。應(yīng)用邏輯輯從應(yīng)用用程序中中移動到到數(shù)據(jù)庫庫中(對對象方法法)擴充類型型的不同同應(yīng)用對象類型型數(shù)數(shù)組類型型嵌嵌套表類類型關(guān)系表對對象象表對象類型利用對象類類型
定義義復(fù)合數(shù)據(jù)據(jù)類型用戶自定義義數(shù)據(jù)類型型使用對象類類型定義一一個記錄數(shù)數(shù)據(jù)類型CREATETYPEname_typeASOBJECT(first_name VARCHAR2(4),last_name VARCHAR2(4));CREATETYPEaddress_typeASOBJECT( cityVARCHAR2(10),streetVARCHAR2(10),zipNUMBER(6));CREATETABLEworker(widNUMBER(5)PRIMARYKEY,wnamename_type,addressaddress_type);對象類型數(shù)數(shù)據(jù)的操作作使用對象類型聲明了關(guān)系表中的列,DML語句必須用用一些特殊殊的語法插入新記錄錄時,對于于對象類型型的列,要要使用構(gòu)造造函數(shù)構(gòu)造造出對應(yīng)類類型的數(shù)據(jù)據(jù)。構(gòu)造函數(shù)是是對象類型型的特殊方方法,利用用此方法為為該類型創(chuàng)創(chuàng)建對象。。構(gòu)造方法法的名稱與與對象類型型(類)同同名。對記錄型數(shù)數(shù)據(jù)的分量量進行操作作時,要使使用“別名名”對象類型數(shù)數(shù)據(jù)的操作作插入語句例例:insertintoworkervalues(1,name_type('王','至至遠(yuǎn)'),address_type('北京','白頤路5號',100084));insertintoworkervalues(2,name_type(‘張’,‘大大年'),address_type(‘天津’,‘‘康寧里20號’,300072));insertintoworkervalues(3,name_type('趙','力力平'),address_type('上海','南京路23號',200092));對象類型數(shù)數(shù)據(jù)的查詢詢查詢語句1select*fromworker;WIDNAME(FIRST_NAME,LAST_NAME)ADDRESS(CITY,STREET,ZIP)-----------------------------------------------------------------------------------------------------1NAME_TYPE(‘王’,‘‘至遠(yuǎn)’)ADDRESS_TYPE('北京','白頤路路5號',100084)2NAME_TYPE(‘張’,‘‘大年’)ADDRESS_TYPE(‘天津’,‘‘康寧里里20號’’,300072)3NAME_TYPE(‘趙’,‘‘力平’)ADDRESS_TYPE(‘上?!?‘‘南京路路23號’’,200092)查詢語句2selectwid,wnamefromworker;WIDNAME(FIRST_NAME,LAST_NAME)----------------------------------------------------------1NAME_TYPE(‘王’,‘‘至遠(yuǎn)’)2NAME_TYPE(‘張’,‘‘大年’)3NAME_TYPE(‘趙’,‘‘力平’)對象類型數(shù)數(shù)據(jù)的查詢詢查詢語句3(用用別名)selectwid顧客編號,城市,街道,郵編fromworkerw;顧客編號城城市街街道道郵郵編-------------------------------------------------1北北京京白白頤路5號1000842天天津津康康寧里20號3000723上上海海南南京路23號200092查詢語句4(別名的的使用)select*對象類型數(shù)數(shù)據(jù)的操作作修改updateworkerwsetw.address.zip=100083wherewid=1;刪除deletefromworkerwherewid=1;.first_name=‘‘王’;修改表結(jié)構(gòu)構(gòu)altertablecustadd(address1address_type);不能對表修修改自定義的數(shù)數(shù)據(jù)類型格格式用戶自定義義數(shù)據(jù)類型型對象類型更更加貼近現(xiàn)現(xiàn)實世界的的數(shù)據(jù)特征征。使用對象類類型可以更更加統(tǒng)一、、自然地聲聲明和操作作表中的數(shù)數(shù)據(jù)(在整個數(shù)據(jù)據(jù)庫中地址址一致性))創(chuàng)建可為大大家引用的的新數(shù)據(jù)類類型:創(chuàng)建一個模模式(如pub)建立公共對對象類型((新數(shù)據(jù)類類型)設(shè)置必要的的權(quán)限使用CREATEPROCEDUREnew_worker(widNUMBER,_type,addresspub.address_type)自定義數(shù)據(jù)據(jù)類型上的的索引createindexaaaonworker(wname);ORA-02327:無法在具有有數(shù)據(jù)類型型ADT的列上創(chuàng)建建索引。(即使在name_type類中定義了了排序方法法也不可以以)如經(jīng)常進行行如下查詢詢:selectwid顧客編號,城市,街道,郵編fromworkerwwherew.address.zip=100084;可建索引如如下:createindexI_ziponworker(address.zip);使用對象表表——面向?qū)ο髷?shù)據(jù)庫庫設(shè)計建立對象表表的類建類型(對對象類型聲聲明)createtype類型名asobject(屬性名1類類型說說明,屬性名2類類型說說明,…...memberfunction函數(shù)名(參數(shù)說明明)return返回類型,memberprocedure過程名(參參數(shù)說明),…);方法說明屬性說明對象屬性類類型對象類型必必須包含一一個或多個個屬性,屬屬性的類型型可以是:Oracle的原始數(shù)據(jù)據(jù)類型、LOB對象對象的引用用(REF)收集(COLLECTION)等對象方法方法是一個個過程或函函數(shù),是是對象類型型定義的一一部分,是是程序員編編寫的用于于操縱對象象屬性的子子程序,被被封裝在對對象類型中中。方法的種類類:成員方法(member)構(gòu)造方法(constructor)MAP或ORDER方法(排序序方法)一個類可以以有多個方方法(也可可以不定義義方法)對象類型不不存儲數(shù)據(jù)據(jù);必須創(chuàng)創(chuàng)建相應(yīng)的的表來存儲儲數(shù)據(jù)編寫方法代代碼建類型體((實現(xiàn)類成成員方法))createtypebody類型名ASmemberfunction函數(shù)方法名名(參數(shù)數(shù)說明)return返回類型is說明部分begin執(zhí)行部分end;memberprocedure過程方法名名(參數(shù)說說明)is說明部分begin執(zhí)行部分end;END;方法實現(xiàn)方法實現(xiàn)建立對象表表建對象表Createtable表名of對象類型((…);例:CREATETYPEemployee_typeASOBJECT(...);CREATETABLEemployeesOFemployee_type(empnoconstrainte1primarykey);CREATETYPEBODYemployee_type(…);表定義的其其他說明,,如完整性性約束等,,表的列不不能再定義義建立對象類類型例CREATETYPEemployee_typeASOBJECT(empno NUMBER(3),ename VARCHAR2(10),salNUMBER(6.2),hiredateDATE,MEMBERFUNCTIONdays_at_companyRETURNNUMBER,MEMBERPROCEDUREraise_salary(increment_salNUMBER));/創(chuàng)建對象表表CREATETABLEemployeesOFemployee_type(PRIMARYKEY(empno),UNIQUE(ename),CHECK(sal>300));建立對象類類型體CREATEORREPLACETYPEBODYemployee_typeASMEMBERFUNCTIONdays_at_companyRETURNNUMBERISBEGINRETURNfloor(sysdate-hiredate);END;MEMBERPROCEDUREraise_salary(increment_salNUMBER)ISBEGINUPDATEemployeesSETsal=sal+increment_salWHEREempno=SELF.empno;END;END;對方法的限限制編譯軟件包包中的函數(shù)數(shù)或過程時時,可以以使用PRAGMA編譯指令通通知PL/SQL編譯器禁止止某方法對對數(shù)據(jù)庫表表和包中的的變量讀寫寫,當(dāng)方方法體中出出現(xiàn)違反情情況時,編編譯出錯錯。格式:PRAGMARESTRICT_REFERENCES(function_name,WNDS[,WNPS][,RNDS][,RNPS]);WNDS不允許寫數(shù)數(shù)據(jù)庫RNDS不允許讀數(shù)數(shù)據(jù)庫WNPS不允許改程程序包變量量RNPS不允許引用用程序包變變量對方法的限限制CREATEORREPLACETYPEemployee_typeASOBJECT(empno NUMBER,ename VARCHAR2(10),salNUMBER,hiredateDATE,MEMBERFUNCTIONdays_at_companyRETURNNUMBER,MEMBERPROCEDUREraise_salary(increment_salNUMBER),PRAGMARESTRICT_REFERENCES(days_at_company,WNDS,WNPS));對方法的限限制CREATEORREPLACETYPEBODYemployee_typeASMEMBERFUNCTIONdays_at_companyRETURNNUMBERISBEGINRETURNfloor(sysdate-hiredate);UPDATEemployeesSEThiredate=hiredate+30;--END;…..END;-----------------------------------------------------------------------0/0PL/SQL:Compilationunitanalysisterminated2/10PLS-00452:子程序'DAYS_AT_COMPANY'違反了它的的相關(guān)編譯譯指令對象類型--構(gòu)造子子方法Oracle自動地為每每個對象類類型創(chuàng)建一一個構(gòu)造方方法。構(gòu)造子方法法的名稱采采用對象類類型名。構(gòu)造子方法法的參數(shù)即即對象類型型的所有屬屬性。構(gòu)造子方法法初始化一一個對象類類型的實例例,并將將它的屬性性賦值。例:insertintoemployeesvalues(employee_type(1,‘‘Jone’,500,‘5-10月-1989’));對象表操作作建表createtableemployeesofemployee_type;插入數(shù)據(jù)insertintoemployeesvalues(employee_type(1,‘Jone’’,500,‘5-10月-1989’));insertintoemployees--省略構(gòu)構(gòu)造方法values(1,‘Jone’,1500,‘5-10月-1989’);insertintoemployeesvalues(2,'smith',700,‘10-5月-1997');insertintoemployeesvalues(3,‘king’,900,’25-12月-2000’);獲取行對象——value函數(shù)value(對象表別名))返回一個行行對象(對象象類型)value用于從對象表表中取得對象象實例。不使用value,SELECT只能返回一個個對象的各個個列值。select*fromemployees;EMPNOENAMESALHIREDATE----------------------------------------------------------------------------------1Jone150005-10月-892smith70010-5月-973king90025-12月-00selectvalue(e)fromemployeese;VALUE(E)(EMPNO,ENAME,HIREDATE)--------------------------------------------------------------------EMPLOYEE_TYPE(1,'Jone',1500,‘‘05-10月-89')EMPLOYEE_TYPE(2,’smith',700,'10-5月-97')EMPLOYEE_TYPE(3,’king',900,‘25-12月-00')對象表方法調(diào)調(diào)用selectename,hiredatefromemployeeswhereempno=1;EMPNAMEHIREDATE--------------------------------------------Jone05-10月-89selectename,e.days_at_company()daysfromemployeesewhereempno=3;EMPNAMEDAYS-----------------------------------------------------------------------------------------------------------------king45使用別名在PL/SQL程序中,取得得的對象實例例必須被相同同類型的對象象變量接收。。例:declareempemployee_type;beginselectvalue(e)intoempfromemployeesewhereempno=1;emp.raise_salary(500);end;/PL/SQL中對象方法的調(diào)調(diào)用PL/SQL中對象方法的調(diào)調(diào)用DECLAREemp_variable employee_type;days_employed number;BEGINSELECTVALUE(e)INTOemp_variableFROMemployeeseWHEREe.empno=3;days_employed:=emp_variable.days_at_company();dbms_output.put_line(‘Daysemployed:‘||to_char(days_employed));END;/附:PL/SQL輸出與環(huán)境設(shè)設(shè)置執(zhí)行結(jié)果:Daysemployed:26PL/SQL輸出(利用包包過程)dbms_output.put_line(‘…’);環(huán)境設(shè)置execdbms_output.enablesetserveroutputon對象方法小結(jié)結(jié)對象類型總是是有1到多個個方法(構(gòu)造造方法是隱含含方法,成員員方法為0~n個。成員方法可以以帶輸入輸出出參數(shù)。每個成員方法法含有名為SELF的隱隱含第一參數(shù)數(shù),它具有與與對象類型自自身相同的類類型。定義函數(shù)方法法,如沒參數(shù)數(shù)不用寫括號號,但調(diào)用時時要寫括號。。定義方法形形參時,類型型不用寫長度度,如varchar2對象表的特性性對象表是只用用對象類型定定義的數(shù)據(jù)庫庫表,不含關(guān)關(guān)系型列。對象表的列對對應(yīng)(用來創(chuàng)創(chuàng)建表的)對對象類型的屬屬性。對象表的行是是表類型的對對象(實例),每一行都都有一個系統(tǒng)統(tǒng)分配的唯一一的對象標(biāo)識識符(OID)對象ID(OID)是每一個行對對象的唯一描描述符,是全全局唯一的,并且可以引引用OID不用于定位數(shù)數(shù)據(jù),ROWID仍用于定位數(shù)數(shù)據(jù)oracle通過對象引用用實現(xiàn)數(shù)據(jù)庫庫中不同對象象之間的聯(lián)系系(與關(guān)系表表完全不同))獲取對象引用用—ref函函數(shù)具有OID的對象實例可可以被引用(REF)ref(對象表的別名名)返回對象表實實例指針,即即行對象的引用。例:selectref(e)fromemployeese;REF(e)------------------------------------------------------------------------------------------------------------------------------------------------------------------000028020965D...0BEFE0340800209ADC5901403BE50000000028020965D...0BEFE0340800209ADC5901403BE50001000028020965D...0BEFE0340800209ADC5901403BE50002對象引用例建立對象表custCreatetypecust_typeasobject(custid number(5),namename_type,addressaddress_type);createtablecustofcust_type(custidprimarykey);對象引用例向cust表中插入數(shù)據(jù)據(jù)insertintocustvalues(1,name_type('王','至遠(yuǎn)遠(yuǎn)'),address_type(‘北京’,‘白白頤路5號’’,100084));insertintocustvalues(2,name_type(‘張’,‘大年年'),address_type('天津','康康寧里20號號',300072));insertintocustvalues(3,name_type('趙','力平平'),address_type('上海','南南京路23號號',200092));對象引用例查詢cust表select*fromcustwherecustid=1;.first_name=‘王’;修改cust表結(jié)構(gòu)???altertablecustadd(address1address_type);不允許?。。?!對象引用例建立goods_typeCREATETYPEgoods_typeASOBJECT(gnoNUMBER(3),gnamevarchar2(20),pricenumber(6,2));/CREATETABLEgoodsOFgoods_type(constraintp1primarykey(gno));INSERTINTOgoodsVALUES(101,'電視機',2900);INSERTINTOgoodsVALUES(102,'洗衣機',1500);對象引用例CREATETYPEorder_typeASOBJECT(orderid NUMBER(3),customer REFcust_type,orderdateDATE,qtyNUMBER(5),gnoNUMBER(3));/CREATETABLEordersOForder_type(FOREIGNKEY(gno)REFERENCESgoods(gno));對象引用例----customer----gnonumberorders----2張大年年----custgno----goodsOID=對象表—對象象引用REF是指向行對象象的指針,易易于實現(xiàn)表和和表之間的聯(lián)聯(lián)系,對象之之間連接不再再需要關(guān)系表表的連接(JOIN)操作。將對象表的表表別名作為REF的參數(shù),可以以取得對應(yīng)OID的引用值。引用只能用于于具有OID的對象。customerREF cust_typeSCOPEISCUSTSCOPE子句用于限定定一個引用在在一個指定表表中,這樣可可以提高查詢詢性能,并減減少存儲指針針的空間。INSERTINTOordersSELECT1,ref(c),‘7-1月-2000’,165,101FROMcustcWHEREcustid=1;UPDATEordersSETcustomer=(SELECTREF(c)FROMcustcWHEREcustid=2)WHEREorderid=1;引用類型數(shù)據(jù)據(jù)的操作引用類型數(shù)據(jù)據(jù)的操作SELECTcustomerFROMordersWHEREorderid=1;22020865F009D0AC262…42A35E0340800…顧客號,名,orderdate日期FROMordersoWHEREorderid=1顧客號名名日日期---------------------------2大年07-1月-00對象引用—簡簡化了代碼數(shù)據(jù)庫管理對對象間的連系系,用戶只需需通過屬性進進行對象的引引用。在關(guān)系設(shè)計中中,開發(fā)人人員必須使用用聯(lián)接(JOIN)SELECTname,address,...FROMorderso,custcWHEREo.custid=c.custidandorderid=1;deref函函數(shù)deref(ref指針)返回指指針指向的對對象本身例:selectderef(customer)fromorderswhereorderid=1;DEREF(CUSTOMER)(CUSTID,NAME(FIRST_NAME,LAST_NAME),ADDRESS(CITY,STREET,ZIP))---------------------------------------------------------------------------------CUST_TYPE(2,NAME_TYPE(‘張’’,‘大年年’),ADDRESS_TYPE(‘天津津’,‘康康寧里20號號’,300072))試比較:selectderef(ref(c))fromcustcwherecustid=2;和selectvalue(c)fromcustcwherecustid=2;SQL語句中中的排序和比比較傳統(tǒng)的數(shù)據(jù)類類型主要為標(biāo)標(biāo)量數(shù)據(jù)類型型:number,char,date標(biāo)量數(shù)據(jù)類型型可以排序((如orderby…)排序在SQL語句的使用::關(guān)系運算(><=)between及in的判斷orderbygroupbydistinct子句unique和primarykey約束自定義數(shù)據(jù)類類型如何排序序selectwname,addressfromworkerorderbyaddress;錯誤位于第2行:ORA-22950:無法ORDER沒有MAP或ORDER方法的對象對象類型的排排序方法同類的排序?qū)χС钟脩舳ǘx的對象類類型很重要。。對象類型由于于結(jié)構(gòu)復(fù)雜,必須借助助方法實現(xiàn)排排序和比較。。MAP方法將對象類類型轉(zhuǎn)換為傳傳統(tǒng)數(shù)據(jù)類型型。ORDER方法提供排序序規(guī)則。比較較本對象和另另一對象實例例,并返回回1,0,-1分別代表大于、等于、、小于。一個對象類型型只能有一個個MAP方法或一個ORDER方法:mapmemberfunction……ordermemberfunction…MAP方法法例對象類型---->標(biāo)標(biāo)量類型方法返回一個個傳統(tǒng)數(shù)據(jù)類類型用于排序序。沒有輸入?yún)?shù)數(shù)(只有一個個隱含參數(shù)SELF)。方法被隱含調(diào)調(diào)用。在類型定義中中說明MAP方法:CREATETYPEname_typeASOBJECT(first_namevarchar2(4),last_namevarchar2(4),MAPMEMBERFUNCTIONname_mapRETURNvarchar2);在類型體中實實現(xiàn)MAP方法:CREATETYPEBODYname_typeASMAPMEMBERFUNCTIONname_mapRETURNvarchar2ISBEGINRETURNfirst_name||last_name;END;END;排序:FROMcustcORDERBYnamedesc;任何基于name_type類型的的排序按名稱稱的拼接串作作為大小比較較的依據(jù)。MAP方法法例MAP方法隱隱含調(diào)用ORDER方法決定類型實例例的序列關(guān)系系。有一個參數(shù)(外加一個隱隱含的參數(shù)SELF)函數(shù)方法返回回一個整數(shù)如果對象自身身比參數(shù)對象象小,返回回-1如果對象自身身與參數(shù)對象象相等,返返回0如果對象自身身比參數(shù)對象象大,返回回1ORDER方法例1在類型定義中中聲明order方法:CREATEorreplaceTYPEaddress_typeASOBJECT(city VARCHAR2(10),streetVARCHAR2(10),zipNUMBER(6),ORDERMEMBERFUNCTIONaddress_order(other_addressaddress_type)RETURNINTEGER);在類型體中實實現(xiàn)方法:CREATEORREPLACETYPEBODYaddress_typeASORDERMEMBERFUNCTIONaddress_order(other_addressaddress_type)RETURNINTEGERISBEGINIFself.zip<other_address.zipTHENRETURN1;ELSIFself.zip>other_address.zipTHENRETURN-1;ELSERETURN0;ENDIF;END;END;ORDER方法例1郵編數(shù)小的地地址大ORDER方法例1排序:_name姓,名,城市,郵編fromcustcorderbyc.addressdesc;排序結(jié)果:姓名名城城市郵郵編------------------------------------------------王至至遠(yuǎn)北北京100084趙力力平上上海200092張大大民天天津300072ORDER方法例2CREATEORREPLACETYPEemployee_typeASOBJECT(empnoNUMBER(3),enameVARCHAR2(10),salNUMBER(6.2),hiredateDATE,MEMBERFUNCTIONdays_at_companyRETURNNUMBER,MEMBERPROCEDUREraise_salary(increment_salNUMBER),PRAGMARESTRICT_REFERENCES(days_at_company,WNDS,WNPS),ORDERMEMBERFUNCTIONemp_order(other_empemployee_type)RETURNINTEGER);ORDER方法例2CREATEORREPLACETYPEBODYemployee_typeASMEMBERFUNCTIONdays_at_companyRETURNNUMBERISBEGINRETURNfloor(sysdate-hiredate);END;MEMBERPROCEDUREraise_salary(increment_salNUMBER)ISBEGINUPDATEemployeesSETsal=sal+increment_salWHEREempno=SELF.empno;END;ORDER方法例2ORDERMEMBERFUNCTIONemp_order(other_empemployee_type)RETURNINTEGERISBEGINRETURNFLOOR(-(SELF.hiredate-other_emp.hiredate));END;END;/ORDER方法例2select*fromemployeeseorderbyvalue(e);--按對象大小排排序EMPNOENAMESALHIREDATE------------------------------------------------3king90025-12月-002smith70010-5月-971Jone150005-10月-89對象類型維護護ALTERTYPEemployee_typeREPLACEASOBJECT(empnoNUMBER,enameVARCHAR2(10),salNUMBER,hiredateDATE,MEMBERFUNCTIONdays_at_companyRETURNNUMBER,MEMBERPROCEDUREraise_salary(increment_salNUMBER),PRAGMARESTRICT_REFERENCES(days_at_company,wnds,wnps),對象類型維護護ORDERMEMBERFUNCTIONemp_order(other_empemployee_type)RETURNINTEGER,MEMBERFUNCTIONmonth_at_company--新方方法法RETURNNUMBER,PRAGMARESTRICT_REFERENCES(month_at_company,wnds));/對象象類類型型維維護護CREATEORREPLACETYPEBODYemployee_typeASMEMBERFUNCTIONdays_at_companyRETURNNUMBERISBEGINRETURNfloor(sysdate-hiredate);END;MEMBERPROCEDUREraise_salary(increment_salNUMBER)ISBEGINUPDATEemployeesSETsal=sal+increment_salWHEREempno=SELF.empno;END;對象象類類型型維維護護ORDERMEMBERFUNCTIONemp_order(other_empemployee_type)RETURNINTEGERISBEGINRETURNFLOOR(-(SELF.hiredate––other_emp.hiredate));END;MEMBERFUNCTIONmonth_at_companyRETURNNUMBERISBEGINRETURNmonths_between(sysdate,hiredate);END;END;/對象象類類型型信信息息與類類型型有有關(guān)關(guān)的的數(shù)數(shù)據(jù)據(jù)字字典典視視圖圖user_typestype_nameattributesmethods……user_type_attrstype_nameattr_namelengthattr_type_name……user_type_methodstype_namemethod_name……對象象類類型型信信息息查看看對對象象類類型型selecttype_name,attributes,methodsfromuser_types;TYPE_NAMEATTRIBUTESMETHODS--------------------------------------------------------------ADDRESS_TYPE31EMPLOYEE_TYPE31NAME_TYPE20columntype_nameformata20wrapcolumnattributesformat999wrapcolumnmethodsformat999wrap對象類型型信息查看類屬屬性定義義selectattr_name,length,attr_type_namefromuser_type_attrswheretype_name=‘ADDRESS_TYPE’;ATTR_NAMELENGTH ATTR_TYPE_NAME-------------------------------------------------------------------CITY20VARCHAR2STREET30VARCHAR2ZIPNUMBER對象類型型信息查看類方方法定義義selecttype_name,method_namefromuser_type_methods;TYPE_NAMEMETHOD_NAME-----------------------------------------------ADDRESS_TYPEADDRESS_ORDEREMPLOYEE_TYPEDAYS_AT_COMPANYEMPLOYEE_TYPEMONTH_AT_COMPANYEMPLOYEE_TYPEEMP_ORDERNAME_TYPENAME_MAP對象類型型相關(guān)性性在對象和和對象類類型之間間存在相相關(guān)樹。。必須保保證樹的的完整。。不允許許破壞被被引用的的類型。。例如:droptypename_type;當(dāng)類型已被被引用時時不讓刪刪droptypename_typeforce;強行刪除除,再查查使用該該類型定定義的表表時出錯錯。name_typeaddress_type對象類型型相關(guān)性性workercust_typeCustemployee_typeemployeesordersgoodsgoods_typeorder_type查看對象象相關(guān)性性例:selectname,type,referenced_nameRname,referenced_typeRtypefromuser_dependencieswherename=‘ORDERS’’;NAMETYPERNAMERTYPE-------------------------------------------------------------------------ORDERSTABLESTANDARDPACKAGEORDERSTABLECUST_TYPETYPEORDERSTABLEORDER_TYPETYPE查看對象象相關(guān)性性例:=‘‘CUST’nametypeRnameRtype---------------------------------------------------------------------------------------------------------------CUSTTABLESTANDARDPACKAGECUSTTABLENAME_TYPETYPECUSTTABLEADDRESS_TYPETYPECUSTTABLECUST_TYPETYPE例:select……referenced_name=‘‘cust_type’;查看哪些些對象使使用了cust_type類型。查看對象象相關(guān)性性例:=‘‘CUST_TYPE’;nametypeRnameRtype-------------------------------------------------------------------------CUST_TYPETYPESTANDARDPACKAGECUST_TYPETYPENAME_TYPETYPECUST_TYPETYPEADDRESS_TYPETYPE列出依賴賴樹:執(zhí)行oracle根目錄/rdbms/admin/utldtree.sql生成兩個個視圖deptree和ideptree程序視圖圖顯示依依賴樹。。小結(jié)—對對象屬性性和方法法當(dāng)使用表表的當(dāng)前前行對象象時,對對象屬性性和方法法的引用用必須使使用表的的別名,,而不能能是實際際的表名名.first_name='王';selecte.days_at_company()fromemployeesewheree.empno=3;小結(jié)—列列對象與與行對象象列對象::嵌入型型對象,,作為表表中的列列來處理理的對象象,要通通過主表表才能訪訪問。自定義復(fù)復(fù)合數(shù)據(jù)據(jù)類型可變數(shù)組組嵌套表行對象::不是嵌嵌入型對對象,而而是引用用型對象象,可以以通過其其他對象象的引用用(ref)來訪問。。列對象沒沒有OID,而且不能能被引用用。列對象是是基于對對數(shù)據(jù)庫庫已有功功能的擴擴充(自自定義類類型)。。收集類型型Oracle的數(shù)據(jù)類類型擴展展收集類型型實現(xiàn)一對對多關(guān)系系的模型型化。在關(guān)系設(shè)設(shè)計中,,只能通通過聯(lián)接接(JOIN)實現(xiàn)表的的關(guān)聯(lián),將導(dǎo)導(dǎo)致復(fù)雜雜的運算算。在對象設(shè)設(shè)計中,,可以通通過收集集實現(xiàn)對對象類型型的關(guān)聯(lián)聯(lián)收集類型型記錄數(shù)組表收集類類型--可可變數(shù)數(shù)組支持有有序的的一對對多的的關(guān)系系。可以在在一行行中存存儲某某個記記錄的的重復(fù)復(fù)屬性性??勺儯?,但要要指定定數(shù)組組最大大容量量。數(shù)組元元素具具有相相同類類型,,可以以是基基本本類型型、REF或?qū)ο笙箢愋托?。但但不能能是嵌嵌套表表或可可變?shù)數(shù)組類類型。。不能是是VARRAYOFLOB類型book數(shù)據(jù)結(jié)結(jié)構(gòu)分析化化學(xué)相關(guān)圖圖Book_list_type(varray(5)ofvarchar2(10)borrower_type(sno,sname,class,books)borrower使用數(shù)數(shù)組類類型定義數(shù)數(shù)組類類型CREATETYPEbook_list_typeASVARRAY(5)OFVARCHAR2(10);建借閱閱者表表的類類型CREATETYPEborrower_typeASOBJECT(snoNUMBER(6),snameVARCHAR2(10),classVARCHAR2(10),booksbook_list_type,MEMBERFUNCTIONadd_book(bookVARCHAR2)RETURNbook_list_type,PRAGMArestrict_references(add_book,WNDS));在方法法中處處理數(shù)數(shù)組類類型數(shù)數(shù)據(jù)實現(xiàn)類類方法法CREATETYPEBODYborrower_typeASMEMBERFUNCTIONadd_book(bookvarchar2)RETURNbook_list_typeIStemp_arraybook_list_type;counterINTEGER;BEGINtemp_array:=SELF.books;counter:=temp_array.COUNT+1;temp_array.EXTEND;temp_array(counter):=book;RETURNtemp_array;END;END;建含有有數(shù)組組的對對象表表CREATETABLEborrowerOFborrower_type;收集類類型--收收集的的方法法收集(collection)的方法法:內(nèi)內(nèi)置置的函函數(shù)和和過程程函數(shù)方方法::EXISTS(n)當(dāng)收集集類型型中指指定元元素存存在為為“真真”COUNT返回當(dāng)當(dāng)前收收集類類型中中的元元素個個數(shù)。。LIMIT返回可可變數(shù)數(shù)組元元素個個數(shù)的的上限限值FIRSTandLAST返回收收集中中第一一個和和最后后一個個元素素的下下標(biāo)。。((對于于可變變數(shù)組組,總總是返返回1和count)PRIOR(n)andNEXT(n)返回指指定元元素的的前一一個和和后一一個元元素的的下標(biāo)標(biāo)。收集類類型--收收集的的方法法過程方方法::EXTEND擴充收收集的的大小小extend擴充一一個空空元素素extend(n)擴充n個空元元素extend(n,I)將收集集中第第I個元素素拷貝貝n份,追追加到到收集集中。。TRIM從收集集尾部部刪除除元素素trim刪除收收集中中最后后一個個元素素trim(n)刪除收收集中中最后后n個元素素DELETE刪除元元素delete刪除收收集中中所有有元素素delete(n)刪除收收集中中第n個元素素delete(m,n)刪除收收集中中第m~n個元素素收集類類型--可可變數(shù)數(shù)組插入數(shù)數(shù)據(jù)INSERTINTOborrowerVALUES(980001,‘‘李星’’,‘‘力01’’,book_list_type(‘‘?dāng)?shù)據(jù)結(jié)結(jié)構(gòu)’’,‘‘大學(xué)學(xué)物理理’));INSERTINTOborrowerVALUES(970025,‘‘王辰’’,‘‘化91’’,book_list_type(‘‘計算方方法’’,‘‘分析析化學(xué)學(xué)’));修改數(shù)數(shù)據(jù)((增加加一本本書))UPDATEborrowerbSETb.books=b.add_book('物理習(xí)習(xí)題集集')WHEREb.sno=980001;包含可可變數(shù)數(shù)組列列的查查詢查詢::selectsname,booksfromborrower;SNAMEBOOKS---------------------------------------------------------------------------李星BOOK_LIST_TYPE('數(shù)據(jù)結(jié)結(jié)構(gòu)','物物理習(xí)習(xí)題集集')王辰BOOK_LIST_TYPE(‘計算方方法’’,‘‘分分析化化學(xué)’’)查數(shù)組組元素素?selectb.sname,b.class,b.books(2)fromborrowerb錯誤位位于第第1行行:*ORA-00904:非法的的列名名可變數(shù)數(shù)組的的操作作對數(shù)組組元素素的檢檢索不不能簡簡單地地用select語句,,而應(yīng)應(yīng)在PL/SQL里用有有關(guān)方方法和和循環(huán)環(huán)結(jié)構(gòu)構(gòu)查詢詢。declarecursorc1isselect*fromborrower;beginforrinc1loopdbms_output.put_line(’’borrowername’’||r.sname);loopdbms_output.put_line(r.books(i));endloop;endloop;end;收集類型方方法例在方法中直直接修改數(shù)數(shù)據(jù)庫MEMBERPROCEDUREdel_book(bookvarchar2)ISold_booksbook_list_type;new_booksbook_list_type;iinteger:=1;jinteger;BEGINold_books:=SELF.books;new_books:=book_list_type();--初始化一個個數(shù)組收集類型方方法例WHILEi<=old_books.COUNT()LOOPIFold_books(i)=bookTHENi:=i+1;ELSEnew_books.EXTEND(1);j:=new_books.COUNT();new_books(j):=old_books(i);i:=i+1;ENDIF;ENDLOOP;UPDATEBORROWERSETbooks=new_booksWHEREsno=SELF.sno;END;END;/調(diào)用方法declareb_objborrower_type;beginselectvalue(b)intob_objfromborrowerbwheresno=980001;b_obj.del_book('數(shù)據(jù)結(jié)構(gòu)');--調(diào)用還書方方法end;收集類型方方法例還能借幾本本MEMBERFUNCTIONbnum_bookRETURNnumberIStemp_arraybook_list_type;BEGINtemp_array:=SELF.books;RETURNtemp_array.limit-temp_array.count;END;查詢可再借借幾本書selectb.bnum_book()fromborrowerbwheresno=980001;-----------------------------3收集類型方方法例MEMBERPROCEDUREclear_bookISBEGINSELF.books.delete;UPDATEborrowerSETbooks=SELF.booksWHEREsno=SELF.sno;EN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版智能電網(wǎng)建設(shè)與運營入股合同范本3篇
- 2025年度個人委托代繳社保代理合同樣本3篇
- 二零二五年度地下管線探測與測繪分包合同精準(zhǔn)實施范本3篇
- 2025年水泥編織袋市場拓展與品牌戰(zhàn)略合作框架協(xié)議3篇
- 2025年度制片人知識產(chǎn)權(quán)聘用合同規(guī)范
- 二零二五年度倉儲用地租賃合同簡易范本3篇
- 二零二五年度農(nóng)行電子商務(wù)平臺技術(shù)支持與維護合同
- 2025年離婚協(xié)議簽訂時效與婚姻解除后續(xù)子女監(jiān)護權(quán)協(xié)議合同3篇
- 二零二五版廢輪胎膠粉回收及橡膠制品生產(chǎn)合同3篇
- 二零二五年度品牌酒店用品采購合同
- JTG∕T E61-2014 公路路面技術(shù)狀況自動化檢測規(guī)程
- 高中英語短語大全(打印版)
- 2024年資格考試-對外漢語教師資格證筆試參考題庫含答案
- 軟件研發(fā)安全管理制度
- 三位數(shù)除以兩位數(shù)-豎式運算300題
- 寺院消防安全培訓(xùn)課件
- 比摩阻-管徑-流量計算公式
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、異丙醇和正丁醇檢驗
- 五年級數(shù)學(xué)應(yīng)用題100道
- 西方經(jīng)濟學(xué)(第二版)完整整套課件(馬工程)
- GB/T 33688-2017選煤磁選設(shè)備工藝效果評定方法
評論
0/150
提交評論