Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Erstellung automatisch generierte, alphanummerische Primärschlüssel

Begonnen von Kommodore, August 04, 2011, 16:03:17

⏪ vorheriges - nächstes ⏩

Kommodore

Hallo,

besteht die Möglichkeit sich alphanummerische Primärschlüssel (H10-P30) generieren zu lassen?
Der Schlüssel symbolisiert eine Hauptaufgabe H10 die 3 Positionen (P30) enthält, dieser Schlüssel für die Hauptaufgaben mit den Positionen soll automatisch generiert werden, wenn eine neue Position hinzugefügt wird.

MfG
Kommodore

DF6GL

Hallo,

mit solchen Vorhaben schaufelst Du Dir Deine eigene db-technische Unfallgrube....

soll heißen: natürlich kann man solche Werte generieren, die taugen aber nichts, schon gar nicht  als "Primärschlüssel" (für welche Daten(säetze)  denn?  ) ..


Was ist der eigentliche Zweck dieses Ansinnens?


Kommodore

Hallo,

die Idee ist, einen alphanummerischen Schlüssel zu generieren, der immer eineindeutig ist, also ähnlich wie ein Primärschlüssel von der Eigenschaft der Eindeutigkeit her. Eigentlich soll beim Anlegen eines Datensatzes in einer Tabelle, der nächste Schlüssel generiert werden. Dieser ist aber ein alphanummerischer Schlüssel. Die Schlüssel sollen nach einem bestimmten Schema generiert werden (H10, H20, H30, H40 .... für Hauptgruppen und P10, P20, P30 für Positionen unterhalb der Hauptgruppen), um einen zusammengesetzten Schlüssel H10-P10 automatisch in einer zusammengefügten Relation als symbolischen Schlüssel eineindeutig zur Verfügung zu stellen. 

MfG Kommodore   

database

Hallo,

auch ich würde wie Franz dazu raten diese Kombination NICHT (besser KEINESFALLS) als Schlüssel zu verwenden sondern wenn dann als Bezeichnung.
Die Beziehung der beteiligten Tabellen ist ganz konventionell über deren Primär- und Fremdschlüssel herzustellen, wobe der Primärschlüssel
am Einfachsten per Autowert von Access selbst generiert werden sollte.
Du schaffst dir damit eine Menge möglicher Unannehmlichkeiten aus der Welt.

Die Eindeutigkeit dieser alphanumerischen Kombination kannst du auch mittels Index auf diesem Feld erreichen.

Wurliwurm

Ganz schlau werde ich nicht aus Deiner Anforderung.

Technisch sind automatisch generierte alphanummerische Schlüssel nicht möglich. Du müßtest Dir mit einer selbstgeschriebenen Funktion behelfen, welche den nächsten Schlüssel vor dem Insert errechnet. Ohne Programmierung geht das nicht.

Um eine Hierarchie von Hauptgruppen und Untergruppen zu erreichen, ist es angesagt, zwei Tabellen zu erzeugen und diese mit einem Fremdschlüssel mit NOT NULL Eigenschaft und referenzieller Integrität zu verknüpfen.

Vielleicht solltest Du besser ein Beispiel bringen und terminologisch saubererer sein. Verwirren tut mich z.B. der Begriff "eineindeutig" in Bezug auf einen Primärschlüssel. Eineindeutigkeit bezieht sich immer auf die Beziehung zwischen zwei Mengen (zum Beispiel ist die Beziehung zwischen der Menge der monogam verheirateten Männer und der monogam verheirateten Frauen eineindeutig).