Database design 地址的数据库规范化
我正试图为一家豪华轿车公司建立一个数据库,但我陷入了一个难题:对于与客户、司机、附属公司和订单相关的地址,我应该做多少标准化工作 基本上,分支机构和驱动程序地址如下所示: 地址行1,地址行2,城市,州,邮编,国家 我的问题来自订单和客户地址。 它们应该是这样的: 地址\行\ 1、地址\行\ 2、城市、州、邮政编码、国家、地址\类型\ 1(家庭、业务)、地址\类型\ 2(取车、下车-这仅需要包含在订单中) 所以,在所有四个表之间,除了两个在customer和orders表中不同的字段外,我在address字段上有相似之处 我需要提到的是,每个记录都将使用唯一的ID进行标识。 例如: 客户ID-10000-99999 订单ID-100000-无限制 驾驶员ID-a1-a999(可能) 附属机构ID-1000-9999 这些只是例子,所以不要花太多时间去理解它们 我应该使用多少地址表来创建一个良好的规范化数据库 在这一刻,我有三个想法:Database design 地址的数据库规范化,database-design,street-address,database-normalization,Database Design,Street Address,Database Normalization,我正试图为一家豪华轿车公司建立一个数据库,但我陷入了一个难题:对于与客户、司机、附属公司和订单相关的地址,我应该做多少标准化工作 基本上,分支机构和驱动程序地址如下所示: 地址行1,地址行2,城市,州,邮编,国家 我的问题来自订单和客户地址。 它们应该是这样的: 地址\行\ 1、地址\行\ 2、城市、州、邮政编码、国家、地址\类型\ 1(家庭、业务)、地址\类型\ 2(取车、下车-这仅需要包含在订单中) 所以,在所有四个表之间,除了两个在customer和orders表中不同的字段外,我在add
是的,我肯定会使用一些验证系统来确保地址是正确的。我实际上在地址验证行业工作,处理和存储地址是我们的专业领域。根据我的经验,我见过很多和你很相似的情况 我最初关心的是根据记录的类型来划分ID号。如果四种类型的记录(客户、司机、附属公司、订单)存储在不同的表中,为什么需要ID范围限制?(更新:这并不是当前的主要问题……) 现在,我们来谈谈数据库设计。理想情况下,您的设计应该反映核心域的操作(即,协调客户、订单、驱动程序等),而不只是耦合到地址数据。虽然地址可能很重要,但它们不是您业务的核心运营。基于这一点以及我从你的原始帖子中收集到的信息,我会立即犹豫是否将地址与实际记录分开存储 虽然每个表中都有相似的字段,但它们代表不同的业务目的,并且不会冒险使用未使用的、不必要的字段。因此,问题不在于“我制作了多少个地址表”,而在于甚至制作任何地址表