2012-10-08 100 views
2

假设我有一个包含从一系列选项中选择的信息的rails表。例如,名为sex的字段可以是MaleFemale。名为Bodytype的字段将是slim,curvy等 我的问题是,有什么更好的做法,将这些值存储为整数或字符串? 在第一种情况下,整数将被转换为文本(在控制器中?)。Rails数据库设计:使用字符串还是整数?

感谢您的帮助。

+4

性别根据id这些值是不是黑与白的主题。使用介于0和1之间的浮点值:D – Wug

+0

哈哈,我会考虑它 – TimmyOnRails

+0

有些偏见的文章,但很好的信息:http://www.codinghorror.com/blog/2008/07/maybe-normalizing-isnt -normal.html至少看看双方正在提出什么问题/疑虑。 – iouri

回答

2

如果你没有存储数以百万计的记录,将它们存储为字符串是好的。你失去的是快速更新这些类别的能力,但是如果它们几乎是静态的并且不会随着时间而改变,那应该不重要。性应该可能被称为性别和Bodytype body_type。

+0

正确规范化的数据库将使用能够唯一表示所需可能性总数的最小可能数据类型,并使用另一个表来查找这些值的可读名称。 – Wug

+0

适当规范化的数据库并不总是最好的解决方案。在rails开发中还有很多其他的事情需要考虑。 – iouri

+1

哪个范式说使用最小的数据类型? –

1

您应始终使用索引来标识表中的属性。 因此,例如,你的表看起来像这样

Gender Table 
    id | sex  
    1 | Female 
    2 | Male 

Figure Table 
    id | body_type 
    1 | slim 
    2 | curvy 

然后引用今天

http://use-the-index-luke.com/

相关问题