AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken sprechender Primärschlüssel 8)
Thema durchsuchen
Ansicht
Themen-Optionen

sprechender Primärschlüssel 8)

Ein Thema von Hansa · begonnen am 25. Jul 2005 · letzter Beitrag vom 27. Jul 2005
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#11

Re: sprechender Primärschlüssel 8)

  Alt 25. Jul 2005, 20:56
Zitat von Hansa:
... auf die Idee gekommen, so einen string-PK zu benutzen ? ....
Wie so ist das den ein string-pk? Wie schon erwähnt handelt es sich doch um eine GUID.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: sprechender Primärschlüssel 8)

  Alt 25. Jul 2005, 21:02
Ich denke, wenn man die einzelnen Blöcke nicht in Dezimalzahlen umrechnen will, muss man es als String speichern.
Peter
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#13

Re: sprechender Primärschlüssel 8)

  Alt 25. Jul 2005, 21:04
Das ist ja alles schön und gut. Was ich nur nicht verstehe, das ist, wie man so eine "sprechende Nummer" zum PK machen kann. Bzw. sogar zum einzigen Key. Was hindert einen denn dran, zuerst einmal eine ID als PK zu vergeben und dann noch ein Feld mit der komischen Nr. Das ist doch genau das, mit was Mabuse schon kämpfen mußte. Wenn ich einen Artikel habe und 100 Kunden haben dafür Preise hinterlegt. Dann ist es doch IMHO Leichtsinn, die Artikel-Nr. in der DB zu speichern, also als PK. Die ID dient doch gerade zum Entkoppeln von abhängigen Tabellen.

P.S.: Ah ja, verschoben. Und ich weiß, wie es hier hin gelangt ist. War in dem Klatsch und Tratsch-Thread und hatte "neues Thema" angeklickt. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#14

Re: sprechender Primärschlüssel 8)

  Alt 25. Jul 2005, 21:05
Zitat von Jasocul:
Ich denke, wenn man die einzelnen Blöcke nicht in Dezimalzahlen umrechnen will, muss man es als String speichern.
Dies ist ja nur die Darstellung einer GUID. Diese ist eigentlich nur eine 128 Bit Zahl.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: sprechender Primärschlüssel 8)

  Alt 25. Jul 2005, 21:10
Zitat von Sharky:
Zitat von Jasocul:
Ich denke, wenn man die einzelnen Blöcke nicht in Dezimalzahlen umrechnen will, muss man es als String speichern.
Dies ist ja nur die Darstellung einer GUID. Diese ist eigentlich nur eine 128 Bit Zahl.
Stimmt auffallend.
Aber wenn der DB-Designer das nicht weiß, dann nimmt er Strings.
Ich habe schon Schlimmeres erlebt.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#16

Re: sprechender Primärschlüssel 8)

  Alt 25. Jul 2005, 21:28
Zitat von Jasocul:
... dann nimmt er Strings....
Das Problem ist das die DBSM (die ich kenne) keinen GUID-Typ im eigentlichen Sinne kennen.
MS-SQL z.B. kennt zwar den Feldtyp uniqueidentifier. Dieser wird aber intern als ein String aus 32 Zeichen behandelt wenn ich es richtig gelesen hab.

BTW: Delphi kennt den VariablenTyp : TGUID

Aber das ist ja eigentlich nicht das Thema des Threads.

Grundsätzlich denke ich das man mit einem Integer als PK am besten fährt. Aber wenn es zum Beispiel wie von MaBuSE angesprochen um die Sync. von verschiedenen Servern/Datenbanksystemen geht hat die GUID oder andre "sprechende" Schlüsseln natürlich seine Vorteile und auch seine Daseinsberechtigung.

Entscheidend ist die Frage: Wie wirkt sich deren Verwendung auf Geschwindigkeit der Anwendung aus?
Wenn ich z.B eine weltweite Erfassung von Daten mache. Diese Daten teilweise auf verschiedenen Servern und teilweise in lokalen DBs gespeichert werden und meine Abfrage später keine großen Verknüpfungen benötigen bin ich mit der Verwendung einer GUID sicher besser beraten als die Verwendung von Integer-IDs.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#17

Re: sprechender Primärschlüssel 8)

  Alt 25. Jul 2005, 21:34
Meiner Ansicht nach hat eine GUID in dem Zusammenhang absolut nichts zu suchen. Ganz davon abgesehen, daß sie viel zu lang ist. Deshalb wohl auch die -. Mabuse, ging es bei Dir nur um die eindeutige Identifikation eines Standortes, oder was ? Wenn ich MAC-Adressen, GUIDs usw. in der DB verbaue, dann ist man nämlich schnell wieder am Anfang !
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#18

Re: sprechender Primärschlüssel 8)

  Alt 25. Jul 2005, 22:48
Hallo Leute,

ich glaube, mir ist etwas entgangen!!

Was ist ein "sprechender Primärschlüssel" ??

Meine Primärschlüssel heißen alle ID und sind vom Typ AutoInc und damit es keine Probleme mit zermatschten Datenbanken gibt (insbesondere mit Paradox-DB) habe ich immer noch einen <Name>ID vom Typ Integer eingeführt, die die Verbindung mit anderen Datenbanken herstellt und <Name> eine Zeichenkette ist, die etwas mit der verwendeten Datenbank zu tun hat (Art = Artikel, Auf = Auftrag usw.)
Die zweite ID bleibt auch dann erhalten, wenn es mal wieder eine Paradox-DB zerlegt hat und sich die Daten nur durch kopieren der einzelnen (unbeschädigten) Datensätzen reparieren ließ, wodurch aber alle ID's vom Typ AutoInc neu erzeugt werden und nicht zwangsläufig mit den originalen übereinstimmten.


mfg
eddy
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#19

Re: sprechender Primärschlüssel 8)

  Alt 25. Jul 2005, 23:33
Zitat von eddy:
...ich glaube, mir ist etwas entgangen!! ...
So ist es. Ein solches Konstrukt ist z.B. eine Art.-Nr. in die man sämtlichen Schwachsin reinpackt. Also PLZ, Warengruppe, Lieferant usw.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: sprechender Primärschlüssel 8)

  Alt 26. Jul 2005, 07:47
Es gibt ja auch nichts gegen sprechende Schlüssel einzuwänden (an die Schreibweise muss ich mich wirklich noch gewöhnen ). Der PK sollte das aber nicht sein.
Ich benutze auch sprechende Schlüssel, die aus mehreren Feldern zusammengesetzt sind. Da wird aber kein einzelnes Feld draus gemacht, sondern einfach ein zusammengesetzter Index gebastelt, der i.d.R. auch noch Unique ist. Aber der PK ist bei mir immer Integer und hat mit dem sprechenden Schlüssel nichst zu tun. Die Relationen zwischen den Tabellen werden auschließlich über den PK definiert, niemals über den sprechenden Schlüssel. Wer es anders macht, sollte erschossen werden.
Peter
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


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 19:24 Uhr.
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