資料定義語言
資料定義語言(data definition language,DDL)屬於 DBMS 語言的一種,用於明確定義概念綱要 ( conceptual schemas ) 佮內部綱要 ( internal schemas ),DBMS 內的 DDL 編譯器 ( compiler ) 會當處理 DDL,識別綱要建構物 ( schema constructs ) 欲描述 ( description ) 並且加以存入 DBMS kha-tá-lok-guh 中的綱要描述 ( schema description )。 為 SQL 語言集中負責資料結構定義佮資料庫物件定義的語言,由 ` CREATE `、` ALTER ` 佮 ` DROP ` 三个語法所組成,上早是由 Codasyl(Conference on Data Systems Languages)資料模型開始,這馬予人納入 SQL 指令中作為其中一个子集。
語法結構
目前大多數的 DBMS 攏支援對資料庫物件的 DDL 操作,部份資料庫 ( 如 PostgreSQL ) 可共 DDL 囥佇交易指令中,也就是伊會當予人撤轉去 ( Rollback )。比較新版本的 DBMS 會加入 DDL 專用的觸發程式,予資料庫的管理員會當追蹤來自 DDL 的修改。
CREATE
CREATE 是負責資料庫物件的建立,舉凡資料庫、資料表、資料庫索引、預存程序、使用者函式、觸發程式抑是使用者自訂型別等物件,攏會使用 CREATE 指令來建立,為著各種的資料庫物件的無仝款,CREATE 嘛有真濟的參數。
比如講,CREATE DATABASE ( 建立資料庫 ) 的指令為:
內底的 ` ON ` 為資料庫檔案的宣告,而且 ` LOG ON ` 為交易記錄檔的宣告。 若是需要閣較進階的設定,著愛閣有 ` FOR ` 和 ` WITH ` 以及 ` COLLATE ` 等咧。
閣比如講,CREATE TABLE ( 建立資料表示 ) 的指令為:
其中,每一个欄位的彼个格式攏有定義,並且若有需要建立參考完整性的連結的時陣,會用得使用 ` REFERENCES ` 來宣告,主鍵是用 ` PRIMARY KEY ` 來宣告,計算是型欄位 ( Computed Field ) 是直接給定運算式等等,` CREATE TABLE ` 指令蓋捷用,若設定起來會較複雜,所以就是真濟資料庫管理人員攏會使用 GUI 工具來設計。
其他像講:
- CREATE INDEX:建立資料表索引。
- CREATE PROCEDURE:建立預存程序。
- CREATE FUNCTION:建立使用者函式。
- CREATE VIEW:建立檢視表。
- CREATE TRIGGER:建立觸發程式。
等咧,攏是使用來建立無仝資料庫物件的指令。
ALTER
` ALTER ` 是負責資料庫物件修改的指令,比較起來 ` CREATE ` 需要定義完整的資料物件參數,` ALTER ` 著會當照欲修改的幅度來決定使用的參數,所以使用會當傷困難,比如講:
DROP
DROP 是刪除資料庫物件的指令,並且只需要指定愛刣除的資料庫物件名稱就可,佇咧 DDL 語法內底算上簡單的。
比如講:
DBMS 語言
其他 DBMS 語言包括:
- 儲存定義語言 ( Storage Definition Language , SDL )
- 視野定義語言 ( View Definition Language , VDL )
- 資料操縱語言 ( Data Manipulation Language , DML )
參考資料
一 . DDL 二 . MySQL SQL Syntax 三 . Oracle® Database SQL Language Reference 四 . Transact-SQL Reference 五 . PostgreSQL SQL Commands