Oracle9i數(shù)據(jù)庫對象的管理.ppt_第1頁
Oracle9i數(shù)據(jù)庫對象的管理.ppt_第2頁
Oracle9i數(shù)據(jù)庫對象的管理.ppt_第3頁
Oracle9i數(shù)據(jù)庫對象的管理.ppt_第4頁
Oracle9i數(shù)據(jù)庫對象的管理.ppt_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Oracle9i數(shù)據(jù)庫對象的管理,1 管理表 1.1 表的概念: 表(table)是Oracle9i數(shù)據(jù)庫中的主要對象,是數(shù)據(jù)庫中數(shù)據(jù)存儲的基本單位,存儲著與應用程序相關的一些信息。 每個表是具有一個表名和若干列的集合,每列有一個列名、數(shù)據(jù)類型、寬度或精度、比例,每行是對應單個記錄的列信息的集合。 Oracle9i的表分為永久表和臨時表。永久表即數(shù)據(jù)庫表是在表創(chuàng)建后就自動存儲在數(shù)據(jù)庫中,直到顯示刪除為止;臨時表存儲在內(nèi)存中,機器重啟時將自動刪除。,1.2 創(chuàng)建表:有兩種方式: 1使用Oracle企業(yè)管理器創(chuàng)建表 啟動Oracle企業(yè)管理器,以system身份連接數(shù)據(jù)庫,展開“方案”“SYSTE

2、M”節(jié)點,右擊“表”,彈出如圖1所示的快捷菜單。,圖1 “表”的快捷菜單, 在快捷菜單中選擇“創(chuàng)建”命令,彈出如圖2所示的“創(chuàng)建表”對話框。,圖2 “創(chuàng)建表”對話框(“一般信息”選項卡),“創(chuàng)建表”對話框包含了七個選項卡: n“一般信息”選項卡,如圖2所示。該選項卡可以設置表名、使用的方案、使用的表空間、表的方式、列的屬性等。 u “名稱”文本框:輸入新建表的名稱,表名在數(shù)據(jù)庫的同一方案中是唯一的。表名最長30個字符,以字母開始,后由數(shù)字、下劃線、#、$等組成。本例名為STUDENT。 u “方案”下拉列表框:指定表的方案,可以通過選擇下拉列表項來改變。本例取默認值(SYSTEM)。 u “表

3、空間”下拉列表框:指定該表所屬的表空間,可以通過選擇下拉列表項來改變。本例取默認值(Default)。 u“表”單選按鈕:分“標準”和“按索引組織的表”兩種方式,前者表示建立常規(guī)表,表的一列或多列使用一個索引,為表和索引保留兩個獨立的存儲空間;后者表示建立非常規(guī)表,表的數(shù)據(jù)保存在該表的索引中,更改表中的數(shù)據(jù)(如插入、刪除或修改行等)將使索引更新。本例取默認值(標準)。,“定義列”單選按鈕:表示可以使用可編輯的電子表格編輯列。該電子表格由以下各列構成: u名稱”:要定義的列名,列名在表中是唯一的。本例共定義了5列(SNO、SNAME、SSEX、SAGE、SCLASS分別表示學號、姓名、性別、年齡

4、和班級)。 u “數(shù)據(jù)類型”:列的數(shù)據(jù)類型,可以從下拉列表中選擇。 u “大小”:列值所允許的字節(jié)數(shù)。 u“小數(shù)位”(針對NUMBER數(shù)據(jù)類型):小數(shù)點右邊的位數(shù)。 u “可否為空”:是否允許該列取空值。 u “默認值”:插入新行時該列的默認值。 “定義查詢” 單選按鈕:表示可以使用可編輯的文本區(qū)域來創(chuàng)建基于當前表的PL/SQL查詢語句。 “對象表” 單選按鈕:表示可以創(chuàng)建使用用戶定義的對象類型的對象表。 “XMLType表” 單選按鈕:表示可以創(chuàng)建XML類型的表。,n“約束條件”選項卡,如圖3所示。該選項卡可以使用可編輯的電子表格編輯表的完整性約束條件。完整性約束條件是一種規(guī)則,不占用任何數(shù)

5、據(jù)庫空間,其定義存儲在數(shù)據(jù)字典中,在執(zhí)行 PL/SQL期間使用。該電子表格由以下各列構成:,圖3 “創(chuàng)建表”對話框(“約束條件”選項卡),u“名稱”:要定義的完整性約束條件名,它在數(shù)據(jù)庫中應是唯一的。本例定義了三個完整性約束條件:A1(PRIMARY)-SNO為主鍵,A2(CHECK)-SSEX IN(男,女),A3(CHECK)-SAGE BETWEEN 18 AND 24。 u“類型”:約束條件類型,下拉列表中顯示了可用的約束條件類型有UNIQUE、PRIMARY、FOREIGN、CHECK。本例選擇類型為PRIMARY,表示A1是一個類型為主鍵的完整性約束條件。 u“是否禁用”:表示創(chuàng)建

6、約束條件時是禁用還是啟用該約束條件。 u“引用方案”:為約束條件中的FOREIGN(外鍵)引用,下拉列表中顯示了所有可用的數(shù)據(jù)庫方案,該下拉列表只有對FOREIGN類型約束條件編輯時才可用。 u“引用表”:表示正在定義的列能引用的表,下拉列表中顯示了所有包含在引用方案之內(nèi)的表。,u “級聯(lián)刪除”:選擇該列后,表示若子表某行引用了包含在父表中刪除的行,則將從子表中自動刪除這些行。 u “檢查條件”:表示構成CHECK檢查約束條件的表達式。 u“能否延遲”:指定是否可以延遲約束條件檢查,直到事務結束時為止。 u “是否為最初延遲”:指定該約束條件是可以延遲的。 u “是否不進行驗證”:若未選中此列

7、,表示指定所有舊數(shù)據(jù)仍符合約束條件,能保證所有數(shù)據(jù)為有效數(shù)據(jù)。 u “是否依賴”:若選中此列,表示啟用該約束條件,但不執(zhí)行。默認為啟用并執(zhí)行該約束條件。 本例除A1、A2、A3的“名稱”、“類型”及A2、A3的“檢查條件”外,其它皆取系統(tǒng)默認值。,n“簇列”選項卡,如圖4所示。如果選中“將表定義為簇的一部分”復選框,則表示將表作為簇的一部分。選中后該選項卡的所有選項都可以操作: 圖4 “創(chuàng)建表”對話框(“簇列”選項卡) “方案”:可以從此下拉列表中選擇簇所屬的方案。 “簇”:可以從此下拉列表中選擇已選方案中的所有可用簇。 簇的的信息顯示在一個包含兩列的列表框中,描述如下: u“表列”:顯示了當

8、前表所有已定義的列。 u“簇列”:顯示了包含在已選簇內(nèi)的簇關鍵字列。 本例皆取系統(tǒng)默認值。,n “分區(qū)”選項卡,如圖5所示。該選項卡可以編輯表的分區(qū)。 圖5 “創(chuàng)建表”對話框(“約束條件”選項卡) 該選項卡的“范圍分區(qū)”包含如下設置: u“分區(qū)名”:顯示分區(qū)的名稱,但不能編輯該值。 u“表空間”:顯示存儲分區(qū)的表空間,但也不能編輯該值。 該選項卡中包括如下按鈕: u“編輯”:允許對分區(qū)進行編輯。選擇一行后該按鈕即被啟用。 u“添加”:允許添加分區(qū)。選擇最后一行后,該按鈕可被啟用。 u “刪除”:允許刪除分區(qū)。選擇一行后,該按鈕即被啟用。 本例皆取系統(tǒng)默認值。,n “存儲”選項卡,可以定義表的存

9、儲方式,如圖6所示。,圖6 “創(chuàng)建表”對話框(“存儲”選項卡),在“區(qū)”選項組內(nèi),可以指定下列參數(shù)的值: u“初始大小”:指定表的第一個分區(qū)的大小??梢暂斎胍粋€值,但至少為一個數(shù)據(jù)塊的大小,默認值為64KB。 u“下一個大小”:指定表的第二個分區(qū)的大小。可以輸入一個值,但至少為一個數(shù)據(jù)塊的大小,默認值為64KB。 u“增量”:指定從第三區(qū)開始相對于上一個區(qū)的增長百分比。 u“最小數(shù)量”:指定分配給表的最小區(qū)數(shù)。默認值為1。 u“最大數(shù)量”:指定分配給表的最大區(qū)數(shù)??梢暂斎胍粋€值,也可以是無限制。 在“空間利用率”選項組內(nèi),可以指定下列參數(shù)的值: u“保留用于更新的空閑空間的百分比”:指定為以后

10、更新表而保留的空間的百分比,可以輸入099之間值,默認為10。 u“行插入備選對象的使用空間百分比閾值”:指定為該表數(shù)據(jù)塊保留的已用空間的最小百分比,可以輸入099之間的值,默認值為40。,在“事務處理數(shù)量”選項組內(nèi),可以指定下列參數(shù)的值: u“初始值”:指定該表每個數(shù)據(jù)塊中分配的初始并行處理事務項數(shù),可以輸入1255之間的值。 u “最大值”:指定可同時修改表的數(shù)據(jù)塊的最大并行處理事務項數(shù),可以輸入1255之間的值。 在“空閑列表”選項組內(nèi),可以指定下列參數(shù)的值: u“空閑列表”:指定表、簇或索引的每個空閑列表組的數(shù)量??梢暂斎胍粋€值,默認值為1。 u“組”:指定表、簇或索引的每個空閑列表組

11、的數(shù)量??梢暂斎胍粋€值,默認值為1。 在“緩沖池”下拉列表中可以指定默認緩沖池: u “KEEP”:表示保留內(nèi)存中的方案對象以避免I/O操作。 u “RECYCLE”:表示一旦不需要數(shù)據(jù)塊時,立即將它們從內(nèi)存中清除,以防止對象占用不必要的高速緩存空間。 u “DEFAULT”:表示默認緩沖池為高速緩沖存儲器,所有對象塊均存儲在指定的高速緩存中。 本例皆取系統(tǒng)默認值。,n“選項”選項卡,如圖7所示。該選項卡可以定義表的并發(fā)操作、是否覆蓋和如何審計等特性。,圖7 “創(chuàng)建表”對話框(“選項”選項卡),如果選中“并行”復選框,則表示以并行方式裝載,并行執(zhí)行某種操作。“程度”表示單個例程的操作并行度,即

12、使用的查詢服務器的數(shù)量,可以指定默認值(根據(jù)CPU數(shù)量和存儲要求并行掃描的表計算得到),也可以輸入一個值。 如果選中“覆蓋默認事件記錄值”復選框,表示啟用事件記錄,將創(chuàng)建重做日志。該操作比不啟用事件記錄所用時間長,但可以在故障時恢復更新。 如果選中“將經(jīng)常訪問的數(shù)據(jù)放在緩沖區(qū)高速緩存的頂端(CACHE)”復選框,表示某個用戶進程首次需要某一特定數(shù)據(jù)時,將在數(shù)據(jù)庫的緩沖區(qū)高速緩存中搜索該數(shù)據(jù)。 如果選中“監(jiān)視收集表上的修改統(tǒng)計信息”復選框,表示用戶希望收集該表的修改統(tǒng)計信息。 本例皆取系統(tǒng)默認值。,n “約束條件存儲”選項卡,如圖8所示。該選項卡可以為不同的約束條件選擇不同的存儲方式。,圖8 “

13、創(chuàng)建表”對話框(“約束條件存儲”選項卡),“約束條件名稱”下拉列表:可以選擇不同的約束條件,以便為不同的約束條件指定不同的存儲方式?!氨砜臻g”下拉列表:可以為約束條件的存儲選擇指定表空間。 如果選中“覆蓋默認事件記錄值”,表示在數(shù)據(jù)段中可以覆蓋默認的事件記錄值。如果選中“生成CONSTRAINT數(shù)據(jù)頁的完整重做記錄(LOGGING)”復選框,表示在數(shù)據(jù)段上為約束生成完整的重做日志。 在如圖8所示的對話框中,單擊“創(chuàng)建”按鈕,則開始執(zhí)行表的創(chuàng)建操作。表創(chuàng)建完成后,顯示如圖9所示的消息框。,圖9 表創(chuàng)建成功的消息, 右擊剛生成的學生表STUDENT,從快捷菜單中選擇“查看/編輯目錄”,彈出如圖10

14、所示的表編輯器對話框。本例輸入5條記錄。,圖10 STUDENT表編輯器,按上述同樣步驟,創(chuàng)建課程表COURSE如圖11所示(定義一個約束條件:B1(PRIMARY)-CNO為主鍵),并向該表插入4條記錄如圖12所示。,圖.11 COURSE表的結構,圖12 COURSE表編輯器,再按上述同樣步驟,創(chuàng)建成績表SCORE如圖13所示;定義三個約束條件:C1(PRIMARY)-SNO+CNO為主鍵,C2(FOREIGN)-SNO為外鍵,C3(FOREIGN)-CNO為外鍵,如圖14所示;并向該表插入7條記錄如圖15所示。,圖13 SCORE表的結構,圖14 SCORE表的約束條件,圖15 SCOR

15、E表編輯器,2手工創(chuàng)建表:語法形式如下: CREATE TABLE 擁有者名.表名 (列名 數(shù)據(jù)類型 列級完整性約束條件 ,列名數(shù)據(jù)類型 列級完整性約束條件 ,表級完整性約束條件) PCTFREE 整數(shù) INITRANS 整數(shù) MAXTRANS 整數(shù) TABLESPACE 表空間名 DEFAULT STORAGE (INITIAL整數(shù)K|M NEXT整數(shù)K|M MINEXTENTS 整數(shù) MAXEXTENTS 整數(shù)|UNLIMITED PCTINCREASE 整數(shù))CLUSTER 簇名(簇列,) PARALLEL CACHE|NOCACHE LOGGING|NOLOGGING AS 子查詢;,

16、上面語法中各參數(shù)描述如下: n約束條件分為列級和表級,前者針對某列,后者針對整個表。常用的約束條件有:UNIQUE(確保其值唯一)、PRIMARY KEY(確保其為表的主鍵,其值非空且唯一)、FOREIGN KEY(確保其為表的外鍵)、CHECK(確保其值在指定范圍內(nèi))、NOT NULL(確保其值非空)、DEFAULT(確保插入新行時其值自動取默認值)。 nPCTFREE:指定每一塊預留的自由空間百分比,默認值為10。即向表中插入新數(shù)據(jù)行時,該表的每個塊都只能使用90%的空間,10%預留出來供修改該塊中數(shù)據(jù)行增大空間時使用。INITRANS:指定該表每個數(shù)據(jù)塊中分配的初始并行處理事務項數(shù),范圍

17、是1255。 nMAXTRANS:指定可同時修改表的數(shù)據(jù)塊的最大并行處理事務項數(shù),范圍是1255。 nTABLESPACE:指定該表所放置的表空間。 nDEFAULT STORAGE:指定該表的存儲方式,具體含義同創(chuàng)建表空間語句中的存儲子句。,nCLUSTER:指定該表放置在聚簇中。 nPARALLEL:指定加速該表的掃描可以使用的并行查詢進程個數(shù)。 nCACHE|NOCACHE:指定是否將該表中的數(shù)據(jù)放在CACHE(當該表經(jīng)常被存取時使用)。 n LOGGING|NOLOGGING:前者指定表的創(chuàng)建操作及之后對表的所有操作都記錄在重做日志文件中,是默認選項;后者指定表的創(chuàng)建操作和其它操作不記

18、錄在重做日志文件中。 n AS 子查詢:基于一個或多個已存在的表建立新表,新表列的數(shù)據(jù)類型和大小、新表中的數(shù)據(jù)行都由查詢結果決定。如CREATE TABLE XSDA AS SELECT SNO,SNAME,SSEX,SAGE FROM STUDENT WHERE SCLASS=計算機科學與技術041。,例.1 使用PL/SQL語句創(chuàng)建上述三表STUDENT、COURSE、SCORE。 CREATE TABLE SYSTEM.STUDENT ( SNO VARCHAR2(6) NOT NULL, SNAME VARCHAR2(6) NOT NULL, SSEX VARCHAR2(2) NOT

19、NULL, SAGE NUMBER(2) NOT NULL, SCLASS VARCHAR2(20) NOT NULL, CONSTRAINT A1 PRIMARY KEY(SNO), CONSTRAINT A2 CHECK(SSEX IN(男,女), CONSTRAINT A3 CHECK (SAGE BETWEEN 18 AND 24);,CREATE TABLE SYSTEM.COURSE ( CNO VARCHAR2(3) NOT NULL, CNAME VARCHAR2(20) NOT NULL, CCREDIT NUMBER(1) NOT NULL, CONSTRAINT B1 P

20、RIMARY KEY(CNO); CREATE TABLE SYSTEM.SCORE ( SNO VARCHAR2(6) NOT NULL, CNO VARCHAR2(3) NOT NULL, GRADE NUMBER(4,1) NOT NULL, CONSTRAINT C1 PRIMARY KEY(SNO,CNO), CONSTRAINT C2 FOREIGN KEY(SNO) REFERENCES SYSTEM.STUDENT(SNO) ON DELETE CASCADE, CONSTRAINT C3 FOREIGN KEY(CNO) REFERENCES SYSTEM.COURSE(CN

21、O) ON DELETE CASCADE);,3 查看、編輯表:有兩種方式: 1使用Oracle企業(yè)管理器查看、編輯表 啟動Oracle企業(yè)管理器,以system身份連接數(shù)據(jù)庫,展開“方案”“SYSTEM”“表”節(jié)點,即可查看SYSTEM方案中的所有表;右擊欲編輯的表,從快捷菜單中單擊“查看/編輯詳細資料”即彈出編輯表的對話框可對表進行編輯。 2手工查看、編輯表 n 手工查看表:Oracle9i提供了若干個視圖,用于查詢有關表的信息。這些視圖的名稱及說明如表1所示。,例6.2 從DBA_TABLES視圖中查詢所有表的信息,以下腳本運行結果如圖6.16所示。 select table_name,

22、tablespace_name from dba_tables;,圖6.16 使用DBA_TABLES視圖查看表信息,n手工編輯表 語法:ALTER TABLE 表名 MODIFY (列名 數(shù)據(jù)類型 列約束 ,列名 數(shù)據(jù)類型 列約束) ADD (列名 數(shù)據(jù)類型 列約束 ,列名 數(shù)據(jù)類型 列約束) DROP (列名 ,列名) DISABLE|ENABLE|DROP CONSTRAINT 表約束名; 上面語法中各參數(shù)描述如下: uMODIFY子句:對表中原有的列或列約束進行修改。 例3 將學生表STUDENT中SNAME的數(shù)據(jù)類型改為CHAR(6),SAGE的數(shù)據(jù)類型改為NUMBER(3)。 AL

23、TER TABLE SYSTEM.STUDENT MODIFY (SNAME CHAR(6),SAGE NUMBER(3); u ADD子句:增加列或列約束到原有的表中。 例4 向?qū)W生表STUDENT中增加家庭地址和政治面貌兩列。,ALTER TABLE SYSTEM.STUDENT ADD (SADDRESS VARCHAR2(20) NOT NULL, POLITICS VARCHAR2(20) NOT NULL); u DROP子句:刪除原有表中的列。刪除列后關于該列的索引和完整性約束也同時刪除。 例5 將學生表STUDENT中SADDRESS和POLITICS列刪除。 ALTER TA

24、BLE SYSTEM.STUDENT DROP (SADDRESS,POLITICS); uDISABLE|ENABLE|DROP CONSTRAINT子句:分別表示禁用(存在依賴關系時不可禁用)、重啟和刪除表級約束條件。使用關鍵字CASCADE,則將級聯(lián)刪除其它表的約束條件。 例6 將學生表STUDENT中的表級約束條件A1。 ALTER TABLE SYSTEM.STUDENT DROP CONSTRAINS A1 CASCADE; 表示成績表SCORE中的表級約束C2將被級聯(lián)刪除。,4 使用PL/SQL語句對表中數(shù)據(jù)行進行更新 1插入數(shù)據(jù)行 語法:INSERT INTO 表名(列名1,列名2,) VALUES(值1,值2,); 或 INSERT INTO 表名(列名1,列名2,) SELECT *|列名1,列名2, FROM 另一表名; 2刪除數(shù)據(jù)行 語法:DELETE FROM表名 WHERE 條件; 刪除數(shù)據(jù)行并不能釋放ORACLE數(shù)據(jù)庫中被占用的數(shù)據(jù)塊表空間,只是將那些被刪除的數(shù)據(jù)塊標成unused。若確實要刪除一個

溫馨提示

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

評論

0/150

提交評論