Wenn man nicht aufpasst, hat vor lauter 3NF die Performance außen vor gelassen. Dem RDMBS ist es i.a. egal, ob man nun 10 oder 50 bit-Spalten pro Datensatz hat. Na ja, zumindest ist das bei
SQL-Server so.
Also, ich würde mir das 2x überlegen, ob ich die Optionen wirklich alle einzeln in einer Detailtabelle vorhalten würde.
Es kann ja sein, das man das gruppieren kann. Oder einfach doch 100 Bit-Spalten in die Tabelle klatschen. Von der Performance her ist das jedenfalls bei weitem das Beste.
Ich habe Anwendungen, bei denen der Kunde solch optionale Spalten selber deklariert und die Anwendung im Hintergrund die Tabelle per ALTER TABLE einfach entsprechend updatet.
Man muss
imho beim
DB-Design immer Einfachheit, Performance und Normalform in Einklang bringen.