Vielen Dank für diese hilfreiche Antworten! Ich fange langsam an, das ganze zu verstehen. Falls eine oder andere Anfängerfrage euch, den Profis, doof vorkommt, so bitte ich vorab um Verzeihung.
In den Fall sollte man eine Tabelle "LandMaschinenTyp" haben, bei dem der Typ der Primärschlüssel ist
Ist Primärschlüssel nicht eindeutig? Ich meine, es werden doch immer wieder die gleichen Typen der Tabelle hinzugefügt.
In der Theorie müsste man PLZ und Ort in eine eigene Tabelle auslagern, da der Ort vollständig von der PLZ abhängt. Da man in der Praxis in den meisten Fällen den Ort zusätzlich benötigt ist die Normalisierung in diesem Fall kontraproduktiv.
In meiner Tabelle gibts es praktisch nur zwei Abhängigkeiten:
- "Bauart" hängt vom "Typ" ab. In 70% aller Abfragen braucht man davon nur den Typ.
- "Baujahr-Monat" von "Baujahr-Jahr". Auch hier braucht man in der Regel nur das Jahr.
Alle anderen Felder haben keine Abhängigkeiten voneinander. Es gibt auch keine vorgebenen Abfragemuster. Der Benutzer hat eine Suchmaske und kann die Parameter beliebig auswählen. Die Parameter entsprechen den Tabellenfeldern. Die Ausnahmen sind eben diese viel o.g. Parameter. Um Bauart auszuwählen, muss der Benutzer zuerst den Typ wählen, genau so bei Monat und Jahr. Ansonsten frei Wahl der Suchlarameter. Ich möchte bei den Abragen die bestmögliche Performance erreichen.
Wichtig ist auch der Performance-Schwerpunkt, ist diese bei INSERT, SELECT, UPDATE oder überall wichtig?
INSERT und UPDATE sind egal, SELECT ist das wichtigste.
Was würdet Ihr mir empfehlen? Soll ich die Felder auslagern oder nicht?