2009年2月28日 星期六

PostgreSQL--ENUM型別的運用

這次主題是研究PostgreSQL當中,如何使用列舉型別(ENUM TYPE)之運用。列舉型別的好處是,它的值可以是字串或數值或NULL,則儲存的方式則以整數儲存,所以,在資料庫系統當中,數字的運用會比文字的運作還要來的相對的快,這也是其一大優點。但其因運用ENUM型別的欄位的資料是以數值的方式來儲存雖可以節省很多儲存空間,但因資料取出的同時,也必須以數值轉換為字串並顯示,過渡使用ENUM型別也是會造成效能相對較低。

當使用者設定指定多個字串或數值時,就好比資料要INSERT至資料表時要做CHECK這方面的檢查一樣,可以幫你過濾非指定的字串或數值,不過,若需要引用ENUM TYPE就必須創建一型別,請參考以下範例:



(1)創建TYPE物件並設定ENUM型別:

























(2)建立資料表並引用所創建的TYPE物件:

























(3)檢視PgAdmin:



















(4)輸料資料並測試ENUM型別並查詢其結果:






























































































參考資料:

http://www.postgresql.org/docs/8.3/static/datatype-enum.html

http://www.postgresql.org/docs/8.3/static/functions-enum.html


沒有留言: