我正在創建一個小型web應用程序,目前正在處理我的數據庫模式。我有兩種表結構的選擇,但我不確定哪種關係是正確的,欣賞建議?以下哪些數據庫表結構是正確的?
選項1
table1
- id (int) [auto increment, pk]
- name (varchar)
table2
- id (int) [auto increment, pk]
- name (varchar)
- table1Id (int) [fk on table1.id]
選項2
table1
- id (int) [auto increment, pk, fk on table3.table1Id]
- name (varchar)
table2
- id (int) [auto increment, pk, fk on table3.table2Id]
- name (varchar)
table3
- table1Id (int) [pk]
- table2Id (int [pk]
欣賞人的思想。
編輯 - 樣例:
tblCountries
- id (int) [auto increment, pk]
- name (varchar)
tblCities
- id (int) [auto increment, pk]
- name (varchar)
我的查詢會拉一個城市,然後需要相應的國家。
問題是 - 數據中能否存在1:M或N:M關係。這是決定哪個是正確的因素。 –
每個都是正確的,這取決於你正在嘗試做什麼。但是,你不會說你想做什麼。 –
對不起,在這裏是個相對的新手。將有一對多關係(table1中的1個項目可以在table2中有多個)。我的查詢將引用table2中的項目,並希望從table1撤回相應的項目。 如果我發佈了一個更好的示例,會更容易嗎? –