AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Datenbankdesign: Den Grad des Hirnrisses bestimmen
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankdesign: Den Grad des Hirnrisses bestimmen

Ein Thema von Furtbichler · begonnen am 19. Okt 2012 · letzter Beitrag vom 23. Okt 2012
Antwort Antwort
Seite 2 von 2     12   
Furtbichler
(Gast)

n/a Beiträge
 
#11

AW: Datenbankdesign: Den Grad des Hirnrisses bestimmen

  Alt 19. Okt 2012, 16:16
Ich finde sowas sogar so "brauchbar"
Ich nicht, denn ein FK-Constraint ist so nicht möglich.
Zitat:
Es geht doch darum, die Möglichkeiten eines Systems intelligent und effizient auszunutzen. Daran hindert mich höchstens der Kunde selbst.
Natürlich müssen solche Verfahren angemessen dokumentiert sein.
Ich glaube, man hat ein Designproblem gemacht, wenn man diese Art der FK-Referenzierung betreibt.

Und: Ja, ich breche das 3NF-konform (nun, sagen wir 2.7NF) herunter und es gelingt mir sehr gut. Hinterher freue ich mich, wie stringent und transparent ich Erweiterungen umsetzen kann.
Vielleicht kannst du es ja anders anfangen und darum bitten, dir die Gründe für dieses Design zu erklären.
Genau das werde ich machen, denn der PM ist ein sehr fähiger Kopf. Vermutlich sind das Altlasten, die auch an seiner Ehre nagen: Aber man kann so ein Design nicht einfach wegradieren.

Vielleicht war es auch eine gewachsene Applikation, .. oder ein Entwickler, der solche Grenzen im Kopf hatte.
Super schlußgefolgert: Dieses Argument (argh! Die DB wird soo groß! Bei 10 Mio Records) höre ich immer wieder. Und gewachsen ist es ja.
Die Zugriffszeiten waren häufig direkt proportional der Menge der gespeicherten Daten in einer Tabelle.
Ich glaube langsam auch, das das historisch bedingt ist. Bezüglich deines Vorschlags. Mir geht es nicht um die Lösung zu diesem Problem, denn das geht eh nicht ohne massive Änderungen an der Software und langsfristig wollen wir eh weg von der Lösung.
Mir scheint es eher, als ob da nach der Planungs-/Entwicklungsphase noch ein Änderungswunsch hinzukam, der so fix auf dem kleinen Dienstweg gebastelt wurde. Sollte nix kosten nur eben tuten ...
Leute, es ist doch echt witzig: Ich beschreibe ein Fragment einer bekloppten Umsetzung (DB-Design) und nacheinander ist die Community in der Lage, die Historie dieser Applikation genau zu erzählen:

Es ist eine über die Jahre gewachsene Applikation, die vermutlich ihre Anfänge dort nahm, als Speicher noch teuer war und heute werden -wie Sir Rufo treffend bemerkt- Änderungswünsche über den kleinen Dienstweg gebastelt. Gerade gestern ist eine neue Tabelle 'A23' hinzugekommen ist.

Mittlerweile bemerken die das auch und haben ein Szenario entworfen, was passiert, wenn man einen Datensatz ändert und was das für Auswirkungen hat.

Es ist grauenhaft und ich möchte zu meiner Mama.

Ich kann also als Fazit, das es *nicht* state of the art ist, ziemlicher Blödsinn und die einzige plausible und entschuldbare Erklärung die der bekannten "Altlasten" ist, deren Elimination beauftragt werden müsste. Richtig?

Ich werde auch, danke Uwe Raabe, freundlich nachfragen, ob es einen tieferen Sinn gibt.

PS: Danke für die wirklich amüsanten Anekdoten und Einschätzungen, die doch so ziemlich alle ins Schwarze getroffen haben.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: Datenbankdesign: Den Grad des Hirnrisses bestimmen

  Alt 19. Okt 2012, 16:53
Ich kann also als Fazit, das es *nicht* state of the art ist, ziemlicher Blödsinn und die einzige plausible und entschuldbare Erklärung die der bekannten "Altlasten" ist, deren Elimination beauftragt werden müsste. Richtig?
Hmm, mit "state of the art" habe ich so meine Probleme.
Es gab schon soo viele Luftschlösser/Bruchbuden, die als Lösung aller jetzigen und zukünftigen Probleme verkauft wurden, solange es eine Lösung tutet solange ist sie brauchbar, egal ob ISAM,Rel.Datenbank oder Cloud.
Wer hatte "the cloud" noch mal mit Wolkenkuckucksheim übersetzt?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#13

AW: Datenbankdesign: Den Grad des Hirnrisses bestimmen

  Alt 23. Okt 2012, 10:34
Solche Tabellen können auch bei der Verwendung eines ORM entstehen.

öfter als man erwarten würde, entscheidet man sich dabei nämlich dafür eine eigene Tabelle für bestimmte Ableitungen zu haben.
Auf der anderen Seite einer Assoziation wird dann der ORM eine "Discriminator column" anlegen, damit er sofort weiß was er wie abzufragen hat.

Habe ich selbst schon öfters benutzt, einfach weil der Profiler meinte es sei schneller.

Foreign keys sind IMO überbewertet. Zumindest wenn man einen ORM einsetzt. Aber das kommt sicherlich auf den Use-case an. Vor allem ob direkter Zugriff auf die DB ermöglicht werden soll.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von FaTaLGuiLLoTiNe
FaTaLGuiLLoTiNe

Registriert seit: 3. Jul 2004
Ort: NRW
55 Beiträge
 
Delphi XE Enterprise
 
#14

AW: Datenbankdesign: Den Grad des Hirnrisses bestimmen

  Alt 23. Okt 2012, 11:47
Es ist grauenhaft und ich möchte zu meiner Mama.
Weiss deine Mama, wie man Entity-Relationship-Modelle erstellt?
Christian
<< FaTaLGuiLLoTiNe >>
Rhinoceroses don't play games!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz