2011-11-21 84 views
2

我想弄清楚如何構建這個數據庫。我剛剛使用過Apple的核心數據,我只是在開發一個需要MySQL的不同項目。我對MySQL非常陌生,所以請對我輕鬆一點。 :)MySQL的關係

對於本示例,假設我有三個表,UserDeviceLocation。繪製出來,一個Location可以有很多Device s,但Device只能有一個Location;每個User都有它的主鍵,UserID,我需要使用它來獲取正確的信息。

那麼我該如何在這裏創建一個這樣的關係?我聽說過創建一個索引和一個外鍵,我不確定它們是如何工作的。

最後,我需要做的是能夠訪問User的特定表並查看與User相關聯的所有Locations。我還需要能夠在某個Location處爲某個User添加Device

再次,請原諒我,因爲我試圖圍繞MySQL的頭。我正在使用HeidiSQL來進行數據庫編輯。

回答

5

用戶 - 設備是多對多關係,因此您需要引入中間表來解決該關係。該表只包含兩個外鍵,一個引用用戶表和一個引用設備。設備 - 位置可以通過指向位置表的設備表中的簡單外鍵來處理。

enter image description here

+0

哦,對不起!每個「設備」只能有一個「用戶」,但一個「用戶」可以有許多「設備」和許多「位置」。每個「設備」只能有一個「位置」。 – Baub

+0

@詹姆斯:見我編輯的答案中的圖。 Device'表有兩個外鍵,一個指向'User',另一個指向'Location'。 –