資料庫中的資料型別

2021-06-20 23:45:29 字數 1026 閱讀 6864

資料庫中的資料型別通常有很多種,也有不同的分類方法。例如最常見的數值型、字元型、日期時間型,也有不太常見的布林型、列舉型、集合型等。

要在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 變長...