AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Vergabe einer Nummer

Ein Thema von Rippo · begonnen am 10. Sep 2015 · letzter Beitrag vom 10. Sep 2015
 
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Vergabe einer Nummer

  Alt 10. Sep 2015, 13:39
Wird der Wert nicht vom DBMS automatisch erzeugt oder soll das wirklich deine Anwendung machen?

Ich kenne Firebird jetzt nicht, aber wie verlässlich ist das denn, sich den Schlüssel im Vorab zu holen und darauf zu hoffen, dass in der Zwischenzeit niemand anderes einfügt und diesen Wert schon "verbraucht"?
Wenn ich mir mit 'ner Sequenz einen Wert hole, dann ist er vergeben. Für immer.
Es ist dabei dann egal, ob ich ihn heute oder morgen oder nächstes Jahr in die Datenbank schreibe, vergeben ist vergeben. Das Einzige, was zwingend ist: Jeder, alle ... wie auch immer... müssen sich den Wert über die Sequenz holen.

Und wenn ich mir einen Wert hole und diesen dann nicht nutze, dann ist in der Tabelle für diesen Wert halt eine Lücke, die nie wieder aufgefüllt werden wird.

Eine Sequenz liefert bei jedem Zugriff einen neuen Wert, unabhängig davon, ob irgendeiner der vorher erzeugten Werte jemals genutzt wurde.

Wenn natürlich irgendwer einfach so irgendwelche Werte nutzt, die er sich selbst erfindet, so kann es zu doppelten Werten kommen, das heißt aber auch: Da hat jemand nicht regelkonform mit der Datenbank gearbeitet.

Über eine Sequenz ist eine doppelte Vergabe eines Wertes nicht möglich, von daher kann es die Situation: aber wie verlässlich ist das denn, sich den Schlüssel im Vorab zu holen und darauf zu hoffen, dass in der Zwischenzeit niemand anderes einfügt und diesen Wert schon "verbraucht"? nicht geben.

Ähnlich wie bei einer GUID. Die ist (per Definition) eindeutig, wenn Du sie nutzt, dann schön, wenn nicht, wird niemand mehr diese GUID (zufällig) erzeugen und verwenden können.
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:38 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