Lude: Primaerschluessel

Beitrag lesen

Hi,

Doch genau das hast du getan. Die erste Normalform sagt nicht aus, es darf keinerlei identische Werte in einer Tabelle geben. Die darf es sehr wohl:

Beispiel:
PersonenID Name   Vorname
1          asdf   jklö
2          asdf   oiuz

Ist sehr wohl zulässig.

'1. Normalform: Eine Relation befindet sich in der ersten Normalform, wenn keines ihrer Attribute eine untergeordnete Relation darstellt und wenn alle Attribute nur atomare Werte beinhalten' (Codd)
'Damit einer Tabelle auch nur der ersten Normalform entspricht, darf sie keine sich wiederholenden Werte enthalten. Sich wiederholende Werte koennen die Form mehrfacher Spalten annehmen, die zur Speicherung von Instanzen desselben Wertetyps verwendet werden, oder die merhfache Werte in einer einzelnen Spalte. Diese sich wiederholenden Werte muessen entfernt werden, wenn eine Tabelle als normalisiert angesehen werden soll.' (K.Henderson, 'Transact-SQL', Addison-Wesley, S.279)

Ja, nur mit einer völlig falschen Begründung. Du musstest nicht völligen Quatsch erzählen um das zu belegen. Es hätte gereicht dass man häufig Werte nicht abtrennt weil ein Join halt teuer ist.

Die richtige Begruendung ist eben nicht, dass ein JOIN teuer ist, sondern, dass bestimmte (berechnete) Werte in der Tabelle soz. redundant gespeichert werden sollten, weil das, wie ich auch in meiner Diskussion mit 'Bio' erlaeutert habe, fuer den positiven Geschaeftserfolg notwendig ist.

Gruss,
Lude

---
"Bis Weihnachten brauchen wir Klarheit bei der Maut."