最新Less08Schema模式_第1頁
最新Less08Schema模式_第2頁
最新Less08Schema模式_第3頁
最新Less08Schema模式_第4頁
最新Less08Schema模式_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、8版權(quán)所有 2008,oracle。保留所有權(quán)利。 管理方案對象管理方案對象 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-2 課程目標課程目標 學(xué)完本課后,應(yīng)能完成以下工作:學(xué)完本課后,應(yīng)能完成以下工作: 定義方案對象和數(shù)據(jù)類型定義方案對象和數(shù)據(jù)類型 創(chuàng)建和修改表創(chuàng)建和修改表 定義約束條件定義約束條件 查看表列和表內(nèi)容查看表列和表內(nèi)容 創(chuàng)建索引創(chuàng)建索引 創(chuàng)建視圖創(chuàng)建視圖 創(chuàng)建序列創(chuàng)建序列 說明臨時表的用法說明臨時表的用法 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-3 什么是方案什么是方案hr 方案方案 hr 用戶用戶 擁有擁有 方案方案約束條件約束條件 索引索引 視圖視圖

2、 序列序列 臨時表臨時表 數(shù)據(jù)字典數(shù)據(jù)字典 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-4 訪問方案對象訪問方案對象 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-5 命名數(shù)據(jù)庫對象命名數(shù)據(jù)庫對象 名稱長度必須為名稱長度必須為 1 至至 30 個字節(jié),但以下情況例外:個字節(jié),但以下情況例外: 數(shù)據(jù)庫名稱限制為數(shù)據(jù)庫名稱限制為 8 個字節(jié)。個字節(jié)。 數(shù)據(jù)庫鏈接名最長可為數(shù)據(jù)庫鏈接名最長可為 128 個字節(jié)。個字節(jié)。 不帶引號的名稱不得為不帶引號的名稱不得為 oracle 保留字。保留字。 不帶引號的名稱必須以數(shù)據(jù)庫字符集中的字母字符開頭。不帶引號的名稱必須以數(shù)據(jù)庫字符集中的字母

3、字符開頭。 不建議使用帶引號的名稱。不建議使用帶引號的名稱。 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-6 指定表中的數(shù)據(jù)類型指定表中的數(shù)據(jù)類型 公用數(shù)據(jù)類型:公用數(shù)據(jù)類型: char(size byte|char):長度為長度為 size 個字節(jié)或個字節(jié)或字符的固定長度字符數(shù)據(jù)字符的固定長度字符數(shù)據(jù) varchar2(size byte|char):最大長度為最大長度為 size 個字節(jié)或字符的可變長度字符串個字節(jié)或字符的可變長度字符串 date:有效日期范圍為公元前有效日期范圍為公元前 4712 年年 1 月月 1 日至公元日至公元 9999 年年 12 月月 31 日日 nu

4、mber(p,s):精度為精度為 p 且小數(shù)位數(shù)為且小數(shù)位數(shù)為 s 的數(shù)字的數(shù)字 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-7 創(chuàng)建和修改表創(chuàng)建和修改表 指定表名和方案。 指定表名和方案。 指定列名、數(shù)據(jù)類型和長度。 指定列名、數(shù)據(jù)類型和長度。 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-8 創(chuàng)建和修改表創(chuàng)建和修改表 create table (job_id number(5), job_title varchar2(30),min_salary number(6),max_salary number(6) tablespace users;

5、alter table add bonus number(6);版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-9 了解數(shù)據(jù)完整性了解數(shù)據(jù)完整性 job_history employee_id (pk,fk) start_date (pk) end_date job_id (fk) department_id (fk) employees employee_id (pk) first_name last_name email phone_number hire_date job_id (fk) salary commision_pct manager_id

6、(fk) department_id (fk) departments department_id (pk) department_name manager_id location_id (fk) jobs job_id (pk) job_title min_salary max_salary regions region_id (pk) region_name countries country_id (pk) country_name region_id (fk) locations location_id (pk) street_address postal_code city stat

7、e_province country_id (fk) 方案方案 約束條件約束條件 索引索引 視圖視圖 序列序列 臨時表臨時表 數(shù)據(jù)字典數(shù)據(jù)字典 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-10 定義約束條件定義約束條件 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-11 違反約束條件違反約束條件 違反約束條件的示例包括:違反約束條件的示例包括: 插入重復(fù)的主鍵值插入重復(fù)的主鍵值 刪除引用完整性約束條件中的子行的父行刪除引用完整性約束條件中的子行的父行 更新列值后超出了檢查約束條件的范圍更新列值后超出了檢查約束條件的范圍 103 102 101 101 x 5 16 49 22

8、 id age 30 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-12 約束條件狀態(tài)約束條件狀態(tài) enablenovalidate enablevalidate 現(xiàn)有數(shù)據(jù)現(xiàn)有數(shù)據(jù) 新數(shù)據(jù)新數(shù)據(jù) disablenovalidate disablevalidate 無無 dml 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-13 約束條件檢查約束條件檢查 檢查約束條件的時機:檢查約束條件的時機: 執(zhí)行語句時(對于非延遲約束條件)執(zhí)行語句時(對于非延遲約束條件) 發(fā)出發(fā)出 commit 時(對于延遲約束條件)時(對于延遲約束條件) 案例:案例:dml 語句后接語句后接 commit

9、 已檢查非延遲約束條件已檢查非延遲約束條件 已發(fā)出已發(fā)出 commit 已檢查延遲約束條件已檢查延遲約束條件 commit 已完成已完成 1324版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-14 使用使用 sql 創(chuàng)建約束條件:示例創(chuàng)建約束條件:示例 cbaalter table countriesadd (unique(country_name) enable novalidate);alter table add constraint job_pk primary key (job_id);create table emp (emp_no numbe

10、r primary key,last_name varchar2(30), first_name varchar2(30), dept_no number, mgr_no number, hire_date date,salary number,constraint mgr_fk foreign key (mgr_no) references emp(emp_no), constraint ck1 check (salary 0); 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-15 查看表中的列查看表中的列 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-16 查看表的內(nèi)容查看

11、表的內(nèi)容 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-17 表操作表操作 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-18 刪除表刪除表 刪除一個表將會刪除:刪除一個表將會刪除: 數(shù)據(jù)數(shù)據(jù) 表結(jié)構(gòu)表結(jié)構(gòu) 數(shù)據(jù)庫觸發(fā)器數(shù)據(jù)庫觸發(fā)器 相應(yīng)的索引相應(yīng)的索引 關(guān)聯(lián)的對象權(quán)限關(guān)聯(lián)的對象權(quán)限 drop table 語句的可選子句:語句的可選子句: cascade constraints:相關(guān)的引用完整性約束條件相關(guān)的引用完整性約束條件 purge:無法閃回?zé)o法閃回 drop table hr.employees purge;版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-19 截

12、斷表截斷表 截斷表時會刪除數(shù)據(jù)并釋放已用空間。截斷表時會刪除數(shù)據(jù)并釋放已用空間。 會截斷相應(yīng)的索引。會截斷相應(yīng)的索引。 truncate table hr.employees;版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-20 索引索引 22 22 索引索引 表表 關(guān)鍵字關(guān)鍵字 行指針行指針 where key = 22 方案方案約束條件約束條件 索引索引 視圖視圖 序列序列 臨時表臨時表 數(shù)據(jù)字典數(shù)據(jù)字典 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-21 索引類型索引類型 有多種類型的索引結(jié)構(gòu),可以根據(jù)需要使用。最常用的兩種有多種類型的索引結(jié)構(gòu),可以根據(jù)需要使用。最常用的兩

13、種類型是:類型是: b 樹索引樹索引 默認的索引類型;采用平衡樹的形式默認的索引類型;采用平衡樹的形式 位圖索引:位圖索引: 每個不同的索引值都有一個位圖每個不同的索引值都有一個位圖 每一位代表一行,該行可能包含,也可能不包含索引值。每一位代表一行,該行可能包含,也可能不包含索引值。 最適合于低基數(shù)列最適合于低基數(shù)列 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-22 b 樹索引樹索引 索引條目頭索引條目頭 鍵列長度鍵列長度 鍵列值鍵列值 rowid 根根 分支分支 葉葉 索引條目索引條目 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-23 位圖索引位圖索引 關(guān)鍵字關(guān)鍵字 開始

14、開始 rowid 結(jié)束結(jié)束 rowid 位圖位圖 表表 索引索引塊塊 10 塊塊 11 塊塊 12 文件文件 3 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-24 索引選項索引選項 唯一索引:確保每個索引值都是唯一的唯一索引:確保每個索引值都是唯一的 反向關(guān)鍵字索引:按相反順序存儲其鍵值字節(jié)反向關(guān)鍵字索引:按相反順序存儲其鍵值字節(jié) 組合索引:是基于多列的索引組合索引:是基于多列的索引 基于函數(shù)的索引:是基于函數(shù)返回值的索引基于函數(shù)的索引:是基于函數(shù)返回值的索引 壓縮索引:會刪除重復(fù)的鍵值壓縮索引:會刪除重復(fù)的鍵值 順序:索引可按升序或降序存儲其鍵值順序:索引可按升序或降序存儲其鍵值

15、版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-25 創(chuàng)建索引創(chuàng)建索引 create index my_index onemployees(last_name desc, first_name);版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-26 視圖視圖 country 表表 location 表表 au_br_view view 方案方案約束條件約束條件 索引索引 視圖視圖 聯(lián)接聯(lián)接 create view au_br_view as select location_id, country_name from locations l, countries cwhere l.c

16、ountry_id = c.country_id and c.country_id in (au,br);版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-27 創(chuàng)建視圖創(chuàng)建視圖 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-28 序列序列 序列是按照某種模式自動生成整數(shù)的一種機制。序列是按照某種模式自動生成整數(shù)的一種機制。 序列具有名稱,指明了請求下一個值時引用序列的方式。序列具有名稱,指明了請求下一個值時引用序列的方式。 序列不與任何特定的表或列相關(guān)聯(lián)。序列不與任何特定的表或列相關(guān)聯(lián)。 增長方式可為升序,也可為降序。增長方式可為升序,也可為降序。 編號之間的間隔可為任意大小。編

17、號之間的間隔可為任意大小。 達到上限或下限時,序列可以循環(huán)使用。達到上限或下限時,序列可以循環(huán)使用。 12345方案方案約束條件約束條件 索引索引 視圖視圖 序列序列 臨時表臨時表 數(shù)據(jù)字典數(shù)據(jù)字典 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-29 創(chuàng)建序列創(chuàng)建序列 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-30 使用序列使用序列 sql create table orders (id number, ord_date date, prod_id number, prod_desc varchar2(30) );table created.sql insert into

18、orders values ( abc_seq.nextval, sysdate, 1245009, gizmo x);1 row created. 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-31 臨時表臨時表 臨時表:臨時表: 會話或事務(wù)處理結(jié)束時會自動清除存儲數(shù)據(jù)會話或事務(wù)處理結(jié)束時會自動清除存儲數(shù)據(jù) 為每個會話提供專用數(shù)據(jù)存儲為每個會話提供專用數(shù)據(jù)存儲 可供所有會話使用,而會不影響各個會話的專用數(shù)據(jù)可供所有會話使用,而會不影響各個會話的專用數(shù)據(jù) 方案方案約束條件約束條件 索引索引 視圖視圖 序列序列 臨時表臨時表數(shù)據(jù)字典數(shù)據(jù)字典 版權(quán)所有 2008,oracle。保留所有權(quán)利。 8-32

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論