AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Konzeptionelle Frage - Datenabgleich
Thema durchsuchen
Ansicht
Themen-Optionen

Konzeptionelle Frage - Datenabgleich

Ein Thema von Incocnito · begonnen am 4. Jun 2018 · letzter Beitrag vom 11. Aug 2020
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.583 Beiträge
 
Delphi 12 Athens
 
#1

AW: Konzeptionelle Frage - Datenabgleich

  Alt 6. Aug 2020, 14:20
Die Idee hinter "nur einen Generator" ist ganz einfach.
Du kannst nur über die ID jeden Datensatz in der Datenbank identifizieren.

Aber Tabelle+ID als Identifikator ist auch nicht ungewöhnlich.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Konzeptionelle Frage - Datenabgleich

  Alt 6. Aug 2020, 17:57
Gegeben seien folgende Daten mit PK und FK. Wie sieht die Beziehung aus? Wer oder was hält Dich von einem Join ab, der gar nicht die richtigen Felder nutzt? Würde ein falscher Join wenigstens an einem lückenhaften Ergebnis sichtbar?

1 1 hobbycoder
2 2 himitsu
3 3 jobo

1 1 Köln
2 2 Bonn
3 3 Rom

1 1 ADV
2 2 BDV
3 3 CDV

statt dessen diese Daten, so könnte man es besser finden:

1 11 hobbycoder
2 12 himitzu
3 13 jobo

4 1 Köln
5 2 Bonn
6 3 Rom

7 1 ADV
8 2 BDV
9 3 EDV

Tatsächlich sähen sie wohl eher so aus:

1 11 hobbycoder
4 12 himitzu
7 13 jobo

2 1 Köln
5 4 Bonn
8 7 Rom

3 1 ADV
6 4 BDV
9 7 EDV

Letztlich auch egal wie sie aussehen. Technische Schlüssel haben keine Bedeutung, außer ihrer Eindeutigkeit.

Wenn man über Synchronisation usw. redet, eignen sich Sequenzen durch ihrere Konfigurierbarkeit außerdem, um in abgeschotteten oder nur teilweise Online Systemen autarke, aber ins Gesamtsystem passende ID zu generieren.

Am Ende ist man vielleicht bei UUID.
Gruß, Jo
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.059 Beiträge
 
Delphi 12 Athens
 
#3

AW: Konzeptionelle Frage - Datenabgleich

  Alt 11. Aug 2020, 09:42
IBEXPERT schlägt vor:
Design A: Einen eigenen Nummernkreis je Instanz und für jeden Datensatz eine Datenbankweit eindeutige ID.
Meine Frage warum nicht folgendes:
Design B: Einen eigenen Nummernkreis je Instanz und für jeden Datensatz eine inherhalb der Tabelle eindeutige ID.

Von Himitsu weiß ich das in Design B die ID des Datensatzes dadurch eigentlich Tabelle+IDfeld ist.

Ok.
Aber muss ich nicht in jedemfall die tabelle wissen wenn ich die Datensynchronisieren will? Also spare ich mir ja nichts mit einer Datenbankweit eindeutige ID oder gar weltweit eindeutigen UUID.
Oder liege ich irgendwie total daneben?
Ich muss doch immer die information zu welcher Tabelle der Datensatz gehört mit in Verbindung mit der ID vermitteln.
Oder nicht?
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.583 Beiträge
 
Delphi 12 Athens
 
#4

AW: Konzeptionelle Frage - Datenabgleich

  Alt 11. Aug 2020, 12:08
Ja, wisses musst du es, so in etwa.

Wenn die ID global ist und du sonst nichts hast,
dann mußt du eben alle Tabellen durchsuchen, wo diese ID sich versteckt.


Alternativ eine zentrale Tablelle, wo alle anderen Tabellen eine Referenz/Constraint drauf besitzen, den man Rückverfolgen kann.


Wenn die Record-ID ein String ist, dann könnte man beim Generieren eventuell den Namen oder ID der Tabelle dort mit einbauen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:36 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