第 8 章:管理模式對象
目的
模式是一個數據庫對象的集合。模式爲一個數據庫用戶所有,並具有與該用戶相同的名稱。模式對象是由用戶創建的邏輯結構,用以包含或引用他們的數據。模式對象包含諸如表、視圖和索引之類的結構。您可以使用 Oracle Enterprise Manager 來創建和操作模式對象。
主題
本章討論了下面幾個主題:
訪問模式對象 管理表
管理索引
管理視圖 管理數據庫駐留程序單元 加載數據到表中 查看屏幕截圖
將鼠標移到這個圖標上,顯示所有的屏幕截圖。您還可以將鼠標移到各個圖標上,以只查看與該圖標相關的屏幕截圖。
訪問模式對象
執行下面的步驟,使用 Enterprise Manager 訪問模式對象:
Off 1. 打開瀏覽器,並指定用戶名和密碼爲SYS ,以登錄到 Enterprise Manager Database Console。
單擊Login。
checkbox 2. 單擊Administration 並選擇Tables 鏈接。
- checkbox 3. 選擇flashlight 圖標以選擇一種特定的模式。
- checkbox 4. 選擇HR 並單擊Select。
- checkbox 5. 在Object Name 域中輸入emp 並單擊Go。
- Off 6. 顯示出與您的搜索條件相匹配的對象。
管理表
表是 Oracle 數據庫中數據存儲的基本單元。它們保存了所有用戶可訪問的數據。每一個表都包含列和行。在這一部分中,您將執行以下任務:
查看錶的屬性 查看錶的內容 創建新表 修改表
丟棄表 查看錶的屬性
http://www.oracle.com/technology/global/cn/obe/2day_dba/schema.htm?_template=/ocom/technology/content/print (6 of 48)2006/03/27 13:01:20
執行下面的步驟,查看HR.EMPLOYEES 表的屬性:
Off 1. 選擇EMPLOYEES 表並單擊View。
Off 2. 出現 Table View 頁,其中顯示了包含有列、約束和存儲選項的表屬性。
單擊Tables 鏈接,返回到 Tables 屬性頁。
查看錶的內容
執行下面列出的步驟以查看HR.EMPLOYEES 表的內容:
Off 1. 選擇EMPLOYEES 表並從Actions 下拉菜單中選擇View Data。單擊Go。
Off 2. 出現View Data For Table 頁,其中顯示了Results 區中的行數據。
創建新表
在本節中,您將爲數據庫創建三個新表:EMPLOYEES、CUSTOMERS 和ORDERS。
Off 1. 單擊 Tables 屬性頁上的Create 。
- Off 2. 創建表:出現 Table Organization 頁。選擇Standard, Heap Organized 並單擊Continue。
- 3. 出現Create Table 頁。在Name 域中輸入employees。在Schema 域中輸入fsowner。在Tablespace 域中輸入fsdata。定義如下的列,並單擊Add 5 Table Columns。checkbox
EMPLOYEE_ID NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME VARCHAR2(25)
EMAIL_ADDRESS VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
Off 4. 輸入如下剩餘的列:
HIRE_DATE DATE JOB_ID VARCHAR2(10)SALARY NUMBER(8)MANAGER_ID NUMBER(6)
單擊Constraints。
- Off 5. 出現Constraints 頁。從下拉菜單中選擇Primary 並單擊Add。
- 6. 出現Add Primary Constraint 頁。在Name 域中輸入emp_id_pk。在Available Columns 列表中選擇EMPLOYEE_ID。單擊Move 並選中。單擊OK。Off
- Off 7. 出現Create Table 頁。單擊OK。
Off 8. 出現Table 頁,其中含Update 消息,指示您的表已創建。
Off 9. 重復步驟 2 到 8,按如下定義的格式在FSOWNER 模式中創建CUSTOMERS 和ORDERS 表。
修改表 返回主題列表
您可以使用 Enterprise Manager 修改表,如添加和刪除列或添加約束。在本節,您將添加一個約束到您創建的EMPLOYEES 表上。您將通過添加一個NOT NULL 約束來確保EMAIL_ADDRESS 列包含一個值。執行以下的步驟,添加一個NOT NULL 約束到您的EMPLOYEES 表上:
- Off 1. 選擇EMPLOYEES 表並單擊Edit。
- Off 2. 爲EMAIL_ADDRESS 列檢查Not NULL 列。單擊Apply。
- Off 3. 顯示Edit Table 頁,其中包含有確認更新的消息。
丟棄表
返回主題列表 您可以使用 Enterprise Manager 按如下方式丟棄(刪除)表。出於本次練習的目的,您將創建一個新表然後刪除該表。
在Administration 頁上的Schema 部分中單擊Tables 鏈接以訪問Schema objects 屬性頁。在Object Type
- Off 1. 下拉菜單中選擇Table。在Schema Name 域中輸入HR ,並在 Object Name 域中輸入JOBS。單擊Go。
- Off 2. 從Actions 下拉菜單中選擇Create Like 。單擊Go。
3. 出現Create Table 頁。在Name 域中輸入JOBS_HIST。爲JOB_ID 列和JOB_TITLE 列取消選擇Not Null。單擊Constraints。Off
出現Constraints 頁。通過選擇表上的每一個約束並單擊Delete,可刪除該表上的約束。本次練習不需要這些約
- Off 4. 束。單擊General 以返回到General 頁。
- Off 5. 單擊OK 創建JOBS_HIST 表。
- Off 6. 顯示一條消息,指示已創建表。
- Off 7. 在Object Name 域中輸入JOBS_HIST 並單擊Go。
- Off 8. 顯示Tables 頁,其中在Results 部分中帶有JOBS_HIST 表。單擊Delete 以刪除JOBS_HIST 表。
- Off 9. 單擊Yes 確認刪除表。
- Off 10. 顯示一條消息,指示已刪除表。單擊Go 以嘗試取回表。
- Off 11. 在結果區中顯示No object found ,指示表已丟棄(刪除)。
管理索引
- 返回主題列表 索引是與表關聯的可選結構,可用於改進查詢的性能。索引提供了對表數據的快速訪問路徑。可以在表的一個或多個列上創建索引。創建好索引後,Oracle Database 服務器將自動維護和使用它。對表的數據或結構所作的更改會自動合併進所有相關的索引中,它對於用戶是完全透明的。在本節,您將執行以下任務: 查看索引的屬性
- 創建新索引 查看索引的屬性
返回主題列表 執行下面列出的步驟,以在您的FSOWNER 模式中查看索引的屬性:
- Off 1. 在Administration 頁上的Schema 部分中單擊Indexes 鏈接以訪問Indexes 屬性頁。
- checkbox 2. 出現Indexes 頁。在 Schema Name 域中輸入FSOWNER並單擊Go。
Off 3. 顯示出在您定義主鍵時所創建的索引。通過單擊索引名鏈接,選擇在EMPLOYEES 表上創建的EMP_ID_PK索引。
Off 4. 顯示出EMPLOYEES 表的EMP_ID_PK 索引。
選擇Indexes 鏈接以返回到Indexes 屬性頁。
創建新索引 返回主題列表
在ORDERS 表的CUSTOMER_ID 列上創建一個索引,以使您能夠快速訪問特定客戶的所有訂單。該索引將存儲在FSINDEX 表空間中。執行下面列出的步驟以創建ORD_CUSTID_IDX 索引:
- Off 1. 從 Object Type 中選擇Tables。在 Schema 域中輸入FSOWNER並單擊Go
- Off 2. 出現Tables 頁。選擇ORDERS 表並從Actions 下拉菜單中選擇Create Index。單擊Go。
- 3. 出現Create Index 頁。在 Name 域中輸入ORD_CUSTID_INDX。在 Tablespace 域中輸入fsindex。選擇Standard B-tree 作爲索引類型。在 Order 列中輸入1 ,以選擇CUSTOMER_ID列。接受ASC 作爲排序順序。單擊OK 創建索引。Off
管理視圖
視圖是一個或多個表或其他視圖中的數據的自定義顯示。它們可以被看作存儲的查詢。視圖並不真正包含數據,相反它們是從它們所基於的表中獲取它們的數據。這些表被稱爲視圖的基表。與表一樣,視圖可以通過某些限制條件執行查詢、更新、插入和刪除操作。在視圖上執行的所有操作實際上影響的是視圖的基表。通過限制對預先確定的表的行列集的訪問,視圖提供了一個額外的安全等級。它們還隱藏了數據復雜性並存儲復雜的查詢。在本節,您將執行以下任務:
訪問視圖 創建新視圖 訪問視圖 返回主題列表 執行下面列出的步驟以訪問視圖:
Off 1. 在 Administration 頁的 Schema 部分中選擇 Views。在 Schema Name 域中輸入HR 並單擊Go。
Off 2. 顯示了定義在HR 模式中的表上的視圖。選擇EMP_DETAILS_VIEW 並單擊View 以查看其定義。
checkbox 3. 顯示View 頁,提供了視圖的定義。
選擇Views 鏈接。
創建新視圖
執行下面列出的步驟以創建一個新視圖:
checkbox 1. 在 Views 屬性頁上單擊Create 。
Off 2. 輸入下面的信息並單擊OK。
View name:CLERK10_ORDSSchema:FSOWNERQuery text:
SELECT order_id, customer_id, order_total FROM orders WHERE sales_clerk_id = 10
Off 3. 顯示Views 頁,確認視圖已創建。
選擇Database 鏈接。
管理數據庫駐留的程序單元
您可以使用 Enterprise Manager 來管理數據庫駐留的程序單元,如 PL/SQL 包、過程、觸發器和函數、以及 Java 源和類。這些操作包括創建和編譯數據庫駐留的程序單元、爲數據庫駐留的程序單元創建別名、授權使用數據庫駐留的程序單元、以及顯示數據庫駐留的程序單元的依賴性。
Off 1. 在Administration 頁上的Schema 部分中單擊Procedures 鏈接。
- Off 2. 在Schema 域中輸入hr 並單擊Go。
- Off 3. 選擇ADD_JOB_HISTORY 過程。從下拉菜單中選擇Grant Privileges 並單擊Go。
- Off 4. 選擇EXECUTE 作爲權限並選擇FSOWNER 作爲用戶。單擊OK。
加載數據到表中
您可以使用 Enterprise Manager 來成批地加載數據到表中。當您有許多數據時,批量加載是方便的。您可以加載來處操作系統文件或其他的數據庫的數據。您還可以導出數據到文件中。一種加載的方法是使用控制 (.ctl) 和數據 (.dat) 文件。這些文件被轉化爲標準的 SQL*Loader 文件格式。SQL*Loader 是一種實用工具,您可以用它來把外部文件的數據加載到 Oracle 數據庫的表中。
在本節,您將使用load_cust.ctl 文件把客戶信息加載到您的FSOWNER.CUSTOMERS 表中。創建一個名稱爲$HOME/labs 的目錄。下載 load_cust.zip 文件並解壓縮load_cust.ctl 和load_cust.dat 文件到$HOME/labs 中,以爲本節所用。
Off 1. 在Maintenance 頁上的Utilities 部分中單擊Load Data From File 鏈接。
出現Load Data: Control File 頁。輸入您數據庫服務器機器上的控制文件的完整路徑。同時輸入主機的用戶名和
- Off 2. 密碼。單擊Next。
- checkbox 3. 出現Load Data: Data File 頁。選擇在控制文件中指定的數據文件。單擊Next。
Off 4. 出現Load Data: Load Method 頁。接受默認的Conventional Path 作爲加載方法。單擊Next。
出現Load Data: Options 頁在Optional Files 部分中選擇Generate log file 頁。您可以接受默認的文件名和路
Off 5. 徑或輸入不同的文件名或路徑。單擊Next。
出現Load Data: Schedule 頁。在Job Name 域中輸入名稱並在Description 域中輸入說明。選擇
Off 6. Immediately 以立即運行作業。單擊Next。
出現Load Data: Review 頁。查看您的文件名和加載方法。如果您想更改一些信息,可以單擊 Back 按鈕。否
Off 7. 則,單擊Submit Job 以開始加載。
出現Status 頁,其中包含一條消息,指示加載數據提交成功。單擊View
Off 8. Job 以查看作業一覽表。
9. 該一覽表頁將提示作業已成功完成。如果不是這樣,您可以在您的作業上的 Logs 標題下方單擊來查看日誌,也可以直接查看日誌文件。Off
Off 10. 您可以轉至Tables 頁,並選擇表,然後選擇 View Data,來確認數據加載。單擊Go。
Off 11. 您加載的行顯示在View Data for Table:FSOWNER.CUSTOMERS 頁上。單擊OK 返回到 Tables 屬性頁。
將您的鼠標移動到這些圖標上以隱藏所有的屏幕界面