Was sind häufige Fehler bei der Datenbankentwicklung, die von Anwendungsentwicklern gemacht werden?
Antworten
Zu viele Anzeigen?Das wurde schon einmal gesagt, aber: Indizes, Indizes, Indizes . Ich habe schon so viele Fälle von schlecht funktionierenden Unternehmens-Webanwendungen gesehen, die durch eine einfache Profilerstellung (um festzustellen, welche Tabellen besonders häufig angegriffen wurden) und das Hinzufügen eines Indexes für diese Tabellen behoben werden konnten. Dafür sind nicht einmal umfangreiche SQL-Kenntnisse erforderlich, und der Nutzen ist enorm.
Vermeiden Sie die Duplizierung von Daten wie den Teufel das Weihwasser. Manche Leute sind der Meinung, dass ein wenig Duplizierung nicht schadet und die Leistung verbessert. Hey, ich sage nicht, dass Sie Ihr Schema in die dritte Normalform quälen müssen, bis es so abstrakt ist, dass nicht einmal die DBAs wissen, was vor sich geht. Machen Sie sich nur klar, dass bei der Duplizierung von Namen, Postleitzahlen oder Versandcodes die Kopien irgendwann nicht mehr übereinstimmen werden. Das WIRD passieren. Und dann werden Sie sich ärgern, wenn Sie das wöchentliche Wartungsskript ausführen.
Und schließlich: Verwenden Sie eine klare, konsistente und intuitive Benennungskonvention. Genauso wie ein gut geschriebener Code lesbar sein sollte, sollte ein gutes SQL-Schema oder eine Abfrage lesbar und praktisch sein sagen was es tut, auch ohne Kommentare. Sie werden es Ihnen in sechs Monaten danken, wenn Sie die Tische warten müssen. "SELECT account_number, billing_date FROM national_accounts"
ist unendlich viel einfacher zu handhaben als "SELECT ACCNTNBR, BILLDAT FROM NTNLACCTS".
Der häufigste Fehler, den ich in zwanzig Jahren gesehen habe: keine Vorausplanung. Viele Entwickler erstellen eine Datenbank und Tabellen und ändern und erweitern die Tabellen dann ständig, während sie die Anwendungen entwickeln. Das Endergebnis ist oft unübersichtlich und ineffizient und später schwer zu bereinigen oder zu vereinfachen.
-
Sie halten sich für DBAs und Datenmodellierer/Designer, obwohl sie keinerlei formale Ausbildung in diesen Bereichen haben.
-
Sie denken, dass ihr Projekt keinen DBA benötigt, weil das alles einfach/trivial ist.
-
Es wird nicht richtig unterschieden zwischen Arbeiten, die in der Datenbank, und solchen, die in der Anwendung durchgeführt werden sollten.
-
Nicht validierte Backups oder keine Backups.
-
Einbettung von Roh-SQL in ihren Code.