数据如出生月份,日期和年份,用户的年龄,性别/性别等。这些应作为文本还是以ID为基础存储在数据库中?基于ID的意味着它们将具有查找值。用法是例如:用户注册将记录年龄,用户配置文件将有一个寻求合作伙伴的年龄等,所以年龄和其他数据可以在多个地方使用。在后端将有分析推动我使用查找表甚至像性别只有2-3值的小事情。用于基本用户输入的查找表?
0
A
回答
0
您将要引用数据类型或数据库具有avilable。对于mysql:http://dev.mysql.com/doc/refman/5.0/en/data-types.html
请勿使用您提到的任何字段作为主键。创建'id'列或使用用户的用户名。
这里是田野数据库:
- 生日=日期
- 年龄= TINYINT(从技术上讲,你不需要这个,因为你总是可以判断它基于他们的生日和当前日期这取决于你在做什么)
- 性别=枚举
0
我不会跟你提到的领域查找表打扰。出生月份,日期,年份都可以封装在单个日期字段(带日期类型,而不是文本)中,然后在需要时与数据库功能分开。年龄只是一个数字,这是你所有的ID字段将是,所以没有太多的意见,除非你想实际限制年龄范围,在这种情况下,你可以使用检查约束,而不是查找,如果你需要限制到实际范围(年龄> = 1,年龄< = 20)。性别/性别是我可能考虑查找的唯一一个,但由于可能的价值非常少,因此检查约束就足够了。
哦,我不知道你在用什么分析方法,但是任何值得分析的分析软件都可以自行生成字段域(表格字段中的唯一值列表),特别是对于你提到的字段。如果你正在构建你自己的分析(不确定,根据你对另一个海报解决方案的评论),你可以很容易地进行查询来做你正在谈论的内容。
相关问题
- 1. 查找基于用户输入
- 2. 基本的用户输入
- 3. 查找用户输入
- 4. 解析为基本类型,基于c#中的用户输入#
- 5. 基于用户输入的成本函数加权输出
- 6. 基于用户输入的Clojure循环
- 7. 基于用户输入的ViewImage更改
- 8. 基于用户输入的FormattedTextField
- 9. 基于Java中的用户输入的SQL查询
- 10. 基于用户输入继承课程
- 11. 使得基于用户输入
- 12. 基于用户输入生成HTML
- 13. 基于用户输入过滤jqgrid
- 14. 查找用户基于Twitter好友
- 15. 基于用户输入的Mysql过滤器查询
- 16. 基于用户输入显示来自Oracle查询的结果
- 17. 如何基于用户提供的输入形成sql查询
- 18. MYSQL:基于用户输入的过滤器查询
- 19. 基于用户输入的多个标签/文本框
- 20. 基本javascript用户输入更改div
- 21. 基于用户输入的表格列的范围
- 22. 用于基于位置的搜索的细分用户输入?
- 23. 帐户基于查找
- 24. 填充/刷新基于用户输入的下拉列表
- 25. 基于用户输入的AngularJS开关样式表
- 26. 基于用户输入的jQuery表行选择器
- 27. JavaScript的基于表单输入重定向用户到目录
- 28. 起草SQL搜索查询基于用户输入
- 29. 使用用户输入查找并替换列表(python)
- 30. 用于在用户输入中查找空间和'/'字符的正则表达式使用动作脚本3
我不是指类型。我的意思是价值观。年龄从1到120.所有这些值 - >我们是否将这些数据作为文本字段数据存储在数据库中,还是应该是像Age_id,Age这样的查找表,其中每行是从1到120之间的一个数字,因此我们可以使用FK参考它。我问,因为我有一个完整的分析组件需要设计出来,因此跨表格映射数据和维护标准值对整个系统非常重要。就像我已经看到的那样,出生年份在所有可能的年份都有查找表。与此同时,我看到很多人把它作为日期/文本存储起来。 – Karem 2010-10-13 19:17:53
@Karem我认为我的答案和他的基本相同。对于你提到的领域,你需要找到适合你想存储的数据类型。日期字段可以在一个字段中保存月份,日期和年份,然后如果您只需要一个月份,则可以使用数据库功能将其分割出来。年龄可以从出生日期开始计算,因此存储是多余的。 – 2010-10-13 21:30:43