Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   sprechender Primärschlüssel 8) (https://www.delphipraxis.net/50425-sprechender-primaerschluessel-8-a.html)

Hansa 27. Jul 2005 10:23

Re: sprechender Primärschlüssel 8)
 
Wenn ich was zu 100 % machen kann, dann nehme ich nicht was mit 99,99 % ! Aber lassen wir den Zufall mal weg.

Zitat:

Zitat von MaBuSE
...unter anderem die MAC Adresse...

Und ? Wo kommt die her ? Es geht hauptsächlich um Primärschlüssel.

MaBuSE 27. Jul 2005 10:24

Re: sprechender Primärschlüssel 8)
 
Jetzt habe ich mich schon wieder zum offtopc hinreisen lassen.

Vieleicht sollte man den Titel in "sprechende Primärschlüssel / GUID in PK" ändern ;-)

Ich zitiere mich mal selbst:
Zitat:

Zitat von MaBuSE
Aber jetzt wirds offtopic. Eine GUID ist ja schliesslich kein sprechender Schlüssel :mrgreen:

[equote="MaBuSE schrieb in http://www.delphipraxis.net/internal...=402885#402885 "]@Hansa: Aber jetzt wirds offtopc. Wenn Du dazu eine Diskussion haben willst, machen wir gerne einen neuen Thread auf.[/equote]


Hansa 27. Jul 2005 10:32

Re: sprechender Primärschlüssel 8)
 
Nene, der Titel ist schon gut, zumindest reicht er. Auch GUID ist ein "sprechender Primärschlüssel".

http://de.wikipedia.org/wiki/MAC-Adresse

Jetzt sage mir mal einer, was passiert, wenn der Rechner an der Elfenbeinküste sich ändert ? Finde ich dann meine Filialdaten von dort überhaupt noch in der Zentrale ?

MaBuSE 27. Jul 2005 10:35

Re: sprechender Primärschlüssel 8)
 
Zitat:

Zitat von Hansa
Wenn ich was zu 100 % machen kann, dann nehme ich nicht was mit 99,99 % ! Aber lassen wir den Zufall mal weg.

Das Problem ist, das Du es in machen Fällen nicht 100%ig machen kannst.

Ich bevorzuge dann lieber eine Lösung, die in 99,999... (38 Neuner hinter dem Komma) funktioniert und fange alle 4 * 10^38 (eine 4 mit 38 Nullen drann) mal einen Fehler ab.

Zitat:

Zitat von Hansa
Zitat:

Zitat von MaBuSE
...unter anderem die MAC Adresse...

Und ? Wo kommt die her ? Es geht hauptsächlich um Primärschlüssel.

Was ist ein sinnvoller Primärschlüssel?

Eine eideutige Nummer, die zum adressieren und Verknüpfen von Datensätzen verwendet wird.
Diese GUID ist eine 128 bit große Nummer, die diesen Kriterien entspricht.
Im MS-SQL Server ist der Datentyp der als PK die GUID aufnimmt, so weit optimiert, das Du keine Performanceeinbusen mehr hast. Nur wenn Du z.B. das in Paradox oder DBase nachbilden willst, ist es je nach Lösung (im ungünstigsten Fall String) langsamer.

Aber ich will jetzt nicht mehr zu GUID diskutieren, ich glaube es ist alles gesagt.
Ich habe weiter oben Links zu dem Thema gepostet. Lies das bitte mal und wenn dann noch Fragen sind, stehe ich gerne wieder zur Verfügung...

@sharky: Du hast Recht.

MaBuSE 27. Jul 2005 10:38

Re: sprechender Primärschlüssel 8)
 
Zitat:

Zitat von Hansa
Nene, der Titel ist schon gut, zumindest reicht er. Auch GUID ist ein "sprechender Primärschlüssel".

http://de.wikipedia.org/wiki/MAC-Adresse

Jetzt sage mir mal einer, was passiert, wenn der Rechner an der Elfenbeinküste sich ändert ? Finde ich dann meine Filialdaten von dort überhaupt noch in der Zentrale ?

Du kannst nicht von der GUID zurück auf die MAC Adresse schliessen.
Das geht schlicht und einfach nicht !!!

Also was soll diese Frage.

Wenn Du die Filiale brauchst, dann speicher Dir eine USER_ID und lege eine USER Tabelle an, in der Du deine Benutzerdaten einträgtst. Die GUID ist eine eindeutige "Zufallszahl" die keinerlei Rückschlüsse auf MAC Adresse Datum Uhrzeit, User oder sonst einen Blödsinn enthällt.

-> Also ist die GUID kein sprechender Schlüssel!!!!

Und wenn sich irgendwo der Rechner ändert ?

Nichts, dann gibt es von diesem Rechner aus auch weiterhin zuverlässig eideutige GUIDs !

Jasocul 27. Jul 2005 10:54

Re: sprechender Primärschlüssel 8)
 
Ich interpretiere das auch nicht als sprechenden Schlüssel. Es ist einfach ein Zufallszahl. Wodurch die generiert wird ist zweitrangig.
Die 100%ige Eindeutigkeit ist nicht gegeben. Das ist Fakt, egal, wie groß die Wahrlscheinlichkeit ist.
Ob man diese Zahl dann benutzt und ein Exception-Handling macht oder ein anderes Verfahren nutzt, ist doch Sache des Programmierers und des Aufwands.
Der Umbau eines PCs ändert doch nichts an der vorhanden GUID. Danach werden neue vergeben. Da es einfach nur eine Zahl ist, ist es auch völlig uninteressant, ob der PC in einem anderen Land steht und/oder "umzieht". Es ist einfach nur ein (evtl eindeutiger) Schlüssel, der inhaltlich keine Bedeutung hat. Er ist nicht sprechend!

Hansa 27. Jul 2005 11:00

Re: sprechender Primärschlüssel 8)
 
Zu GUID : mir gings da drum, daß ich sie eben nicht eindeutig zuordnen kann. Zumindest nicht immer. Wird die Netzwerkkarte getauscht, dann ists rum mit der Zuordnung zur Filiale Uruguay.

Der Titel ist allerdings jetzt tatsächlich nicht mehr der richtige. Aber zu spät, um ihn selber zu ändern. Ich würde ihn jetzt so schreiben : ne, mache gleich neuen Thread und fertig. Wird mir zu bunt 8)

MaBuSE 27. Jul 2005 12:05

Re: sprechender Primärschlüssel 8)
 
Zitat:

Zitat von Hansa
Zu GUID : mir gings da drum, daß ich sie eben nicht eindeutig zuordnen kann. Zumindest nicht immer. Wird die Netzwerkkarte getauscht, dann ists rum mit der Zuordnung zur Filiale Uruguay.

Es gibt keine Zuordnung !!! also kann auch keine Zuordnung zerstört werden !!!

Zitat:

Zitat von Hansa
Der Titel ist allerdings jetzt tatsächlich nicht mehr der richtige. Aber zu spät, um ihn selber zu ändern. Ich würde ihn jetzt so schreiben : ne, mache gleich neuen Thread und fertig. Wird mir zu bunt 8)

Da ich denke, dass alles zum Thema sprechende Schlüssel und GUID gesagt ist, braucht Du jetzt auch keinen neuen Thread mehr zu öffnen.

Vieleicht ändert ein Mod den Titel des Threads ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.
Seite 5 von 5   « Erste     345   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz