需要在数据库中放置外键的建议

new*_*ser 1 foreign-key database-design database-recommendation

我有customers. 该customers表是这样的

+------------------+
|     Customers    |
+------------------+
| id  (PK)         |
| business_email   |
| business_name    |
| customer_name    |
| payment_terms    |
| currency         |
| business_address |
| city             |
| state            |
| postal_code      |
| country          |
| phone            |
| created_at       |
| updated_at       |
+------------------+
Run Code Online (Sandbox Code Playgroud)

现在,我希望把送货地址在我的应用程序,客户可以任意提他的航运address.SØ我做了一个额外的表shipping address像这样

+------------------+
| Shipping Address |
+------------------+
| id  (PK)         |
| contact_name     |
| contact_address  |
| delivery_address |
| created_at       |
| updated_at       |
+------------------+
Run Code Online (Sandbox Code Playgroud)

现在我的问题是我有点困惑谁的键应该foreign key在哪个表中。我对此感到震惊。所以任何帮助和建议都将非常有用。

Tec*_*url 7

假设一家公司可以有多个送货地址,键将是在送货地址表中添加的一列(恰当地命名为“customer_id”和送货地址表上的外键定义。如果你想避免多次使用相同的地址,也在送货地址表上添加一个唯一的键,可以包括(customer_id、contact_name)

在一个不相关的注释中,请确保您的 created_at 和 updated_at 使用时间戳;)