数据库字段的标准长度列表
我正在devise一个数据库表,并再次问自己一个愚蠢的问题: firstname字段应该多长时间?
有没有人有最常用的字段 ,如名字,姓氏和电子邮件地址的合理长度的列表 ?
英国政府数据标准目录详细介绍了英国的这种标准。 它为Given Name和Family Namebuild议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(具有多个可sorting组件的名称),Mononym(只有一个组件的名称)或Pictonym(由图片表示的名称 – 由于像Prince这样的人而存在)。
一个人可以有多个姓名,扮演的angular色,如法律,婚姻,女仆,首选,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"
。
只要确保您允许名称中包含非字母字符!
在他的姓氏连字符点
我会说错误的偏高。 既然你可能会使用varchar,你所允许的任何额外的空间都不会占用任何额外的空间,除非有人需要它。 我想说的名字(第一或最后),去至less50个字符,并为电子邮件地址,使其至less128.有一些非常长的电子邮件地址在那里。
我喜欢做的另一件事是去Lipsum.com并要求它产生一些文本。 这样你就可以明白100字节的样子。
一个注意:不要求“名字”和“姓氏”。
有些人和我一样,只有一个名字。
(certificate: http : //saizai.com/dl_redacted_small.png )
除非有充分的理由,例如面向客户的界面,其他的一些数字对客户有特殊意义,否则我几乎总是使用2的权力。
如果你坚持2的权力,它保持在一个有限的一套共同的大小,这本身是一件好事,它可以更容易地猜测你可能遇到的未知物体的大小。 我看到很多其他人在做这件事,而且有一些美观的东西。 当我看到这一点时,通常会给我一种很好的感觉,这意味着devise师就像一个工程师或者math家一样思考。 虽然我可能会担心,如果只使用素数。 🙂
我想find相同的答案,接受答案中提到的英国政府数据标准听起来理想。 然而,这些似乎都不存在了 – 经过长时间的search,我发现它在这里的档案: http : //webarchive.nationalarchives.gov.uk/+/http : //www.cabinetoffice.gov.uk/govtalk/ schemasstandards / e-gif / datastandards.aspx 。 需要下载zip,解压缩,然后在html文件夹中打开default.htm。
名字:35姓:35电子邮件:255url:60+根据服务器和浏览器城市:45地址:90
只是看我的电子邮件档案,有一些相当长的“第一”名称(当然,首先是由文化variables)。 一个例子是Krishnamurthy – 这是13个字母长。 一个好的猜测可能是基于这个20到25个字母。 电子邮件应该更长,因为你可能有firstname.lastname@somedomain.com。 此外,Gmail和其他一些邮件程序允许您使用firstname.lastname+sometag@somedomain.com其中“sometag”是任何你想放在那里,所以你可以使用它来分类传入的电子邮件。 我经常遇到networking表单,不允许我在不考虑任何标签的情况下input完整的电子邮件地址。 所以,如果你需要一个固定的电子邮件字段,可能是25.25 + 15@20.3字符,总共90个字符(如果我做了我的math吧!)。
我通常与:
名字 :30个字符
姓氏 :30个字符
电子邮件 :50个字符
地址 :200个字符
如果我担心域名很长,那么我有时候也会用50个域名来命名,因为现在的存储空间很less成为问题。
如果您需要考虑本地化(对于我们在美国之外的人!),并且可能在您的环境中,我会build议:
为名称的每个组件定义数据types – 注意:有些文化有两个以上的名字! 然后有一个types的全名,
然后,本地化变得简单(就名称而言)。
这同样适用于地址,顺便说一句 – 不同的格式!
这些可能对某人有用;
youtube max channel length = 20 facebook max name length = 50 twitter max handle length = 15 email max length = 255
http://www.interoadvisory.com/2015/08/6-areas-inside-of-linkedin-with-character-limits/
这是varchar权利? 所以,如果你使用50或25,最好是安全,使用50,这并不重要,我相信我所看到的最长的时间大概是19左右。 姓氏更长