我对使用哪些数据类型以及如何从我的站点定义某些字段有几个问题。我目前的模式是在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