Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Primärschlüssel trotz eindeutigem Attribut?

Ein gutes Datenbankdesign ist Pflicht! Doch wie geht man an die Datenmodellierung heran?
Hier treffen Datenbankdesign und Datenmodellierung aufeinander...

Primärschlüssel trotz eindeutigem Attribut?

Beitragvon DatenbankDude » Di 28. Jan 2014, 16:03

Guten Tag,

ich habe eine warscheinlich sehr blöde Frage zum Thema Primär-Schlüssel-Auswahl.

Ich habe eine Tabelle "Fakultäten" in der nur der Fakultätenname und eine Farbe gespeichert ist.
Um folgende Informationen speichern zu können:
-Fakultät für Informatik hat Farbe blau
-Fakultät für Wirtschaftswissenschaften hat Farbe gelb
etc...

Da es jeweils nur eine Fakultät mit dem selben Namen gibt, wäre dieser gut als Primärschlüssel geeignet, doch sollte man doch eigentlich niemals "richtige Informationen" als Primärschlüssel verwenden, sondern eher eine fiktive Nummer / ID.

Wäre das Einfügen einer ID nun also zu empfehlen oder eher überflüssig, da der Name sowieso eindeutig ist?

#Name, Farbe oder #ID, Name, Farbe

Viele Grüße,

DatenbankDude
DatenbankDude
 
Beiträge: 2
Registriert: Di 28. Jan 2014, 15:53

Re: Primärschlüssel trotz eindeutigem Attribut?

Beitragvon RainerH » Di 28. Jan 2014, 16:14

Willkommen DatenbankDude!

Ein sehr cooler Name, wie ich finde.

Nimm doch eine UID (Unique ID) als laufende Nummer, welche nicht sichtbar für den User ist.
Und als zweite Nummer, kanns Du dann deine Farbe nehmen, die für den User sichtbar ist.

Du hast hier das Problem, das Lehre und Praxis aufeinander treffen.
Ich benutze z.B. immer eine unischtbare Nummer als PK. Und eine zweite Nummer, die der Benutzer als Kundennummer verwenden kann.

Gruß
Rainer
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 230
Registriert: Fr 1. Nov 2013, 17:58

Re: Primärschlüssel trotz eindeutigem Attribut?

Beitragvon DatenbankDude » Di 28. Jan 2014, 16:32

Danke dir vielmals ! :)

Und wow das ging ja verdammt schnell! Vielen Dank für die schnelle Antwort.

Also wenn ich dich richtig verstehe .... ne warte ich glaube ich versteh dich gar nicht :shock:

Nimmst du zwei Nummern (im falle von postgresql z.B. serial) als Fremdschlüssel für zwei Tabellen mit einmal dem Fakultätennamen und einmal der Farbe?

#(foreignKey)NID, #(ForeignKey)FID
#NID, FakultätenName
#FID, Farbe

Oder was genau meinst du mit Nummer? Also wenn ich eine fortlaufende ID her nehme für den Fakultätennamen, dann kann ich diese doch auch gleich für die Farbe nehmen oder?
#ID, Name, Farme

Aber ich sehe schon, dass in der Lehre die UID ganz groß sind, aber in der Praxis manchmal etwas überflüssig erscheinen. Aber gut ich kann schon den Sinn dahinter verstehen, da es doch einfacher ist IDs hin und her zu werfen als Strings.
DatenbankDude
 
Beiträge: 2
Registriert: Di 28. Jan 2014, 15:53

Re: Primärschlüssel trotz eindeutigem Attribut?

Beitragvon RainerH » Do 30. Jan 2014, 09:05

Du hast auch hier wieder zwei Möglichkeiten ;)

1.Variante: #ID, Name, Farbe + ein Index, der nur einmalige Kombinationen aus Name und Farbe zulässt.
Auf deiner ID ist ja schon ein Index, da er als Primärschlüssel ausgewisen wird.

2. Variante: #ID, Name(ID2), Farbe => Du hinterlegst in deinem Programm für die ID2 eine Enumeration.
Und hier würde ich auch wieder das Prinzip aus Variante 1 durchführen.

Lass mich wissen wie Du dich entscheidest.

P.s.: Theoretisch kannst Du auch für die Farbe passende Ziffern in eine Enumration packen.
Dann hast Du nur Zahlen in deiner Tabelle. Die werden immer schneller durchsucht als z.B. Strings.
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 230
Registriert: Fr 1. Nov 2013, 17:58


Zurück zu Datenbankdesign und Datenmodellierung

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron
  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: