You need 5 tables:
- one to hold the details for each program
- one to hold the details for each committee
- a junction table between the program and committee tables that has one
row for each committee for each program.
- one to hold the details for each committee member
- a junction table between the junction table above, and the committee
members table that has one row for each member on each committee.
So, if I've got Programs A, B and C, and committees X, Y and Z, I might have
something like:
A X
A Y
B X
B Y
B Z
C Y
C Z
which indicates that Program A has committees X and Y, Program B has all 3
committees and Program C has committee Y and Z.
Then, I'd have something like:
A X Doug
A X Amy
A Y Elizabeth
A Y Amy
etc.
to indicate that Amy and I are on committee X for Program A, and you and Amy
are on committee Y for Program A