8 個答案:
答案 0 :(得分:164)
已經有iso標準;無需發明自己的方案:
根據標準,該列應該被稱為「***」,而「最接近」的資料型別將是tinyint,並且具有check約束或查詢表。
答案 1 :(得分:74)
我將該欄目稱為「性別」。
data type bytes taken number/range of values
tinyint 1 255 (zero to 255)
int 4 - 2,147,483,648 to 2,147,483,647
bit 1 (2 if 9+ columns) 2 (0 and 1)
char(1) 1 26 if case insensitive, 52 otherwise
可以排除bit資料型別,因為它只支援兩種可能不合適的性別。雖然int支援兩個以上的選項,但需要4個位元組 - 使用更小/更窄的資料型別時效能會更好。
char(1)的邊緣超過tinyint - 兩者都採用相同的位元組數,但char提供的數值更為狹窄。使用char(1)將使用「m」,「f」等自然鍵,而不是使用被稱為**/人工鍵的數字資料。如果需要移植,任何資料庫也支援char(1)。
結論我會使用選項2:char(1)。
附錄性別列的索引可能會不幫助,因為低基數列的索引中沒有值。意思是,索引的值沒有足夠的多樣性來提供任何值。
答案 2 :(得分:40)
在醫學中,有四種性別:男性,女性,不確定和未
mysql 儲存層級關係 在資料庫中儲存層級結構
位於分類 技巧集錦 1 首先是鄰接表模型。鄰接表相當簡單。只需要寫乙個遞迴函式來遍歷這個樹。我們的食品商店的例子用鄰接表模型儲存時看起來就像是這樣 通過鄰接表模型儲存法中,我們可以看到pear,它的父節點是green,而green的父節點又是fruit,以此類推。而根節點是沒有父節點的。這裡為了方便...
在資料庫中儲存的是什麼
在資料庫中儲存的是資料以及資料之間的聯絡。資料庫是按照資料結構來組織 儲存和管理資料的倉庫,是乙個長期儲存在計算機內的 有組織的 可共享的 統一管理的大量資料的集合。學習 分享 mysql 教程 資料庫是 按照資料結構來組織 儲存和管理資料的倉庫 是乙個長期儲存在計算機內的 有組織的 可共享的 統一...
資料庫中儲存過程意義
建立了是拿來用的,至於為什麼要用儲存過程,要先了解儲存過程存在的意義 儲存過程由 sql語句 和流程控制 語句組成。它的功能包括 接受引數 呼叫另一過程 返回乙個狀態值給呼叫過程或批處理,指示呼叫成功或失敗 返回若干個引數值給呼叫過程或批處理,為呼叫者提供動態結果 在遠端sql server中執行等...