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
[gelöst] Primärschlüssel SSMDB2
-
- Beiträge: 17
- Registriert: So 27. Mär 2016, 16:48
- Verein/Verband: SG Almenrausch Kirchdorf e.V.
- [MEYTON CM] matze
- Beiträge: 209
- Registriert: Mo 21. Mär 2016, 19:47
- Verein/Verband: SC Roland Kleinlinden
Re: Primärschlüssel SSMDB2
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
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
-
- Beiträge: 17
- Registriert: So 27. Mär 2016, 16:48
- Verein/Verband: SG Almenrausch Kirchdorf e.V.
Re: Primärschlüssel SSMDB2
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
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
-
- Administrator
- Beiträge: 769
- Registriert: Mi 9. Mär 2016, 16:14
Re: Primärschlüssel SSMDB2
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
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
-
- Beiträge: 17
- Registriert: So 27. Mär 2016, 16:48
- Verein/Verband: SG Almenrausch Kirchdorf e.V.
Re: Primärschlüssel SSMDB2
Hallo Roman,
vielen Dank für die Antwort. Das ist ja wunderbar gelöst und macht uns die Arbeit wesentlich einfacher!
Gruß,
Robert
vielen Dank für die Antwort. Das ist ja wunderbar gelöst und macht uns die Arbeit wesentlich einfacher!
Gruß,
Robert