freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle8對象關(guān)系數(shù)據(jù)庫-文庫吧在線文庫

2025-02-14 23:13上一頁面

下一頁面
  

【正文】 長字段 ? 設(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ù)和信息的工具。 ? 原子字段,字段不再含有結(jié)構(gòu)。 面向?qū)ο蟮幕靖拍? ? 面向?qū)ο蠓椒ㄊ且砸鉀Q的問題中所涉及到的各種對象為主要考慮因素。 對象的屬性與方法 ? 面向?qū)ο蟪绦蛟O(shè)計中的對象是現(xiàn)實世界對象的模型化,它同樣具有狀態(tài)和行為。 ? 面向?qū)ο蟮臄?shù)據(jù)模型是面向?qū)ο蟪绦蛟O(shè)計思想在數(shù)據(jù)庫系統(tǒng)中的應(yīng)用。 數(shù)據(jù)模型 現(xiàn)實世界 認識 抽象 信息世界-概念數(shù)據(jù)模型 機器世界- DBMS支持的數(shù)據(jù) 模型 對象模型 轉(zhuǎn)換 對象模型與關(guān)系模型 ? 對象模型 ? 對象類型的屬性描述 ? 對象類型的方法封裝了操作該對象的代碼。 CREATE TABLE worker ( wid NUMBER(5) PRIMARY KEY, wname name_type , address address_type ) 。), address_type(39。趙 39。 對象類型數(shù)據(jù)的查詢 ? 查詢語句 1 select * from worker 。 ? 刪除 delete from worker where wid=1。 使用對象表 — 面向?qū)ο髷?shù)據(jù)庫設(shè)計 建立對象表的類 ? 建類型(對象類型聲明) create type 類型名 as object( 屬性名 1 類型說明, 屬性名 2 類型說明, … ... member function 函數(shù)名 (參數(shù)說明 ) return 返回類型 , member procedure 過程名 (參數(shù)說明 ), … ) ; 方法說明 屬性說明 對象屬性類型 ? 對象類型必須包含一個或多個屬性 ,屬性的類型可以是 : ? Oracle的原始數(shù)據(jù)類型、 ? LOB ? 對象 ? 對象的引用( REF) ? 收集( COLLECTION) 等 對象方法 ? 方法是一個過程或函數(shù) , 是對象類型定義的一部分,是程序員編寫的用于操縱對象屬性的子程序,被封裝在對象類型中。 表定義的其他說明,如完整性約束等,表的列不能再定義 建立對象類型例 CREATE TYPE employee_type AS OBJECT ( empno NUMBER(3), ename VARCHAR2(10), sal NUMBER(), hiredate DATE , MEMBER FUNCTION days_at_pany RETURN NUMBER, MEMBER PROCEDURE raise_salary(increment_sal NUMBER) )。 ? 格式 : PRAGMA RESTRICT_REFERENCES ( function_name, WNDS [, WNPS] [, RNDS] [, RNPS] )。 違反了它的相關(guān)編譯指令 對象類型 構(gòu)造子方法 ? Oracle 自動地為每個對象類型創(chuàng)建一個構(gòu)造方法。 insert into employees values (2,39。 EMPNO ENAME SAL HIREDATE 1 Jone 1500 0510月 89 2 smith 700 105月 97 3 king 900 2512月 00 select value(e) from employees e。, 900,‘2512月 0039。 / PL/SQL中 對象方法的調(diào)用 PL/SQL中 對象方法的調(diào)用 DECLARE emp_variable employee_type。 ? 成員方法可以帶輸入輸出參數(shù)。 create table cust of cust_type (custid primary key )。天津 39。), address_type(39。 不允許?。?! 對象引用例 ? 建立 goods_type CREATE TYPE goods_type AS OBJECT( gno NUMBER(3), gname varchar2(20), price number(6,2) )。 對象引用例 CREATE TYPE order_type AS OBJECT( orderid NUMBER(3), customer REF cust_type, orderdate DATE, qty NUMBER(5), gno NUMBER(3) )。 引用類型數(shù)據(jù)的操作 引用類型數(shù)據(jù)的操作 SELECT customer FROM orders WHERE orderid = 1。 ? 對象類型由于結(jié)構(gòu)復(fù)雜 , 必須借助方法實現(xiàn)排序和比較。 ? 在類型體中實現(xiàn) MAP方法: CREATE TYPE BODY name_type AS MAP MEMBER FUNCTION name_map RETURN varchar2 IS BEGIN RETURN first_name || last_name 。 ELSIF THEN RETURN 1。 END。 / 對象類型維護 CREATE OR REPLACE TYPE BODY employee_type AS MEMBER FUNCTION days_at_pany RETURN NUMBER IS BEGIN RETURN floor(sysdate hiredate)。 END。 當 類型已被引用時不讓刪 drop type name_type force 。王 39。 ? 在關(guān)系設(shè)計中,只能通過聯(lián)接 (JOIN)實現(xiàn)表的關(guān)聯(lián) , 將導(dǎo)致復(fù)雜的運算。 在方法中處理數(shù)組類型數(shù)據(jù) ? 實現(xiàn)類方法 CREATE TYPE BODY borrower_type AS MEMBER FUNCTION add_book(book varchar2) RETURN book_list_type IS temp_array book_list_type。 END。 ? 修改數(shù)據(jù)(增加一本書) UPDATE borrower b SET = (39。) 王辰 BOOK_LIST_TYPE(‘計算方法’ , ‘分析化學(xué)’ ) ? 查數(shù)組元素? select ,(2) from borrower b 錯誤位于第 1行: * ORA00904: 非法的列名 可變數(shù)組的操作 ? 對數(shù)組元素的檢索不能簡單地用 select 語句,而應(yīng)在PL/SQL里用有關(guān)方法和循環(huán)結(jié)構(gòu)查詢。 new_books book_list_type。 new_books(j):=old_books(i)。 begin select value(b) into b_obj from borrower b where sno = 980001 。 END。 ? 對嵌套表的操作,首先要定位它 —主表中某個記錄的嵌套表列的值。, book_nt_t(book_t(39。,39。,39。分析化學(xué) 39。117月 0039。 insert into reader values(980003,39。), book_t(39。,39。 BNO BNAME RDATE h101 化工原理 016月 00 s101 線性代數(shù) 156月 00 對包含嵌套表列的表的查詢 select rno , rname , cursor(select * from table() where rdatesysdate) from reader r 。) ))。,39。,39。組合數(shù)學(xué) 39。w10239。李凡 39。), book_t(39。,39。 ? 建立包含嵌套表列的主表類型 CREATE TABLE reader ( rno number(6), rname varchar2(10), books book_nt_t ) NESTED TABLE books STORE AS books_nt_tab 。 END。 調(diào)用還書方法 end 。 UPDATE BORROWER SET books = new_books WHERE sno = 。 new_books:= book_list_type()。 end loop。 SNAME BOOKS 李星 BOOK_LIST_TYPE(39。 (對于可變數(shù)組,總是返回 1和 count) ? PRIOR(n) and NEXT(n) 返回指定元素的前一個和后一個元素的下標。 。 ? 數(shù)組元素具有相同類型,可以是 基本類型、REF或?qū)ο箢愋汀? ? 自定義復(fù)合數(shù)據(jù)類型 ? 可變數(shù)組 ? 嵌套表 ? 行對象:不是嵌入型對象,而是引用型對象,可以通過其他對象的引用 (ref)來訪問。 查看哪些對象使用了 cust_type類型。 TYPE_NAME METHOD_NAME ADDRESS_TYPE ADDRESS_ORDER EMPLOYEE_TYPE DAYS_AT_COMPANY EMPLOYEE_TYPE MONTH_AT_COMPANY EMPLOYEE_TYPE EMP_ORDER NAME_TYPE NAME_MAP 對象類型相關(guān)性 ? 在對象和對象類型之間存在相關(guān)樹。 對象類型維護 ORDER MEMBER FUNCTION emp_order(other_emp employee_type) RETURN INTEGER IS BEGIN RETURN FLOOR( ( – ) )。 END。 END 。 任何基于 name_type類型的排序按名稱的拼接串作為大小比較的依據(jù)。 ? 一個對象類型只能有一個 MAP方法或一個 ORDER方法: ? map member function … ? order member function… MAP 方法例 ? 對象類型 標量類型 ? 方法返回一個傳統(tǒng)數(shù)據(jù)類型用于排序。 DEREF(CUSTOMER)(CUSTID, NAME(FIRST_NAME, LAST_NAME), ADDRESS(CITY, STREET, ZIP)) CUST_TYPE(2
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1