資料庫中的資料型別通常有很多種,也有不同的分類方法。例如最常見的數值型、字元型、日期時間型,也有不太常見的布林型、列舉型、集合型等。
要在dbms中實現某種具體資料型別(例如最簡單的integer)的支援,我們可以從以下幾個方面來考慮。
1. 資料型別的名稱
資料型別名稱可以出現在ddl語句中,也可以出現在information_schema等返回的元資訊中。
有的資料型別因為各種原因,還存在別名。
2. 資料型別的取值範圍
這個也叫做值域。我們還需要設計好該型別的資料在運算時發生溢位、截斷、捨入等的行為。
3. 資料型別的精度和標度(precision和scale)
對於整型數而言,標度總是0,精度可以是二進位制的bit位數表示,也可能用十進位制的數字位數表示。
對於浮點數而言,需要決定是否採用二進位制精度,是否採用ieee標準的浮點數,是單精度還是雙精度等。
對於精確數而言,當然也需要決定最大支援的精度和標度。
對於字元型而言,標度也總是0,精度通常指的是字元數,但也有系統用的是位元組數。既然是字元型,還得多考慮一下支援的字符集。
對於日期時間型而言,精度指的是秒在小數點後面的數字位數。
4. 資料型別上支援的操作
例如對於integer型別和其他各種型別之間的加減乘數等操作。
5. 資料型別上支援的索引種類。
例如,很多系統都是不支援在大字段型別上建立b+樹索引的,空間資料型別上通常需要建立空間索引。
6. 資料型別的輸入輸出格式
幾乎所有的型別都能夠以字串的形式輸出。數值型別的輸入可以是數值常量,也可以是字串,甚至而二進位制串,十六進製制串等。
7. 資料型別的網路傳輸格式
也就是dbms伺服器在和客戶端介面之間傳送不同資料型別的格式,例如可以用字元型別,也可以用rpc定義的二進位制格式,甚至自己定義的二進位制格式。
8. 資料型別在記憶體中的格式
9. 資料型別在外存中的格式
對於簡單的整數型別,格式主要是位元組順序的問題。但是對於比較複雜的numeirc型別,更重要的是考慮儲存和操作效率了。
資料庫中資料型別
1.整型 整型選取原則 第一 要滿足欄位的表示範圍 第二 盡量選擇占用空間小的資料型別 第三 如果不儲存負數,盡量新增unsigned屬性 2.浮點型 整型選取原則 第一 要滿足欄位的表示範圍 第二 盡量選擇占用空間小的資料型別 第三 能選取整型的不選取float型。3.字元型 char和varch...
資料庫中的資料型別
1.數值型別 整型int 大整型 4個位元組 取值範圍 0 2 32 1 tinyint 微小整型 1個位元組 有符號 signed預設 128 127 無符號 unsigned 0 255 smallint 小整型 2個位元組 bigint 極大整型 8個位元組 浮點型float 4個位元組,最多...
資料庫中的資料型別
浮點型別 float 單精度 4位元組 7位小數 double 雙精度 8位元組 15位小數 decimal m,d 小樹值 17位元組 30位小數 decimal m,d 中m位總為數,d位小數字,m必須大於d 字串型別 char n 定長字串,未到達長度則後續以空格填充 varchar n 變長...