代码之家  ›  专栏  ›  技术社区  ›  DaveB

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

  •  5
  • DaveB  · 技术社区  · 15 年前

    对于常用的字符串数据存储类型,是否有任何建议的字段大小?例如,firstname、lastname、addressline1、addressline2、city、state、postalcode、emailaddress等。我确信任何创建表来存储这些常用数据字段的人都必须决定使用的最大大小。

    你看重什么?

    你有什么公式可以用来做决定吗(比如所有字段的大小都是8的倍数)?

    贵公司是否有指导方针,使包含这些字段的所有表都是统一的?

    这只是个人的事情吗?

    我知道,如果我有一个固定的标准,我就不必停下来想一想,最终得到不同大小的领域。这种一致性在处理ui时也会很好,因为在输入字段和任何数据验证代码上设置maxlength会更容易。

    1 回复  |  直到 15 年前
        1
  •  4
  •   Thomas    15 年前

    请记住,美国邮政服务只允许40个字符的行。因此,173438 Martin Luther King Memorial Parkway SE,1124套房将通过CASS申请转换为如下内容:

    173438 Martin Luther King Pkwy SE
    Suite 1124
    

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

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

    我通常用nvarchar(25)来命名。我还没有遇到过一个名字中有一个超过25个字符的人。我不是说这是不可能的,我只是从来没有在现场看到过。