数据库设计问题 - 存储国际人名

时间:2011-01-06 05:15:55

标签: database-design

据我所知,FirstName LastName“问题”经常引起使用美国人设计网站的人的抱怨。您认为哪种系统更适合更多国家/地区?您建议使用哪些字段来存储名称可能需要访问,理解或显示的各种方式?

根据系统的用途,我会根据美国FirstName MiddleName和LastName的想法提出以下字段。中间名在美国几乎未被使用,但大多数人都有一个。它可以帮助区分共享相同组合的许多人FirstName LastName。

FirstName   : George
MiddleName  : Henry
LastName    : Davis
DisplayName : George D.
Alias       : Kidd1985
LegalName   : George Henry Davis

显然,我的设计可能存在一些缺陷,因为LegalName包含与其他字段相同的数据。但是,我怀疑有些情况下不能从其他字段派生LegalName。

但现在我很好奇你们会为国际观众推荐哪种系统?

1 个答案:

答案 0 :(得分:8)

啊哈哈。没有“适当的”答案,但有大量的雷区和罐头充满了蠕虫......

你有名字,姓氏,姓氏,基督徒姓名,姓氏,父姓,部落名,中间名,姓名缩写,姓名,婚前姓,世代姓名,职业名,......?。 An example here on SO

您还应该阅读这些"Falsehoods Programmers Believe About Names""Last Name First"

基本上,你必须选择一个涵盖80%可能性的方案。

例如,我的全球公司数据库中有一个名字和姓氏,用于在西欧拥有总部的公司:无论是否在更广泛的意义上,它都能满足我的要求。

编辑,2013年3月。

更多官方,非博客official guidance from W3Org