相关疑难解决方法(0)

使用整数列将美国邮政编码存储在数据库中是一个好主意吗?

乍一看,我认为在数据库表中存储邮政编码有两个基本选择:

  1. 文本(可能是最常见的),即char(5)varchar(9)支持+4扩展
  2. 数字,即32位整数

如果我们假设没有国际问题,两者都将满足数据的要求.在过去,我们通常只是走了文本路线,但我想知道是否有人做相反的事情?只是简单的比较看起来整数方法有两个明显的优点:

  • 通过它的性质,它仅仅自动限于数字(而没有验证,文本样式可以存储字母,据我所知,这些字母在邮政编码中无效).这并不意味着我们可以/将/应该放弃正常验证用户输入!
  • 它占用的空间更少,为4个字节(即使对于9位邮政编码也应该足够),而不是5或9个字节.

而且,它似乎不会对显示输出造成太大影响.打一个ToString()数值,使用简单的字符串操作来插入连字符或空格或其他任何+4扩展名都是微不足道的,并使用字符串格式来恢复前导零.

是否有什么可以阻止使用int仅限美国邮政编码的数据类型?

database database-design types postal-code street-address

51
推荐指数
6
解决办法
4万
查看次数