首页 / 知识
关于sql:人员“姓名”字段的合理长度限制是多少?
2023-04-13 09:11:00

What is a reasonable length limit on person “Name” fields?我有一个简单的Web表单,该表单将允许未经身份验证的用户输入其信息,包括姓名。 我给name字段提供了50个字符的限制,以使其与数据库表中的字段为varchar(50)一致,但是随后我开始怀疑。 使用诸如Text列类型之类的方法更合适还是应该将名称的长度限制为合理的范围? 我正在使用SQL Server 2005,以防您的响应很重要。 编辑:关于类似问题,我没有看到这个更广泛的问题。 英国政府数据标准目录建议给定的姓名和姓氏每个35个字符,或单个字段包含全名的70个字符。 我知道我在这方面迟到了,但是无论如何我都会添加此评论,因为将来其他人很可能会提出类似的问题。 当心调整列大小取决于语言环境。首先,它为您进行了一场维护噩梦,抛开了人们迁移并留下自己名字的事实。 例如,具有这些额外姓氏的西班牙人可以搬到并居住在英语国家/地区,并且可以合理地期望使用其全名。俄国人除了姓氏外还有其他名称,一些非洲名字可能比大多数欧洲名字更长。 考虑到潜在的行数,使每列尽可能地宽。我的名字,其他姓氏和姓氏均使用40个字符,但从未发现任何问题。 我通常使用varchar(255)(255是MySQL中varchar类型的最大长度)。 如果在一个字段中使用全名,那么我通常会在单独的字段中使用128-64/64作为第一个和最后一个,您永远都不会知道。 @伊恩·尼尔森(Ian Nelson):我想知道其他人是否在那里看到问题。 假设您有多个字段。总共70个字符,姓氏35个,姓氏35个。但是,如果您有一个字段,则可以忽略将名字和姓氏分开的空格,只需将您的字符更改为1个字符即可。当然,它只是"一个"字符,但这可能会导致输入全名的人与不输入全名的人有所区别。因此,我将该建议更改为"给定名称和姓氏各35个字符,或单个字段保留全名71个字符"。 在英国,有一些政府标准可以成功处理英国大部分人口,包括护照办公室,驾驶员和车辆执照颁发机构,契约民意调查办公室以及NHS。显然,他们使用不同的标准。 通过契约投票更改您的名字允许300个字符;
NHS使用70个字符作为患者姓名
护照办公室允许30/30优先/最后和驾驶执照(DVLA)总共为30。
您真正要问的是一个相关但又截然不同的问题:我想多久截断一次名称以使其适合数据库?答案取决于名称不同长度的频率以及所选择的最大长度。通过数据库使用的资源之间的平衡可以平衡这种担忧。考虑到varchar字段的不同最大长度之间的开销差异很小,我通常会犯错误,永远不会被迫截断名称并使该字段尽可能大。 我们用50 请注意,许多文化都有"第二姓氏",通常被称为姓氏。例如,如果您要与西班牙人打交道,他们将把自己的姓氏与"姓氏"分隔开来会很高兴。 最好的选择是为名称组件定义数据类型,为姓氏使用数据类型,并根据语言环境进行调整。 具体取决于谁将使用您的数据库,例如,非洲名将使用varchar(20)来区分姓和名。但是,每个国家/地区都不相同,但是为了节省您的数据库资源和内存,将姓氏和名字字段分开并使用varchar(30)认为可行。 平均名字约为6个字母。剩下43个姓。 :)似乎可以根据需要缩短它。 主要问题是您认为会有几行?我认为varchar(50)不会杀死您,直到您获得数百万行。 |
最新内容
相关内容
python如何实现手动输入文字
python如何实现手动输入文字,培训,表达式,字符串,函数,整数,示例,语法,以上,参数,文字,python中可以使用input()函数接收用户输入的文字。函python如何输入序列
python如何输入序列,名称,数据,合法,培训,列表,函数,赋值,序列,变量,语法,Python创建列表在Python中,创建列表的方法可分为2种,下面分别进行介python中怎样输入两行
python中怎样输入两行,异常,环境,培训,语句,函数,机制,结束,空行,文件名,这不,python中的Input()函数在输入时,遇到回车符,那么一次输入就结束python怎么输入多变量
python怎么输入多变量,数字,培训,字符串,逗号,空格,间隔,数值,以上,更多,内容, Python同时输入多个值 1.同时输入多个字符串,字符串python怎么定义用户输入
python怎么定义用户输入,培训,字符串,整数,类型,用户,文本,定义,文档,小数点,位数,python中获取用户输入的方法如下:整数输入#!/usr/bin/pythopython如何输入坐标
python如何输入坐标,对比,培训,坐标,直角坐标,表示,增减,字典,下面,方向,以上,python利用元组、字典可以表示坐标增减,具体做法为:defchange_dipython如何手动输入时间
python如何手动输入时间,时间,培训,单位,项目,平台,设计,日期,模块,新和,函数,python是一种跨平台的计算机程序设计语言。是一种面向对象的动如何用python输入数字
如何用python输入数字,数字,培训,整数,类型,函数,以上,时候,文档,发现,结果,开始使用python的时候想用input输入一个整数:a=input(“请输入一python里面如何输入数字
python里面如何输入数字,数字,代码,培训,方案,字母,里面,以上,提示,错误,方式,要求:用python写一个要求用户输入数字,如果不是数字就一直循环要在python中怎么输入幂
在python中怎么输入幂,培训,方法,次方,表达式,数值,参数,语法,模块,结果,函数,在python中输入幂的方法pow()方法返回xy(x的y次方)的值。语法python的三引号怎么输入
python的三引号怎么输入,培训,引号,字符,字符串,后面,定义,下面,表示,以上,时候,python中的三引号,3个单引号及3个双引号实际上3个单引号和3个python中注释号怎么输入
python中注释号怎么输入,信息,灵活,位置,系统,培训,注释,终端,中文,以上,版本,python中的注释1.单行注释:用“ctrl+”添加“#”;2.多行注释:注