[gelöst] Primärschlüssel SSMDB2

Antworten
sg_almenrausch
Beiträge: 17
Registriert: So 27. Mär 2016, 16:48
Verein/Verband: SG Almenrausch Kirchdorf e.V.

[gelöst] Primärschlüssel SSMDB2

Beitrag von sg_almenrausch » Fr 10. Mär 2017, 10:24

Hallo an alle,

ich habe eine Frage zu SSMDB2. Wie wird eigentlich der Primärschlüssel (ScheibenID) erzeugt?
Folgener Hintergrund:
Wir lesen bei uns im Verein die SSMDB2 aus und speichern sie dauerhaft in einer eigenen Datenbank ab, damit wir die Daten später weiterverarbeiten können. Das ist soweit kein Problem. Aber: Was passiert, wenn wir den Meyton-Rechner neu aufsetzen (kein Backup, wir fangen ganz neu an) und danach die neuen Daten mit den alten in eine DB zusammenführen wollen? Kann es dann passieren, dass ein Primärschlüssel zweimal auftaucht?
Der Primärschlüssel wird nicht zufälligerweise mit dem Datum codiert?

Ja, ich weiß, dass das eine ziemlich spezielle Frage ist und ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt.

Viele Grüße,
Robert

Benutzeravatar
[MEYTON CM] matze
Beiträge: 209
Registriert: Mo 21. Mär 2016, 19:47
Verein/Verband: SC Roland Kleinlinden

Re: Primärschlüssel SSMDB2

Beitrag von [MEYTON CM] matze » Fr 10. Mär 2017, 12:02

Hallo,

wie genau der primärschlüssel erzeugt wird weiß ich persönlich nicht, aber ihr könntet doch "einfach" eine Abfrage in der Übertragung von der Meyton DB in eure eigene DB einbauen, die Prüft ob in eurer Datenbank die ID schon vorhanden ist und ansonsten weiter zählt, bis eine "freie" ID zur Verfügung steht.

Zu der Frage wie der Schlüssel erzeugt wird, werden sich sicher noch weitere Personen hier melden :-)

Viele Grüße

Matze

sg_almenrausch
Beiträge: 17
Registriert: So 27. Mär 2016, 16:48
Verein/Verband: SG Almenrausch Kirchdorf e.V.

Re: Primärschlüssel SSMDB2

Beitrag von sg_almenrausch » Fr 10. Mär 2017, 13:06

Hallo Matze,

danke für die Antwort!
Wir hätten das im Zweifelsfall so gelöst, dass wir in unserer DB noch eine zusätzliche Spalte mit einer eigenen ID einfügen, die hochzählt, wenn wir den Meyton-Rechner neu aufsetzen, die SSMDB2 löschen etc.
Die Überprüfung, ob ein Primärschlüssel schon vorhanden ist, halte ich für problematisch, da dann durch alle Einträge iteriert werden muss und dies bei wachsender Datenbank (über mehrere Jahre hinweg) eine ziemlich schlechte Laufzeitkomplexität liefert.
Wir dachten uns aber, wir könnten mal nachfragen, wie die ScheibenID generiert wird. Dann können wir das ganze auch besser verstehen. Auf den ersten Blick sieht das nämlich etwas zufällig aus.

Gruß,
Robert

[MEYTON] RG
Administrator
Beiträge: 769
Registriert: Mi 9. Mär 2016, 16:14

Re: Primärschlüssel SSMDB2

Beitrag von [MEYTON] RG » Fr 10. Mär 2017, 19:21

Hallo Robert,

die ScheibenID beinhaltet einen Zeitstempel (Datum und Uhrzeit) und die Standnummer. Selbst wenn ihr den Rechner neu aufsetzt, sollte es deshalb keine Probleme mit doppelten IDs geben.

Schöne Grüße,
Roman

sg_almenrausch
Beiträge: 17
Registriert: So 27. Mär 2016, 16:48
Verein/Verband: SG Almenrausch Kirchdorf e.V.

Re: Primärschlüssel SSMDB2

Beitrag von sg_almenrausch » Sa 11. Mär 2017, 01:01

Hallo Roman,

vielen Dank für die Antwort. Das ist ja wunderbar gelöst und macht uns die Arbeit wesentlich einfacher!

Gruß,
Robert

Antworten