CH06 基本的SQL

6-1 導論

在80年代,鑑於各種DBMS所使用的資料庫語言差異頗大,對資料庫程式設計師造成諸多不便且影響資料整合。ANSI和ISO便攜手共同制訂資料庫語言的標準,以下為SQL發展歷史:

 1986年提出--SQL-86 --> 1989年提出--SQL89 --> 1992年提出--SQL92(SQL2) --> 1999年提出--SQL99(SQL3)


6-2 SQL的關聯模式

SQL還是對關聯模式作了些許的變更,其差異點如下:
  • SQL利用較通俗的名詞來稱呼關聯模式所定義的嚴謹數學名詞。如:
    1. 不稱關聯(Relation),改稱資料表(Table)
    2. 不稱序列值(Tuple),改稱記錄(Record)或列(Row)
    3. 不稱屬性(Attribute),改稱欄位(Field)或行(Column)
  • SQL的資料表綱目裡可以不定義主鍵(Primary key)
  • SQL的資料表綱目裡可以有兩筆記錄是一樣的。(請注意在關聯裡不可以有兩筆序列值是一樣的)
  • 資料表中的記錄是有次序的。(請注意在關聯裡的序列值是沒有次序的)
  • 主鍵值可以為空值
  • SQL查詢語法融合了關聯代數和關聯邏輯計算式。
為支援關聯模式,SQL提供了三種語言:
  1. 資料定義語言(Data definition language,簡稱DDL) => 利用DDL,使用者可以定義資料表(也就是關聯綱目)和設定完整限制。當然也提供對這些定義和設定進行修改的語法。
  2. 資料處理語言(Data manipulation language,簡稱DML) => 利用DML,使用者可以對資料表裡的記錄作查詢、新增、修改和刪除。
  3. 資料控制語言(Data control language,簡稱DCL) => 利用DCL,使用者可以設定帳號對資料表的使用權限、執行交易(Transaction)等。

6-3 SQL的資料定義語言(DDL)


































Comments