ayngush
Commander
- Registriert
- Okt. 2007
- Beiträge
- 2.100
Sorry, deine Antwort zeigt einfach, dass Du das Thema Datenmodellierung und Normalisierung nicht ganz verstanden hast oder es einfach nicht einsiehst.
Ein Ziel der 3NF ist die transitive Abhängigkeit. Es geht nicht darum, sie zu vermeiden, sondern darum sie zwischen den Entitäten herzustellen, da genau darin die Stärken einer relationalen Datenbank liegen. Ansonsten kann man seine Datenhaltung auch in einem Flatfile vornehmen und spart sich den ganzen Zirkus. Teilweise ist das sogar performanter. Es gibt da ganz spezielle Anwendungsfälle, bei denen man das mit Absicht so macht. Dieser hier gehört aber nicht dazu.
In der Anwendung selber definiert man keine "Terminarten", die man dann in der Datenbank verwendet um Termine zu kategorisieren. Das verstößt gegen alle sinnvollen Entwurfsmuster ordentlicher Softwareentwicklung, gegen allgemeine Regeln der Datenmodellierung und gegen gutem Geschmack. Es ist einfach von vorne bis hinten falsch es so umzusetzen. Da kann man auch nichts dran schönreden. Auch nicht, indem man sagt "das ist doch nur eine kleine Access Anwendung". Als ob man solche Anwendungen nicht auch richtig erstellen dürfte? Gammelt einem dadurch die Hand ab? Es ist nicht mal komplizierter bei der Abfrage der Daten. Einfach ein "View" (Access: Abfrage) drum herum kloppen und fertig ist die Laube. Zuzüglich der Dinge, dass es einfacher bzw. überhaupt erst möglich ist so Pattern wie MVC einzuhalten usw.
Potenziell fehleranfällig (und ein Verstoß gegen bewährte Entwurfsmuster wie MVC) ist es Daten, die in einer Datenbank eingetragen werden sollen irgendwo fest in die Software zu codieren. Abgesehen davon, dass das Ergänzen von Terminarten auf diese Art nervt wie sau haut man sich auch schnell mal die Feldgrößen der Datenbank selbst um die Ohren.
Das hat auch nichts mit unterschiedlichen Sichtweisen als DB-Entwickler oder Softwareentwickler zu tun. So etwas habe ich in meinem Berufsleben ernsthaft noch nie gehört. Also, dass sich da die Sichtweisen voneinander unterscheiden würden. Ein Softwareentwickler arbeitet ständig mit den Entwurf von Datenbanken, da kommt man gar nicht drum herum. Nur kann man das halt aus (falscher) Überzeugung falsch oder einfach richtig machen. Ersteres ist nicht unbedingt ein Qualitätsmerkmal...
Ein Ziel der 3NF ist die transitive Abhängigkeit. Es geht nicht darum, sie zu vermeiden, sondern darum sie zwischen den Entitäten herzustellen, da genau darin die Stärken einer relationalen Datenbank liegen. Ansonsten kann man seine Datenhaltung auch in einem Flatfile vornehmen und spart sich den ganzen Zirkus. Teilweise ist das sogar performanter. Es gibt da ganz spezielle Anwendungsfälle, bei denen man das mit Absicht so macht. Dieser hier gehört aber nicht dazu.
In der Anwendung selber definiert man keine "Terminarten", die man dann in der Datenbank verwendet um Termine zu kategorisieren. Das verstößt gegen alle sinnvollen Entwurfsmuster ordentlicher Softwareentwicklung, gegen allgemeine Regeln der Datenmodellierung und gegen gutem Geschmack. Es ist einfach von vorne bis hinten falsch es so umzusetzen. Da kann man auch nichts dran schönreden. Auch nicht, indem man sagt "das ist doch nur eine kleine Access Anwendung". Als ob man solche Anwendungen nicht auch richtig erstellen dürfte? Gammelt einem dadurch die Hand ab? Es ist nicht mal komplizierter bei der Abfrage der Daten. Einfach ein "View" (Access: Abfrage) drum herum kloppen und fertig ist die Laube. Zuzüglich der Dinge, dass es einfacher bzw. überhaupt erst möglich ist so Pattern wie MVC einzuhalten usw.
Potenziell fehleranfällig (und ein Verstoß gegen bewährte Entwurfsmuster wie MVC) ist es Daten, die in einer Datenbank eingetragen werden sollen irgendwo fest in die Software zu codieren. Abgesehen davon, dass das Ergänzen von Terminarten auf diese Art nervt wie sau haut man sich auch schnell mal die Feldgrößen der Datenbank selbst um die Ohren.
Das hat auch nichts mit unterschiedlichen Sichtweisen als DB-Entwickler oder Softwareentwickler zu tun. So etwas habe ich in meinem Berufsleben ernsthaft noch nie gehört. Also, dass sich da die Sichtweisen voneinander unterscheiden würden. Ein Softwareentwickler arbeitet ständig mit den Entwurf von Datenbanken, da kommt man gar nicht drum herum. Nur kann man das halt aus (falscher) Überzeugung falsch oder einfach richtig machen. Ersteres ist nicht unbedingt ein Qualitätsmerkmal...