php - 在数据库中存储用户全名时有什么更好的做法? 1 列或 2 列?

标签 php mysql ruby-on-rails database

将 first_name 和 last_name 存储在 2 个单独的列中是否被认为是更好的做法?

或者将两者都存储在 1 列中可以吗?

最佳答案

只有你自己知道,真的。这取决于您是否需要单独取回名称的这些部分。

在单个列中存储名字和姓氏不是可逆操作(在“Ellie May Jones”中,“May”是姓氏还是名字的一部分?)

此外,您要应对哪些不同的文化?并非每种文化中的每个人都有两个名字——参见 Wikipedia article on Family names了解您可能打开的蠕虫 jar 头:)

一般来说,我习惯于系统将名字和姓氏分开存储,这让你以后有更多的可能性来处理这些数据,但我主要处理一个单一的、相当小的地理区域,人们习惯于被问到对于名字和姓氏。此外,我运行的系统需要根据姓氏搜索人员(如果您可以为单独的列编制索引会更容易)并向以“亲爱的史密斯小姐……”开头的人发送信件

您可能还想考虑是否需要一个“首选”名称——例如,我的名字是“Matthew”,但我更喜欢被称为“Matt”。并且有很多人喜欢别人在称呼他们时使用他们的中间名之一。您是否需要捕获首选名称和“真实”名称将取决于您的要求...

如果我是你,我会从两栏开始,假设你有相当正常的英语文化偏见。这不是很多代码/存储开销,如果您发现一些紧迫的原因,您可以稍后轻松转换为单列。

关于php - 在数据库中存储用户全名时有什么更好的做法? 1 列或 2 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7417586/

相关文章:

php - PHP 中的 "use\namespace\Class"和 "use namespace\Class"有什么区别?

带有 openSSL 的 PHP - 提供的 key 参数不能被强制转换为私钥

php - 永久设置私有(private)类变量 PHP

ruby-on-rails - Rails&Devise : Failed registration attempt redirects to root url

ruby-on-rails - 将 Google Maps (API V3) 支持添加到 Ruby on Rails 应用程序

php - 使用 php 替换 css 中的前导点和斜线

php - 自定义字段如何在 paypal ipn 中工作?

php - mysql - 如何复制表并保持相同的键和编码?

php - 如何从ajax传递两个值

ruby-on-rails - 有没有办法在调试器中逐步通过Rails应用程序?