我有一個數據庫,其中包含使用外鍵來表示它們之間的關係的表。在一個表中,我有2列。 1是id(外鍵),其他包含friendsids(來自朋友表的外鍵)。如何建立數據庫中的一對多關係
要麼我可以把朋友在不同的行:
| id | friendsids |
| 1 | 3 |
| 1 | 4 |
| 1 | 5 |
或將它們打包成一個單一的字符串字段:
| id | friendsids |
| 1 | 3,4,5 |
在第二種方式以後,我會分開使用PHP explode()
friendsids。還記得我有很多記錄。哪種方式更有效率,爲什麼?
在此先感謝。
儘可能規範化您的數據庫。所以第一個選擇就是去配合它。如果您使用第二個,則會將聯繫人數據加入到friendsids鍵中。 – TiMESPLiNTER
隨意使用選項#2,但不要在這裏問如何消除由於破壞數據庫實際上在其本身之間進行RELATE數據的能力所造成的損害:http://en.wikipedia.org/wiki/Database_normalization –
萬一如果friendsids不是外鍵,你是否仍然認爲第一個是更好的選擇? – Arvie