Menu schließen

Norrmalisierung

Frage: Norrmalisierung
(4 Antworten)


Autor
Beiträge 0
13
Hallo es geht um diese Aufgabe. Die Tabelle ist schon in der 3. Normalform aber trotzdem kommen Wiederholungen vor.


Personalnummer, Projektnummer, Sprachkenntnisse
           1                     1                       Deutsch 
           1                     1                       Englisch
           1                     6                       Englisch
           2                     1                       Englisch
           2                     6                       Französisch 
           3                     1                       Englisch
           3                     2                       Spanisch

Woher weiß ich, welche doppelten Daten ich genau wegstreichen darf?
Frage von Pika1 (ehem. Mitglied) | am 20.05.2015 - 15:44


Autor
Beiträge 74
6
Antwort von Colirbi | 20.05.2015 - 16:51
Ich denke mal du redest von Datenbanken-Normalisierungen.
Spontan sieht das nicht nach einer korrekten 3.
NF aus. Damit ich aber vernünftig helfen kann wäre es toll wenn du einmal die ursprüngliche Tabelle hochladen würdest.

Bzw. eine Kennzeichnung deiner Schlüsselattribute wäre auch gut


Autor
Beiträge 0
13
Antwort von Pika1 (ehem. Mitglied) | 20.05.2015 - 17:42
Hi, danke für deine schnelle Antwort. Das ist schon die ursprüngliche Tabelle die gegeben wurde und PersonalNr, ProjektNr und Sprachkenntnisse sind die Schlüsselattribute :)



Die Aufgabenstellung zu der Übung lautet so: "Als Primärschlüssel ist ausschließlich eine Kombination aller drei Attribute möglich. Damit erfüllt die Tabelle die 3. Normalform. Dennoch sind redundante Daten vorhanden, da mehrwertige Abhängigkeiten vorkommen. Wie kann dieses Problem behoben werden?"


Autor
Beiträge 74
6
Antwort von Colirbi | 20.05.2015 - 22:28
Ok, also ich hoffe nun mal, dass die Antwort nicht zu spät kommt. Generell gilt ja in Datenbanken, dass du nichts "wegstreichen" darfst. Es dürfen also keine Daten verloren gehen.
Deine einzige Möglichkeit weitere Redundanzen zu eleminieren ist eine Vertiefung der Normalform.

Für Normalformen gilt:
1NF
2NF
3NF -> Hier bist du
Boyce-Codd-Normalform (BCNF)
4NF
5NF

In der Praxis gehst du meistens nur bis zur 3. NF, da es sonst schnell unübersichtlich und wenig praktikabel wird. Da es aber in der Aufgabe explizit gefordert ist bitte ;). Wenn in der 3.NF noch Redundanzen vorhanden sind sollte man die Verschärfung der 3.NF betrachten. (BCNF)  Diese bringt dir hier allerdings nichts. Also bleibt dir nur die 4. NF.

Hier werden nun alle Schlüsselatribute aufgeteilt, die sozusagen nichts miteinander zu tun haben. Schaut man sich deine Tabelle an haben Projektnummer und Sprachkenntnisse nichts gemeinsam außer der Personalnummer. Beide sind also quasi von der Personalnummer abhängig, gegenseitig jedoch nicht! Genau hier setzen wir nun an und teilen in weitere Tabellen auf. (4.NF)

Personalnummer         Projektnummer     und     Personalnummer      Sprachkenntnisse
           1                                    1                                         1                           Deutsch
           1                                    6                                         1                           Englisch
           2                                    1                                         2                           Englisch
           2                                    6                                         2                           Franzsösisch
           3                                    1                                         3                           Englisch
           3                                    2                                         3                           Spanisch


Dadurch erreichst du, dass von Personalnummer keine mehrwertige Abhängigkeit mehr besteht. Sprich Personalnummer-> Projektnummer und Personalnummer->Sprachkenntnisse in einer Tabelle.

Zumindest verstehe ich die Aufgabe so.


Autor
Beiträge 0
13
Antwort von Pika1 (ehem. Mitglied) | 21.05.2015 - 08:29
Danke für deine ausführliche Antwort. Ich konnte es verstehen  :)

Verstoß melden
Hast Du eine eigene Frage an unsere Informatik-Experten?

> Du befindest dich hier: Support-Forum - Informatik