Reputation: 5044
I am trying to figure out how to structure this database. I have used Apple's core data before just fine, I'm just working on a different project now that requires MySQL. I am very new to MySQL so please go easy on me. :)
For this example, let's say I have three tables, User
, Device
, and Location
. Drawing it out, a Location
can have many Device
s, but the Device
can only have one Location
; Each User
has its primary key, UserID
, of which I need to use to fetch the correct information.
So how do I create a relationship like this here? I've heard of creating an index and a foreign key and I'm not sure how they work exactly.
In the end, what I need to do is be able to access the User
's specific table and view all of the Locations
associated with that User
. I will also need to be able to add a Device
at a certain Location
for a certain User
.
Again, please forgive me as I'm trying to wrap my head around MySQL. I am using HeidiSQL to do my database editing.
Upvotes: 5
Views: 6323
Reputation: 135808
User - Device is a many-to-many relationship, so you'll want to introduce an intermediary table to resolve that relationship. That table simply consists of two foreign keys, one referencing the User table and one referencing Device. Device - Location can be handled with a simple foreign key in the Device table pointing to a Location table.
Upvotes: 8