Database-Design

需要在數據庫中放置外鍵的建議

  • March 30, 2012

我有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       |
+------------------+

現在我想把送貨地址放在我的應用程序中,客戶可以選擇提及他的送貨地址。所以我為此做了一個額外的shipping address表格

+------------------+
| Shipping Address |
+------------------+
| id  (PK)         |
| contact_name     |
| contact_address  |
| delivery_address |
| created_at       |
| updated_at       |
+------------------+

現在我的問題是我有點困惑誰的鍵應該foreign key在哪個表中。我對此感到震驚。所以任何幫助和建議都將是高度可觀的。

假設一家公司可以有多個送貨地址,則鍵將是在送貨地址表上添加的一列(恰當地命名為“customer_id”和送貨地址表上的外鍵定義。如果您想多次避免使用相同的地址,也在送貨地址表上添加一個唯一鍵,可以包括(customer_id,contact_name)

在不相關的說明中,確保您的 created_at 和 updated_at 使用時間戳;)

也許您可能想添加一個客戶 ID

+------------------+
| Shipping Address |
+------------------+
| id  (PK)         |
| customer_id (FK) |
| contact_name     |
| contact_address  |
| delivery_address |
| created_at       |
| updated_at       |
+------------------+

引用自:https://dba.stackexchange.com/questions/15433