1. 程式人生 > >《SQL必知必會》學習筆記之-學前知識準備

《SQL必知必會》學習筆記之-學前知識準備

開始學習資料庫部分,之前玩玩打打沒有認真看,現在想好好看看。基礎太差,想借助《SQL必知必會》這本書來惡補下基礎啊。

首先來了解下資料庫和SQL相關的一些最基本的概念。

1.學習前知識準備

   1.1 什麼是資料庫?

         資料庫是一種將資料以某種組織方式來儲存的資料集合(通常是一個檔案或一組檔案)。

   1.2 什麼是表(table)

         某種特定型別資料的結構化清單。資料庫中每個表都有一個名字來唯一標識自己,不可重複。

         表具有一些特性,這些特性定義了資料應該在資料庫中如何儲存。描述表的這些特性資訊就是所謂的shema(模式),shema可以描述資料庫中特定的表,也可以描述整個資料庫。

   1.3 模式(schema)

      描述資料庫和表的佈局和特性的資訊。

   1.4 列

    表中的一個欄位,所有表都是由一個或多個列組成的。

   1.5 資料型別

    表中的每一列都有相應的資料型別,限制(或允許)該列中儲存的資料。限制資料型別有很多好處,例如可以防止在數值型別的欄位錄入字串,也可以根據資料型別進行分類,有利於磁碟優化等。

    1.6 行

    表中的一條記錄。表中的資料都是按行儲存的。

    1.7 主鍵

   表中的每一行都應該有一列(或者多列)來唯一的標識自己。多個列作為主鍵時,它們的組合必須唯一,但是單個列的值可以不唯一。作為主鍵的列需要滿足一下條件:

   1) 任意兩行的主鍵不可相同

   2)每一行都必須有主鍵,且不能為NULL

   3)主鍵列中的值不可以修改

   4)主鍵不可以重用(某行刪除,其主鍵不可作為新新增的行主鍵)

2.什麼是SQL,有什麼用?

   SQL是結構化查詢語句(Structured Query Language)的縮寫。它是一門專門用來和資料庫溝通的語言。SQL語言只提供了少量的關鍵字,與其他語言如C ,java等不同。SQL提供了一種從資料庫中讀寫資料的有效的方法。

  SQL具有以下優點:

  1)不是某家資料庫提供商的產品。基本上所有的DBMS(資料庫管理系統)都支援SQL,所以學完它可以和幾乎所有DBMS打交道。

  2)簡單易學,極少的關鍵字,極強的語義化

  3)SQL雖然看上去簡單,但是很靈活,可以完成很多複雜和高階的資料庫操作。

  SQL的擴充套件

  不同的資料庫提供商會根據自身產品的需求對SQL進行了擴充套件,主要是提供了一些用來執行特定操作的額外功能或簡化方法。雖然這些擴充套件有時候很有用,但是很少有多家資料庫提供商對相同的擴充套件進行支援。標準SQL由ANS標準委員會管理,從而成為ANSI SQL.,所有的DBMS除了提供一些擴充套件功能,都會支援ANSI SQL