站內搜尋

Wednesday, October 20, 2010

[MYSQL] 設計多對多的資料表的概念

資料庫中各資料表之間的關聯性,有可能是【一對一】、【一對多】或【多對多】,前兩種情形比較單純,比較麻煩的是第三種【多對多】,假設我們要設計一個線上遊戲的DB,針對遊戲玩家身上的道具,就是一種多對多資料表的應用...

 基本的資料表有兩個,分別為

1、遊戲玩家的清單資料表(user) 其中欄位可能有等級、種族...等
2、所有道具的清單資料表(item) 其中欄位可能有類別、道具說明...等

一個玩家身上會有很多道具,而一種道具也會被很多玩家所擁有,這就是一種多對多資料表的情形,所以我們需要透過建立一個中介橋梁(接合資料表,junction table),來儲存user資料表與item資料表的主鍵(假設是user_id與item_id),再利用各種聯結查詢的語法去取得某某人身上有哪些道具。

No comments:

Post a Comment