AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Was muss man beachten bei eine DB Anwenung in Netz?
Thema durchsuchen
Ansicht
Themen-Optionen

Was muss man beachten bei eine DB Anwenung in Netz?

Ein Thema von Karstadt · begonnen am 15. Mär 2006 · letzter Beitrag vom 20. Mär 2006
 
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Was muss man beachten bei eine DB Anwenung in Netz?

  Alt 15. Mär 2006, 20:00
Mal wieder zurück zum Thema - Was muss man beachten...
Abhängig von der Art der Bearbeitung ist daran zu denken, wie Transaktionen und Sperren eingesetzt werden. Handelt es sich bei dem Projekt um viele eigenständige Datensätze (wie z.B. ein Protokoll) oder ist die Struktur mehr hierarchisch aufgebaut (wie z.B. Aufträge, Positionen, Lieferungen).

Das Datenbankdesign ist dabei wirklich immens wichtig. Man muss einen Mittelweg finden zwischen der extremen Normalform (keine Redundanz) und entsprechender Performance. Bei der Normalisierung wird nämlcih oft vergessen, dass manche DB nur eine begrenzte JOIN-Verschaltelungstiefe unterstützen. Und was nützt eine DB die insgesamt wenig Felder, geringen Platzbedarf hat und der 4. NF entspricht, wenn Du permanent 6-fach verschachtelete JOIN deswegen benötigst und ab der 7. sagt Die DB "ist nicht". Oder entsprechend das Absacken der Performance.

Soll im Projekt vorgangsorientiert oder eher visuell (QBE) gearbeitet werden?

Generell solltest Du, wenn möglich, Transaktionen einsetzen. Dabei ist aber auch wieder die Dauer der Transaktionen zu beachten. Wenn ein Benutzer einen Auftrag 10 Minuten lang bearbeitet, dürfen durch die Transaktion nur die direkt verarbeiteten Daten geschützte werden. Absolut fatal ist, wenn man z.B. eine zentrale Tabelle mit lfd. Nummern hat, die dann ebenfalls geblockt bleibt. Also Transaktionen isolieren und wenn möglich nur für kurze, zusammenhängende Update-Operationen.

Views und Stored Procedures ersparen Dir viel Arbeit und Redundanz im Projekt. Allerdings ist da die Frage, ob Du für immer by MySQL bleiben willst, denn meistens setzen unterschiedliche DB auch andere SQL-Dialekte für ihre Scripts ein, die nicht zueinander kompatibel sind. Und leider kommt immer irgendwann der Zeitpunkt, wo man aus Bequemlichkeit oder weil es funktional momentan keine andere Lösung zu geben scheint, proprietäre Syntax einsetzt.

Viel Spass...
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
 


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 21:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz