名称的推荐数据库列大小是多少?

时间:2009-02-04 18:19:28

标签: database-design internationalization

关于数据库设计,有些字段的推荐列大小是某些字段的第一个,中间名和姓氏?另外,中间名称是安全的标准一个字符,还是允许中间名首字母的额外空格?

具体来说,我正在寻找尺寸,这将是我不必担心国际使用的东西。我看过一些中间首字母是两个字符,所以我怀疑单个字符是个好主意,但我很想知道那里是否有任何指导原则。

4 个答案:

答案 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浪费额外的空间。