Gelöst: autoincrement, generator, trigger

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: autoincrement, generator, trigger

Beitrag von af0815 »

charlytango hat geschrieben:
Mo 19. Dez 2022, 18:01
Alles was Keymanagement und Standardvorgaben für Felder betrifft würde ich in jedem Fall die Datenbank machen lassen.
Klares JAEIN. Das gilt für Applikation die single Server sind. Das geht nicht wenn du mit verteilten Servern arbeitest.

Ja, single Server
Nein, wenn mehrere Server im spiel sind oder sein können. (Beispiel mehrere Filialen, die die Aufträge an einen gemeinsamen Server senden)

Auch muss man betrachten, ob die PK monoton steigend sein müssen oder ob Lücken zulässig sind. Wenn monoton steigend, dann besser eine 2ten Key dafür nehmen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: autoincrement, generator, trigger

Beitrag von charlytango »

af0815 hat geschrieben:
Mo 19. Dez 2022, 19:15

Klares JAEIN. Das gilt für Applikation die single Server sind. Das geht nicht wenn du mit verteilten Servern arbeitest.

Ja, single Server
Nein, wenn mehrere Server im spiel sind oder sein können. (Beispiel mehrere Filialen, die die Aufträge an einen gemeinsamen Server senden)

Auch muss man betrachten, ob die PK monoton steigend sein müssen oder ob Lücken zulässig sind. Wenn monoton steigend, dann besser eine 2ten Key dafür nehmen.
Stimme dir voll zu -- nur hatte ich nicht den Eindruck dass es da um verteilte Server, Clustersysteme oder gröberes ging wo erweitertes Datenbankdesign eine Rolle spielt.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: autoincrement, generator, trigger

Beitrag von af0815 »

charlytango hat geschrieben:
Mo 19. Dez 2022, 20:51
Stimme dir voll zu -- nur hatte ich nicht den Eindruck dass es da um verteilte Server, Clustersysteme oder gröberes ging wo erweitertes Datenbankdesign eine Rolle spielt.
Ist mir schon bei einer kleinst Applikation so gegangen, nur weil der Chef auch zuhause auf seinem Rechner (Server kann man nicht sagen) die AUfträge eingeben wollte. Ha, einfach die Aplikation verdoppelt und dann hat Boom gemacht wie ich die Aufträge zusammenführen musste. Da haben sich die Kreise für die automatischen PKs überschnitten. Kleiner Denkfehler :-) Keine großen Server.

BTW: Auf Headless Ubuntu lassen sich ohne Probleme der MS-SQL Server in der kleinen (quasi privat freien) Version installieren. Läuft ohne Probleme und ist für den Hobbybereich echt geil, weil ausser dem SQL Server Agent fast nichts fehlt. Läuft nicht am RasPi, muss Intel kompatibel sein. Braucht keine mega Hardware zu sein.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2639
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: autoincrement, generator, trigger

Beitrag von m.fuchs »

af0815 hat geschrieben:
Mo 19. Dez 2022, 22:51
Ist mir schon bei einer kleinst Applikation so gegangen, nur weil der Chef auch zuhause auf seinem Rechner (Server kann man nicht sagen) die AUfträge eingeben wollte. Ha, einfach die Aplikation verdoppelt und dann hat Boom gemacht wie ich die Aufträge zusammenführen musste. Da haben sich die Kreise für die automatischen PKs überschnitten. Kleiner
Dafür hat uns der Herrgott doch die UUID geschenkt.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: autoincrement, generator, trigger

Beitrag von af0815 »

m.fuchs hat geschrieben:
Mo 19. Dez 2022, 22:59
af0815 hat geschrieben:
Mo 19. Dez 2022, 22:51
Ist mir schon bei einer kleinst Applikation so gegangen, nur weil der Chef auch zuhause auf seinem Rechner (Server kann man nicht sagen) die AUfträge eingeben wollte. Ha, einfach die Aplikation verdoppelt und dann hat Boom gemacht wie ich die Aufträge zusammenführen musste. Da haben sich die Kreise für die automatischen PKs überschnitten. Kleiner
Dafür hat uns der Herrgott doch die UUID geschenkt.
GUID war die Lösung :-) Ist eine Art der UUID, ich weis. Wie immer hinterher ist man schlauer, vor allen wenn eine vermeintlich kleine Änderung an den Umständen einen Rattenschwanz hinterherziehen. Und damit hat man ja nicht gerechnet.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Gelöst: autoincrement, generator, trigger

Beitrag von charlytango »

<Nostalgie ON>
für solche Zwecke haben wir uns damals (-2-3 Dekaden) einen eigenen ID.Generator gebaut der aus einer eineindeutigen ClientID und einem aufgebohrten Timestamp einen Key generiert hat. 8)
<Nostalgie OFF>

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Gelöst: autoincrement, generator, trigger

Beitrag von af0815 »

charlytango hat geschrieben:
Di 20. Dez 2022, 09:52
<Nostalgie ON>
für solche Zwecke haben wir uns damals (-2-3 Dekaden) einen eigenen ID.Generator gebaut der aus einer eineindeutigen ClientID und einem aufgebohrten Timestamp einen Key generiert hat. 8)
<Nostalgie OFF>
Ist in etwa auch das was der UUID/GUID ist, wenn man sich den Aufbau und Bildung in den MS-Dokumentation ansieht. Zumindest früher war das sehr schön beschrieben.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten