資料庫的通用欄位型態

在操作各資料庫的SQL語法前,必須先瞭解各資料庫提供的欄位型態。相對於大自然的現象由「木、火、土、金、水」這五種資料型態的變化所總括,描繪了事物的結構關係和運動形式。而所謂資料類型是指定物件所能保留之資料類型的屬性,類型包括整數、精確位數、浮點數、字元、貨幣資料、日期和時間資料、二進位字串等..。在SQL查詢語言中,不同的資料庫系統之間大同小異。標準的SQL查詢語法都能完全相容,不會因為跨資料庫平台而存在過大的差異。





目前主流的資料庫系統廠商以SQL為基礎,衍生出兩種主流的查詢語言。
  • Transact-SQL 通常稱為 T-SQL,只提供微軟的產品用主要為SQL SERVER。
  • Procedural Language/SQL 通常稱為 P/L-SQL,微軟以外的資料庫用。


通用資料型態

資料型別說明應用範圍
INTEGER 整數 能記錄以1為倍數的數值,通常能對應: 人、車、星球,以及各式各樣每單位不可切割的計數。
FLOAT 浮點數 能記錄1為倍數的數值同時記錄小數點後面不足1的餘數,通常能對應: 成績、錢,以及各式各樣可切割的計數。
CHAR 字元 能記錄文字或符號,文字內容長度依欄位設計長度補滿空白。
VARCHAR 字串 能記錄文字或符號,文字內容長度不補空白。
DATETIME 日期時間 能記錄日期時間,儲存格式依照欄位設計輸入分隔符號。


數值

數值型態的各種運算的運算順序,仍然依照「先乘除後加減」的規則計算。

 
SELECT 5 * 3 - 2
 
 


AS 關鍵字可以賦與查詢結果名稱



字串(元)資料

字串只能做「加」的運算,運算後是將字串連接起來的呈現。

通常字串連結的工作都是由接收資料的應用程式處理,而不是由資料庫處理。



日期/時間資料

資料庫都有提供表示日期的資料型態:
  • DATE 型態 - 格式是 YYYY-MM-DD
  • DATETIME 型態 - 格式是 YYYY-MM-DD HH:MI:SS
  • TIMESTAMP 型態 - 格式是 YYYY-MM-DD HH:MI:SS
  • YEAR 型態 - 格式是 YYYY

資訊系統中的日期格式,使用方法都可以參考。其中分隔符號都是可以在資料庫系統或應用程式中自定,而年、月、週、日等日期顯示則不需另行設定。


總結

  • 數值資料: 包括整數、小數,以及正負符號。
  • 文字資料: 字元是固定長度,字串則是可變長度。
  • 日期/時間資料: 記錄日期/時間的資料型別,類型 Date, Time, Timestamp。

這裡沒有列出詳細資料庫的資料型別,大部份的資料型態都是由以上的基本資料型態帶入函數產生。另外,不建議在資料庫存入檔案,那一定會影響資料庫的效能。既然都能連資料庫了,都是記錄檔案的網址路徑就可以從成本較低的FTP或HTTP取得。如果是一般企業內部使用的系統,如ERP、CRM或官網的一些動態資料,一般都只會使用通用的字串、數字、日期等型別。那本文所介紹的幾個資料庫應該都足夠使用,特別是依目前的硬體成本大幅下滑,早期為了節省硬碟空間,會設定一些較不佔空間的資料型別,事實上現在看來意義不大。使用一般通用的型別,不論是資料庫轉換或是程式開發工具的變更,都比較不會發生問題,所以不必為了節省有限的空間,特別去使用特殊的型別。

沒有留言:

張貼留言