字符串数据字段大小的最佳实践是什么?

时间:2010-02-25 17:49:32

标签: sql-server database database-design data-structures

常用的字符串数据存储类型是否有任何推荐的字段大小?例如FirstName,LastName,AddressLine1,AddressLine2,City,State,PostalCode,EmailAddress等等。我相信任何创建表来存储这些常用数据字段的人都必须决定使用哪个最大大小。

你的基础是什么?

您是否有某种用于做出决定的公式(例如所有字段大小是8的倍数)?

贵公司是否有指南,所以包含这些字段的所有表格都是统一的?

这只是个人的事吗?

我知道如果我有一套标准,我就不必停下来思考它并最终得到不同大小的领域。在UI上工作时,这种一致性也会很好,因为在输入字段和任何数据验证代码上设置maxlength会更容易。

1 个答案:

答案 0 :(得分:4)

请注意,美国邮政服务仅允许使用40个字符的行。因此,173438 Martin Luther King Memorial Parkway SE,Suite 1124将被CASS应用程序转换为:

173438 Martin Luther King Pkwy SE
Suite 1124

对于地址,我将从USPS指南开始,然后如果您计划支持国际客户,请查看这些国家的邮政标准。如果地址永远不会被查询,过滤,排序或在实际字母上使用,那么您也可以将单个列键入为nvarchar(max)(顺便说一句,这绝不会是最终情况,因此我总是结束需要单独的列,用于城市,州,邮政编码等)。

最近,我已经不习惯使用单独的列作为街道地址的行。相反,我使用单个nvarchar(max)并在换行符上拆分(\ r \ n或只是\ n)。这样,当一个用户想要一个不包括城市,州和邮政编码的五行地址时,我不必添加新列。

我通常使用nvarchar(25)作为名称。我还没有遇到一个人,他的名字的一部分长度超过25个字符。我不是说这是不可能的,我从未在现场环境中看过它。