Originally posted by TylerNZ
I'm not sure if I'm being SUPER blonde or what ... but I only 1/2 understand this drawmack.
Does that mean my Member_to_Meetings table becomes HUGE coz it has all the members and their details for EACH meeting?
Hmmmm
nope - its not that complicated:
members:
ID - bigint, auto_increment
f_name - varchar(100),
m_name - varchar(100),
l_name - varchar(100),
<any other fields you want>
primary key('ID'),
index 'l_name' ('l_name'),
index 'f_name' ('f_name'),
index 'm_name' ('m_name')
meetings
ID
Date
Time
members_to_meetings
ID
MemID
MeetID
see - members_to_meetings will probably have a lot of rows, but only a tiny amount of data in each of these: for example if member nr. 345, 6 and 728 go to meeting 44 itll look like this:
insert into members_to_meetings (MemID, MeetID) VALUES (345, 44);
insert into members_to_meetings (MemID, MeetID) VALUES (6, 44);
insert into members_to_meetings (MemID, MeetID) VALUES (728, 44);
i.e. the content looks like this (members_to_meetings ID: primary key, auto_increment):
members_to_meetings
ID MemID MeetId
1 345 44
2 6 44
3 728 44
to find out what data is connected with user 728, all you have to do is
SELECT * FROM members WHERE ID = '728';
(itll be a lot nicer with a join of course:
SELECT *
FROM members mb, meetings mt, members_to_meetings m2m
WHERE m2m.MemID = mb.ID
AND m2m.MeetID = mt.ID
AND m2m.ID
AND mt.ID = '44';
this will return all info associated with meeting #44 and the users that attended it)
hope that helps a bit!
sid