Database design 地址映射到客户、员工和餐厅

Database design 地址映射到客户、员工和餐厅,database-design,Database Design,我需要一些关于如何设计数据库模式的建议,以便在Customer Address、Employee Address restaurant和restaurant本身Address之间共享地址表。客户可以有多个地址,我们如何以规范化的形式处理这种情况。为了解决这个问题,您需要将所有实体分组在一个公共组下,比如“用户”,并通过一个单独的“用户类型”表来区分它们 在您的案例中,有三种“用户类型”——客户、员工、餐厅 id | user_type -------------- 1 | customer

我需要一些关于如何设计数据库模式的建议,以便在Customer Address、Employee Address restaurant和restaurant本身Address之间共享地址表。客户可以有多个地址,我们如何以规范化的形式处理这种情况。

为了解决这个问题,您需要将所有实体分组在一个公共组下,比如“用户”,并通过一个单独的“用户类型”表来区分它们

在您的案例中,有三种“用户类型”——客户、员工、餐厅

id | user_type
--------------
 1 | customer
 2 | employee
 3 | restaurant
在用户表中,可以通过user\u type\u id列进行外键引用

使用所需的地址字段创建单独的地址表 然后,您可以通过对用户的外键引用,在客户地址、员工地址或餐厅地址之间建立一对多关系。比如说,

id|door_no|address_line_1|address_line_2|user_id
----------------------------------------
1 | 21/B  | Baker street |8th avenue    |1

这个答案可能会进一步帮助您:

大家好,欢迎来到Stack Overflow!请看。我们要求你们首先展示你们的努力,你们迄今为止所做的和尝试。我们不能在没有努力的情况下直接回答这个问题。希望你能理解。