根據所選擇的關系型數據庫的特點對邏輯模型進行存儲結構設計。
涉及的內容
* 定義數據庫、表及字段的命名規范
可讀性、表意性、長名原則
* 選擇合適的存儲引擎
* 為表中的字段選擇合適的數據類型
* 建立數據庫結構
為表中的字段選擇合適的數據類型
一個列可以選擇多種數據類型時,優先考慮數值類型,其次是日期或二進制類型,最后是字符類型。
對於相同級別的數據類型,優先選擇占用空間小的數據類型。
整數類型
tinyint 1
smallint 2
mediumint 3
int 4
bigint 8
實數類型
float 4 非精確
double 8 非精確
decimal 每4個字節存9個數字,小數點占一個字節 精確
字符類型
varchar類型的存儲特點
* 變長字符串,只占用必要的存儲空間
* 列的最大長度小於255則只占用一個額外字節用於記錄字符串長度
* 列的最大長度大於255則要占用兩個額外字節用於記錄字符串長度
* 使用最小的符合需求的長度
* 字符串列的最大長度比平均長度大很多
* 字符串列很少被更新
* 使用多字節字符集存儲字符串
char類型
* 定長
* 會刪除末尾的空格
* 最大寬度255
* 存儲近似長度的值
* 適合存儲短字符串
* 適合存儲經常更新的字符串列
日期類型
DATETIME類型
fraction
與時區無關,8個字節
1000-9999
TIMESTAMP類型
1970-當前的秒數
int存儲,4個字節,依賴指定的時區,自動記錄行修改時間
1970-2038
DATE類型
日期,利用日期時間函數進行相關計算
TIME類型