我對使用哪些數據類型以及如何從我的站點定義某些字段有幾個問題。我目前的模式是在MySQL中,但正在轉換到PostregSQL。字段數據類型/驗證問題
首先&姓氏 - >因爲我具備多郎,表中的所有支持UTF-8,但我需要將它們申報爲套內用戶進入一箇中國名字爲nvarchar?如果是這樣,我如何強制字段驗證,如果它被設置爲只接受字母,因爲我認爲這些是英文字母,而不是驗證有效的中文或阿拉伯文字母?而且我不認爲PostregSQL支持nvarchar呢?
存儲當前時間線 - >示例我在公司A從2009年1月到現在工作。所以我假設這裏有3個字段:timeline_to,timeline_from,time_line present & from month/year varchars and present is just a flag to set the date?
用戶密碼。我正在使用SHA 256 + salting。因此,我已2個字段聲明如下:
password_hash - VARCHAR(64)
password_salt- VARCHAR(64)
這是否工作,如果用戶密碼需要是8個到32個字符長之間?出生時間 - >我需要記錄應用程序的出生時間來計算一些占星值。這意味着小時,分鐘和上午/下午。因此,最好存儲這些是使用varchar的3個單獨的單選列表,或者在後端使用時間數據類型,並允許用戶在前端使用單個選擇列表?
最後僅適用於出生月份和年份,如果我將它們存儲在不同的行中,這些是int或varchar嗎?它們都有用於報告的int主鍵,所以int更有意義?或者我應該將它們作爲日期類型存儲在1個字段中?
for 2,我不能。我仍然需要存儲開始/結束日期/時間,因爲人們會在08年1月和2月9日之間搜索在X公司工作的其他人,因此需要保持開始/結束日期,這很好。我遇到的問題是退出當前處於活動狀態的用戶,因爲他們沒有固定的結束日期,但它始終是最新的,因此無法在數據庫中存儲任何日期。 – Markus 2010-11-27 08:14:58