第三章 管理數據庫對象
1.數據庫對象
數據庫裏定義的,用於存儲或引用數據的對象,比如表,視圖,族,序列,索引和異名。
2.規劃
規劃是與數據庫某個用戶名相關聯的數據庫對象集合。相應的用戶名被稱爲規劃所有人,或是關聯對象的所有人。數據庫裏可以有一個或多個規劃。用戶名只與同名規劃相關聯,通常情況下反之亦然。一般來說,當用戶創建一個對象時,就是在自己的規劃裏創建了它,除非明確指定在另一個規劃裏創建它,因此,根據在數據庫裏的權限,用戶可以創建,操作和刪除對象。規劃可以包含一個表,也可以包含無數個對象,其上線由具體的SQL實現規定。 (EMPLOYEE_TBL -->USER1.EMPLOYEE)
3.表
數據的主要存儲方式
字段在關係型數據庫裏也被稱爲列。行是數據庫表裏的一條記錄。
4.CREATE TABLE
CREATE TABLE table_name
(
field1 data_type [ not null],
field2 data_type [ not null],
field3 data_type [ not null],
fieldn data_type [ not null]
);
5.ALTER TABLE
ALTER TABLE TABLE_NAME ALTER COLUMN COLUMN_NAME new_type(SQL Server)
在表被創建之後,我們可以使用ALTER TABLE命令對其進行修改。可以添加,刪除列,修改列的定義,添加和去除約束,在某些實現中還可以修改表STORAGE值。
ALTER TABLE命令的標準如下:
ALTER TABLE table_name [ modify ] [ column column_name] [datatype] [ not null ] [ restrict | cascade] [ drop] [constraint] [add] [column] column definition
6.添加列
自動列如果表已經有數據存在,這是添加的列當然就不能定義爲NOT NULL
列變更的通用規則:
列的長度可以增加到特定數據類型所允許的最大長度
如果想縮短某列的長度,則必須要求這一列在表裏所有數據的長度都小於或等於新的長度
數值數據的位數可以增加
如果縮短數值數據的位數,則必須要求這一列表裏所有的數值的位數都小於或等於新指定的位數
數值裏的小數位數可以增加或減少列的數據類型一般是可以改變的
7.刪除表6.從現有表新建另一個表(MySql和Oracle都支持)(sql server)
8.完整性約束
(1)主鍵約束
主鍵是表裏一個或多個用於實現記錄唯一性的字段。主鍵的作用在於表裏每條記錄都有唯一的值。
(2)唯一性約束
唯一性約束要求表裏某個字段的值在每條記錄裏都是唯一的,這一點與主鍵類似。 用UNIQUE約束
(3)外鍵約束FOREIGN KEY
子表裏的EMP_ID字段引用附表裏的EMP_ID字段。爲了在自表裏插入一個EMP_ID的,它首先要存在於附表的EMP_ID裏。類似的,父表裏刪除一個EMP_ID的值,自表裏相應的EMP_ID值必須全部被刪除,這就是引用完整性約束
(4)NOT NULL約束
(5)檢查約束
(6)去除約束
利用ALTER TABLE命令的DROP CONSTRAINT選項可以去除已經定義的約束。
(有些實現中允許中止約束,這樣我們可以選擇暫時中止它而不是從數據庫裏去除它,稍後還可以再啓動它)
ALTER TABLE TABLE_NAME DROP CONSTRAINT CONSTRAINT_NAME