AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Wer benutzt referentielle Integrität / Constraints etc. ?
Thema durchsuchen
Ansicht
Themen-Optionen

Wer benutzt referentielle Integrität / Constraints etc. ?

Ein Thema von Jumpy · begonnen am 9. Sep 2011 · letzter Beitrag vom 9. Sep 2011
Antwort Antwort
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#1

AW: Wer benutzt referentielle Integrität / Constraints etc. ?

  Alt 9. Sep 2011, 16:34
Der einzige 'Nachteil' bei der Implementierung der FK ist der mehr oder minder marginale Performanceverlust. Bei massiven Datenbankoperationen kann sich das schon bemerkbar machen.

Wenn man eh performancetechnisch auf der Kippe steht UND die Anwendung stabil ist, kann man die FK wieder rausschmeissen bzw. die Prüfung deaktivieren.

Ich würde es nicht machen, sondern eher das Design überdenken oder die Hardware aufmotzen.

Was ich oben beschrieben habe ist vergleichbar mit dem Rennfahrer, der sich abschnallt, weil er in extremen Kurvensituationen besser fahren kann und so noch 0.1sec rausholt. Das kann entscheidend sein, aber irgendwie vollkommen bescheuert. Dann lieber seine Fahrkünste und/oder das Auto pimpen.

Ich war allerdings mal in einer Situation (DB-technisch), wo man das Design nicht ändern konnte und für bessere Hardware kein Geld da war. Dann hat das Deaktivieren der Foreign Keys wirklich was gebracht. Wohl war mir dabei allerdings nicht.

Nicht das mich jemand falsch versteht:
DB-Design ohne FK ist was für gehirnamputierte Schwachmaten, Abschalten im laufenden Betrieb eher was für Adrenalinjunkies
Das Bild hängt schief.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.867 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Wer benutzt referentielle Integrität / Constraints etc. ?

  Alt 9. Sep 2011, 16:37
Zitat:
Der einzige 'Nachteil' bei der Implementierung der FK ist der mehr oder minder marginale Performanceverlust. Bei massiven Datenbankoperationen kann sich das schon bemerkbar machen.
Aber nur in Sonderfällen. Normalerweise führt der dadurch erzeugte Index zu besseren Performance. (Klar kann man den auch händisch anlegen)
Markus Kinzler
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Wer benutzt referentielle Integrität / Constraints etc. ?

  Alt 9. Sep 2011, 16:54
Ihr bestätigt mich in meiner Meinung. In vielen Dingen ist das ja so, dass das in der Schule gelernte (in der Praxis) nicht der Weisheit letzter Schluß ist, zumal ja auch die meisten Lehrer keine IT-Experten sind. Drum hab ich irgendwie in der Firma das Gefühl gehabt: "Glaub nich alles was du in der Schule lernst. Ist doch nur Theorie, zu verallgemeinert, oft zu veraltet." Stimmt sicher oft auch. Aber gerade bei der Datenbankentwicklung schien mir die Theorie doch sehr sinnvoll und logisch zu sein und konnte das nicht verstehen, dass das bei einigen hier so lax gehandhabt wird.

Gleiches gilt für Parameter. Wird bei uns kaum mit gearbeitet. SQL-Injection hab ich erstmals hier im Forum von gehört. Wobei man dazusagen muss, das in 98% der Fälle die SQL-Statements komplett im Code stehen, will heißen, da gibt's keinen User-Input. Aber trotzdem macht das doch Sinn und ggf. sogar einen Performance-Vorteil.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.210 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Wer benutzt referentielle Integrität / Constraints etc. ?

  Alt 9. Sep 2011, 17:04
Aber trotzdem macht das doch Sinn und ggf. sogar einen Performance-Vorteil.
Nur wenn du das Statement auch preparest und mehrmals verwendest.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#5

AW: Wer benutzt referentielle Integrität / Constraints etc. ?

  Alt 9. Sep 2011, 16:45
Grundsätzlich gebe ich meinen Vorrednern recht. Relationale DB ohne referentielle Integrität macht kaum, oder in den wenigsten Fällen Sinn. Doch relationale Datenbanken sind nicht die einzigen DB-Systeme, oft stossen relationale DB an ihre Grenzen und es kommen alternative Datenbanksysteme (zb Dokumentenorientierte DB) zum Einsatz.
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:17 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 by Thomas Breitkreuz