les12oracle數(shù)據(jù)庫教程_第1頁
les12oracle數(shù)據(jù)庫教程_第2頁
les12oracle數(shù)據(jù)庫教程_第3頁
les12oracle數(shù)據(jù)庫教程_第4頁
les12oracle數(shù)據(jù)庫教程_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、其它數(shù)據(jù)庫對象目標通過本章學習,您將可以: 創(chuàng)建, 維護, 和使用序列創(chuàng)建和維護索引創(chuàng)建私有和公有同義詞常見的數(shù)據(jù)庫對象對象描述表 基本的數(shù)據(jù)存儲集合,由行和列組成。視圖從表中抽出的邏輯上相關的數(shù)據(jù)集合。序列 提供有規(guī)律的數(shù)值。索引提高查詢的效率同義詞 給對象起別名什么是序列?序列:自動提供唯一的數(shù)值共享對象主要用于提供主鍵值代替應用代碼將序列值裝入內存可以提高訪問效率CREATE SEQUENCE 語句定義序列:CREATE SEQUENCE sequence INCREMENT BY n START WITH n MAXVALUE n | NOMAXVALUE MINVALUE n | N

2、OMINVALUE CYCLE | NOCYCLE CACHE n | NOCACHE;創(chuàng)建序列創(chuàng)建序列 DEPT_DEPTID_SEQ為表 DEPARTMENTS 提供主鍵不使用 CYCLE 選項CREATE SEQUENCE dept_deptid_seq INCREMENT BY 10 START WITH 120 MAXVALUE 9999 NOCACHE NOCYCLE;Sequence created.查詢序列查詢數(shù)據(jù)字典視圖 USER_SEQUENCES獲取序列定義信息如果指定NOCACHE 選項,則列LAST_NUMBER 顯示序列中下一個有效的值SELECTsequence_

3、name, min_value, max_value, increment_by, last_numberFROMuser_sequences;NEXTVAL 和 CURRVAL 偽列NEXTVAL 返回序列中下一個有效的值,任何用戶都可以引用CURRVAL 中存放序列的當前值 NEXTVAL 應在 CURRVAL 之前指定 ,二者應同時有效序列應用舉例序列 DEPT_DEPTID_SEQ 的當前值INSERT INTO departments(department_id, department_name, location_id)VALUES (dept_deptid_seq.NEXTVAL

4、, Support, 2500);1 row created.SELECTdept_deptid_seq.CURRVALFROMdual;使用序列將序列值裝入內存可提高訪問效率序列在下列情況下出現(xiàn)裂縫:回滾系統(tǒng)異常多個表同時使用同一序列如果不講序列的值裝入內存(NOCACHE), 可使用表 USER_SEQUENCES 查看序列當前的有效值修改序列修改序列的增量, 最大值, 最小值, 循環(huán)選項, 或是否裝入內存ALTER SEQUENCE dept_deptid_seq INCREMENT BY 20 MAXVALUE 999999 NOCACHE NOCYCLE;Sequence alter

5、ed.修改序列的注意事項必須是序列的擁有者或對序列有 ALTER 權限只有將來的序列值會被改變改變序列的初始值只能通過刪除序列之后重建序列的方法實現(xiàn)其它的一些限制刪除序列使用DROP SEQUENCE 語句刪除序列刪除之后,序列不能再次被引用DROP SEQUENCE dept_deptid_seq;Sequence dropped.索引索引:一種數(shù)據(jù)庫對象通過指針加速 Oracle 服務器的查詢速度通過快速定位數(shù)據(jù)的方法,減少磁盤 I/O索引與表相互獨立Oracle 服務器自動使用和維護索引創(chuàng)建索引自動創(chuàng)建: 在定義 PRIMARY KEY 或 UNIQUE 約束后系統(tǒng)自動在相應的列上創(chuàng)建唯

6、一性索引手動創(chuàng)建: 用戶可以在其它列上創(chuàng)建非唯一的索引,以加速查詢創(chuàng)建索引在一個或多個列上創(chuàng)建索引在表 EMPLOYEES的列 LAST_NAME 上創(chuàng)建索引CREATE INDEX emp_last_name_idxON employees(last_name);Index created.CREATE INDEX indexON table (column, column.);什么時候創(chuàng)建索引以下情況可以創(chuàng)建索引:列中數(shù)據(jù)值分布范圍很廣列中包含大量空值列經(jīng)常在 WHERE 子句或連接條件中出現(xiàn)表經(jīng)常被訪問而且數(shù)據(jù)量很大 ,訪問的數(shù)據(jù)大概占數(shù)據(jù)總量的2%到4%什么時候不要創(chuàng)建索引下列情況不要

7、創(chuàng)建索引:表很小列不經(jīng)常作為連接條件或出現(xiàn)在WHERE子句中查詢的數(shù)據(jù)大于2%到4%表經(jīng)常更新加索引的列包含在表達式中SELECTic.index_name, ic.column_name,ic.column_position col_pos,ix.uniquenessFROMuser_indexes ix, user_ind_columns icWHEREic.index_name = ix.index_nameANDic.table_name = EMPLOYEES;查詢索引可以使用數(shù)據(jù)字典視圖USER_INDEXES 和 USER_IND_COLUMNS 查看索引的信息基于函數(shù)的索引基于

8、函數(shù)的索引是一個基于表達式的索引索引表達式由列, 常量, SQL 函數(shù)和用戶自定義的函數(shù)CREATE INDEX upper_dept_name_idxON departments(UPPER(department_name);Index created.SELECT *FROM departmentsWHERE UPPER(department_name) = SALES;刪除索引使用DROP INDEX 命令刪除索引刪除索引UPPER_LAST_NAME_IDX只有索引的擁有者或擁有DROP ANY INDEX權限的用戶才可以刪除索引DROP INDEX upper_last_name_idx;Index dropped.DROP INDEX index;同義詞使用同義詞訪問相同的對象:方便訪問其它用戶的對象縮短對象名字的長度CREATE PUBLIC SYNONYM synonymFOR object;創(chuàng)建和刪除同義詞為視圖DEPT_SUM_VU 創(chuàng)建同義詞刪除同義詞CREATE SYNONYM d_sumFOR dept_sum_vu;Synonym Cre

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論