建筑物房间的数据库架构

时间:2017-06-14 11:33:44

标签: mysql database database-design street-address

我必须创建一个预订软件,我已经开始设计数据库了。 房间可能在世界的任何地方,所以我想咨询地址。 阅读了很多类似的问题我设计了这个架构,你怎么看?存储所有类型的地址是否足够? 我遵循this结构。

enter image description here

1 个答案:

答案 0 :(得分:1)

  • 请勿使用4字节onInit()作为“country_id”,请使用标准的2-char“国家/地区代码”;它更小,避免使用INT

  • 没有太多需要将“城市”从地址中分离出来 - 它没有足够的空间来保持重要性,也不会对“规范化”有用。

因此,将JOINCountry合并到City

  • 拥有1:1的关系很少有用;将两个表合并为一个表几乎总是更好。我在考虑AddressBuilding

  • 你有十亿“地板”吗?当1字节Address更合适时,不要使用4字节INT。另请参见TINYINT UNSIGNED(2个字节,范围为0..65535)。

  • DECIMAL(6,4)/(7,4)就是lat / long所需要的。小数点后8位进入微观距离。

  • 选择合适的SMALLINT UNSIGNEDCHARACTER SET和(我怀疑)country_code在世界任何地方都可以是postal_code。 (我可能错了 - 孟加拉国在车牌上使用了非阿拉伯数字。)如果你真的是国际性的话,其他ascii应该是VARCHARs

你可以阅读很多类似的问题来提出架构。不幸的是他们是新手。