AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie würdet Ihr das lösen?

Ein Thema von Kralle · begonnen am 11. Jan 2015 · letzter Beitrag vom 17. Jan 2015
 
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.493 Beiträge
 
Delphi 12 Athens
 
#21

AW: Wie würdet Ihr das lösen?

  Alt 16. Jan 2015, 09:07
Das Konzept einer fortlaufenden Zeilennummer ist in der Praxis nicht sinnvoll, die Probleme beim Löschen hast du ja bereits selbst dargestellt.
Noch viel schwieriger wird das ganze, wenn mehrere Benutzer zur selben Zeit Datensätze hinzufügen oder entfernen.
Unmöglich kann man so Beziehungen zwischen Datensätzen unterschiedlichen Tabellen darstellen z.B.:

Tabelle1 (Kundentabelle)
Zeile, Kundennummer, Name, Ort(Zeile)
1, 10003, Hans, 2
2, 10005, ALf, 4

Tabelle2 (Ortetabelle)
Zeile, ORT
1, Berlin
2, Hamburg
3, Bremen
4, Dachboden

Muss jetzt z.B. Berlin gelöscht werden, müssen nicht nur in der Ortetabelle alle Zeilennummern neu vergeben werden.
Auch in allen abhängigen Tabellen müssen alle Nummern aktualisiert werden.
Mal abgesehen von dem Aufwand, der bei hundertausend Datensätzen nicht mehr beherrschbar wäre.
Wenn Benutzer A gerade den Datensatz mit Hans bearbeitet und Benutzer B löscht in der Zwischenzeit Berlin.
Der Benutzer A müsste dann eine Fehlermeldung beim Speichern bekommen oder er schreibt seine Daten mit der falschen Ortszeilennummer zurück.
Das ist bei sehr vielen komplexen Beziehungen nicht beherrschbar.

Deshalb hat sich das Konzept einer eindeutigen Identifikationsnummer je Datensatz als Primärschlüssel durchgsetzt.
Diese Nummer wird zwar auch fortlaufend bei der Neuanlage eines Datensatzes vergeben, es sind aber durchaus Lücken erlaubt.
Wichtig ist, diese Nummer wird niemals dem Anwender angezeigt. Der wählt den Datensatz z.B. über die Kundennummer oder die Postleitzahl aus.
Das Programm führt die ID aber immer mit dem Datensatz mit. Eine Zeilennummer ist eigentlich überflüssig, da der Anwender die Daten nach verschiedenen Spalten sortieren kann.
Diese könnte man aber beim Lesen der Daten auch einfach fortlaufend mitzählen und ausgeben.

Ist eine vom Anwender frei definierbare Sortierung der Datensätze einer bestimten Tabelle erforderlich, kann man dafür z.B. eine Hilfstabelle anlegen, die ID und fortlaufende Sortiernummer zur eigentlichen Datentabelle enthält. Dadurch werden durch einen Umsortierung die Datensätze in der Datentabelle nicht verändert.
  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 11:40 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