Ist es für eine Datenbank wichtig, eine Beziehungstabelle / ein Beziehungsdiagramm zu haben oder nicht? [geschlossen]

7

Ich habe eine Frage und wollte die besten Praktiken oder Gedanken dazu bekommen.

Ich habe eine Anwendung, die mit einem SQL Server-Backend entwickelt wurde (Site ist Entity Framework, vb.net, asp.net). Das ursprüngliche Design enthält keine Datenbankdiagramm- / Schema- / Beziehungstabelle in der Datenbank.

Die Seite funktioniert großartig, hat aber einige Rückschläge von einer anderen Gruppe erhalten, die sagt, dass sie eine Beziehungstabelle haben muss, um richtig zu funktionieren.

Also ist das persönliche Präferenz oder was? Ich bin kein DB-Guru und versuche herauszufinden, ob es zwei Arten der Entwicklung sind, und jemand versucht, persönliche Präferenzen gegenüber Standards oder Best Practices zu forcieren.

Valien
quelle
2
"Das ursprüngliche Design enthält kein Datenbankdiagramm / Schema / Beziehungstabelle" - Ich verstehe nicht, wie ich das in aussagekräftige Sätze erweitern kann. Vielleicht sollten die Wörter "Diagramm" und "Tabelle" vertauscht werden? Welche Bedeutung hat das Qualifikationsmerkmal "in der Datenbank selbst"?
Tag, wenn

Antworten:

6

Sie brauchen kein Diagramm, damit es funktioniert, Sie brauchen eines, um die zukünftigen Entwickler zu schulen!

Wenn Sie jedoch wirklich eine Datenbank haben, in der keine tatsächlichen formalen PK / FK-Beziehungen eingerichtet sind (was Sie beim Erstellen von Diagrammen sowie auf bessere Weise wie SQL-Skripten tun können), ist dies eine andere Geschichte. Dies führt letztendlich dazu, dass Ihre Daten inkonsistent sind, und ist in der Tat ein echtes Problem für andere Benutzer der Datenbank.

HLGEM
quelle
3

Wenn es sich um ein rein objektgesteuertes Daten-Design handelt, können Sie es nur über Anwendungscode abfragen. Also nein, ich würde nicht nach einem Datendiagramm fragen, das mir nichts nützt, nein. Ich denke, das klingt so, als würde jemand Präferenzen über Standards stellen (und das kommt von einem ziemlich engagierten, standardorientierten DBA-Nerd).

Grant Fritchey
quelle
3

Es ist sicherlich aus funktionalen Gründen nicht erforderlich, aber es ist keine schlechte Idee für eine schnelle und schmutzige Dokumentation. Es hört sich so an, als würden sie es mit dem Access Relationship Designer verwechseln, in dem Sie tatsächlich Ihre Fremdschlüssel deklarieren. Der SQL Server-Datenbankdiagramm-Designer sieht ähnlich aus, hat jedoch einen völlig anderen Zweck (Dokumentation anstelle von DDL).

db2
quelle
Sie haben Recht, es wird hauptsächlich zu Dokumentationszwecken gepusht. Die aktuelle App läuft großartig, ohne dass dies gerade eingebaut ist.
Valien
2

Ich würde empfehlen, zumindest ein Datenwörterbuch und ER-Diagramme für die Geschäftsdomänentabellen zu haben. Während es einige systemgenerierte asp_-Tabellen gibt, die für sich allein gut dokumentiert und möglicherweise für die Geschäftslogik irrelevant sind, sollte alles, was außerhalb davon erstellt wurde, klar dokumentiert werden.

hqrsie
quelle