数据库字段的标准长度列表
我正在设计一个数据库表,并再次问自己同样一个愚蠢的问题:firstname字段应该多长时间?
有没有人有最常见字段的合理长度列表 ,例如名字,姓氏和电子邮件地址?
英国政府数据标准目录详细介绍了英国的这种标准。 它为每个给定名称和系列名称建议35个字符,或者一个字段包含70个字符来保存全名,并为电子邮件地址提供255个字符。 除其他事情..
我刚刚在美国与数百万客户查询了我的数据库。
最长的名字长度是46岁,我是50岁(当然,其中只有500人超过25岁,而且都是数据导入导致该领域额外垃圾清理的所有情况。)
姓氏与名字相似。
电子邮件地址最多为62个字符。 大部分较长的实际上是用分号分隔的电子邮件地址列表。
街道地址最多可容纳95个字符。 长期的都是有效的。
最大城市长度为35。
这对美国人来说应该是一个体面的统计数据。 如果您有本地化考虑,数字可能会有很大差异。
一些可能正确的列长度
                            Min Max
Hostname                    1   255
Domain Name                 4   253
Email Address               7   254
Email Address [1]           3   254
Telephone Number            10  15      
Telephone Number [2]        3   26  
HTTP(S) URL w domain name   11  2083        
URL [3]                     6   2083    
Postal Code [4]             2   11
IP Address (incl ipv6)      7   45
Longitude                   numeric 9,6
Latitude                    numeric 8,6
Money[5]                    numeric 19,4
[1] Allow local domains or TLD-only domains
[2] Allow short numbers like 911 and extensions like 16045551212x12345
[3] Allow local domains, tv:// scheme
[4] http://en.wikipedia.org/wiki/List_of_postal_codes. Use max 12 if storing dash or space
[5] http://stackoverflow.com/questions/224462/storing-money-in-a-decimal-column-what-precision-and-scale
长期咆哮人名
个人名称可以是Polynym(具有多个可排序组件的名称),Mononym(仅包含一个组件的名称)或Pictonym(由图片表示的名称 - 由于像Prince这样的人而存在)。
一个人可以有多个姓名,扮演角色,如法律,婚姻,女仆,首选,SOBRIQUET,PSEUDONYM等。您可能有商业规则,例如“一个人一次只能有一个合法名称,但多个假名一次“。
一些例子:
names: [
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"George",
    middle:"Herman",
    moniker:"Babe",
    surname:"Ruth",
    generation:"JUNIOR"
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"The Bambino" /* mononyms can be more than one word, but only one component */
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"The Sultan of Swat"
  }
]
要么
names: [
  {
    type:"POLYNYM",
    role:"PREFERRED",
    given:"Malcolm",
    surname:"X"
  },
  {
    type:"POLYNYM",
    role:"BIRTH",
    given:"Malcolm",
    surname:"Little"
  },
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Malik",
    surname:"El-Shabazz"
  }
]
要么
names:[
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Prince",
    middle:"Rogers",
    surname:"Nelson"
  },
  {
    type:"MONONYM",
    role:"SOBRIQUET",
    mononym:"Prince"
  },
  {
    type:"PICTONYM",
    role:"LEGAL",
    url:"http://upload.wikimedia.org/wikipedia/en/thumb/a/af/Prince_logo.svg/130px-Prince_logo.svg.png"
  }
]
要么
names:[
  {
    type:"POLYNYM",
    role:"LEGAL",
    given:"Juan Pablo",
    surname:"Fernández de Calderón",
    secondarySurname:"García-Iglesias" /* hispanic people often have two surnames. it can be impolite to use the wrong one. Portuguese and Spaniards differ as to which surname is important */
  }
]
  鉴于姓名,中间名,姓可以是多个单词,如"Billy Bob" Thornton或Ralph "Vaughn Williams" 。 
上一篇: List of standard lengths for database fields
下一篇: How do I solve incorrect MIME types being served on appended URLs?
