Festlegung von mehrern Schlüsseln

Hallo Leute,

ich lerne grade in der Berufsschule wie man über die Normalisierung einen Datenbank konzipiert (natürlich nur sehr grob). Wir sind da aber auf ein Problem gestoßen (für mich).

Also, kann ich schon in der ersten Normalform mehrere Schlüssel festlegen, wenn ich weiß, daß sie später die Primärschlüssel von Entitäten werden, wodurch später eine Denormalisierung nötig (bzw. sinnvoll) wird (will mein Lehrer)? Oder, müssen sich die Schlüssel nach und nach (also durch das logische durchlaufen aller Normalformen) ergeben (will ich *g*)?

Ich hoffe ihr könnt und wollt mir helfen *g*!

MfG Benedíct

Also, kann ich schon in der ersten Normalform mehrere
Schlüssel festlegen, wenn ich weiß, daß sie später die
Primärschlüssel von Entitäten werden, wodurch später eine
Denormalisierung nötig (bzw. sinnvoll) wird (will mein
Lehrer)? Oder, müssen sich die Schlüssel nach und nach (also
durch das logische durchlaufen aller Normalformen) ergeben
(will ich *g*)?

Hallo Benedíct

es ist in den meisten Faellen moeglich, die Schluessel schon in der ersten Nomalform zu definieren. Dies hat den Vorteil, dass es spaeter einfacher ist, die zugehoerigen Attribute zu den jeweiligen Schluesseln zu finden. Wenn du z.B. schon vorhersehen kannst, dass es eine Kunden-Entity geben wird, kannst du den Schlüssel aus den Attributen nachname und strassenname schon in der ersten Normalform bestimmen. Deshalb will es vielleicht dein Lehrer so.

Es gibt aber auch Faelle, in denen man den Schluessel erst in der 3. Normalform bestimmen kann. Etwa, wenn sich aus keiner Attribut-Kombination ein eindeutiger Schluessel erzeugen laesst. Dann muesstest du einen Zaehler (z.B. Auto Increment) erzeugen. Aber um das festzustellen, muss man bis zur dritten NF kommen.

Pauschal kann ich die Frage nicht beantworten, es haengt, wie du siehst, von den Entities und ihren Attributes ab. Der Stil deines Lehrers ist aber vernuenftig in den meisten Faellen, aber auch schwer fuer jemanden, der das Thema gerade lernt.

Was meinst du mit „spaeterer Denormalisierung“ ? Ich verstehe die Logik nicht, weshalb man normalisieren, dann Schluessel bestimmen und danach wieder denormalisieren sollte…

Das war eine sehr theoretische Frage, wenn du ein konkretes Beispiel postest, kann ich dir besser helfen.

Das war eine sehr theoretische Frage, wenn du ein konkretes
Beispiel postest, kann ich dir besser helfen.

Das ist garnicht nötig. Danke Alp, deine Antwort hat mir sehr weitergeholfen! Nochmals Danke!