Felix Riesterer: MySQL - Design Frage

Beitrag lesen

Lieber Thomas,

nach meinem noch recht jungen Verständnis der Materie stellen sich hier zwei Abwägungen.

1.) Wie umständlich sollen die Anfragen an den DB-Server werden (wieviele Joins), um an Deine gewünschten Daten zu kommen?
2.) Wie frei erweiterbar soll Deine DB aufgebaut werden?

Den Kompromiss musst Du finden.

In Deinem konkreten Beispiel tendiere ich sehr stark zu Deiner 1:n-Lösung, da man mit einem relativ einfachen Join die Buchungsart zu der Buchung ermitteln kann. Bei einer Lösung mit drei verschiedenen Tabellen wird das schnell unübersichtlich.

Wegen der "Erweiterbarkeit": Was spricht denn gegen eine neue Spalte in einer bereits vorhandenen Tabelle, anstatt eine neue Tabelle anzulegen? in beiden Fällen wirst Du Datenbestände haben, die diese neue "Eigenschaft" nicht haben, sei es in der neuen (leeren) Spalte, oder in der neuen Tabelle (in der sie nicht aufgeführt werden)!

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)