Nun versuche ich, eine benutzerfreudliche Abbildung der Optionen, Alternativen und Regeln nebst der notwendigen Darstellung und Abfrage zu finden.
auf jeden fall brauchst du eine tabelle der module. diese könnte sogar hierarchisch aufgebaut sein. dann gibts schon mal die stückliste.
dann ist wohl eine 2. tabelle vonnöten, welche die ausschluß und verbindungsangaben enthält. ich denke mal 3 spalten: vonmodul nachmodul bedingung (miteinander, ausschluß).
beim aufbau der stückliste muß dann immer aus beiden tabellen per join die bedingung beachtet werden.
alternativ könnte die bedingung auch in 2 tabellen (miteinander, ausschluß) gehalten werden. so könnte dann beim join mit der modultabelle ein satz als NULL bei ausschluß geliefert werden.