关于数据库设计,有些字段的推荐列大小是某些字段的第一个,中间名和姓氏?另外,中间名称是安全的标准一个字符,还是允许中间名首字母的额外空格?
具体来说,我正在寻找尺寸,这将是我不必担心国际使用的东西。我看过一些中间首字母是两个字符,所以我怀疑单个字符是个好主意,但我很想知道那里是否有任何指导原则。
答案 0 :(得分:9)
ISO尚未颁布人类命名标准(尽管如此),但我听说初步草案正在最高级别传播。
:)
严重的是,64个左右应该足以满足99.99%的名字和姓氏 - 用任何语言。我从来没有见过除MI之外的其他任何东西(尽管你是对的,很多人都有不止一个)。
BTW:除非我弄错了,否则电子邮件地址 - 技术上 - 最多可以包含320个字符,并且可以包含! #$%& '* + - / =? ^ _` {| }〜和。提供的。不是第一个也不是最后一个字符,也不是连续出现两次或多次。PS。我的宠物兔的名字是“他的皇家陛下Theopolops Bunny Galore”。不用说,这在兽医的数据库中被截断了。我认为他们有“他的皇家少校”。它就是这样。
答案 1 :(得分:5)
如果您想支持world's longest name,则需要合并590个字符。
答案 2 :(得分:2)
就我个人而言,我认为这可以归结为您合理预期需要存储多少数据。即使你有一百万个名字,每个名字使用一个char(64)或更大的名字可能也不会有什么坏处。如果大小是个问题,您可以从32开始,并根据需要使用alter column提高大小。
答案 3 :(得分:1)
我不确定长度,但如果你要进行国际化,那么一定要使用nvarchar
,因为这将支持你可能遇到的任何“扩展”ASCII字符。关于nvarchar
的另一个好处是,它具有固定的最大长度,但不会将值填充到该长度。
换句话说,我的名字将存储为
'Andrew'
在nvarchar(20)
字段中,但会存储为
'Andrew '
在char(20)
字段中。因此,考虑到这一点,我会为一些名字拍摄大量的人物,并考虑到你不会使用nvarchar
浪费额外的空间。