54 Relationale Normalformen Man unterscheidet fünf relationale Normalformen Erste Normalform (1NF) Zweite Normalform (2NF) Dritte Normalform (3NF) Boyce-Codd Normalform (BCNF) Vierte Normalform (4NF) 4NF BCNF 3NF 2NF 1NF Die in der Praxis wichtigste ist die dritte Normalform 23
Erste Normalform (1NF) Eine Relation ist in erster Normalform (1NF), wenn alle Attribute atomare Wertebereiche haben (dh keine zusammengesetzten Wertebereichen) Beispiel: Relation Hausmeister ist nicht in 1NF Hausmeister PersNr Vorname Name Zuständigkeiten 5011 Karl Eder {G1, G3, G5} 8898 Argus Filch {G2, G4} 24
Erste Normalform (1NF) Die Relation Hausmeister lässt sich durch Zerlegung in zwei Relationen in die erste Normalform bringen Hausmeister PersNr Vorname Name Zuständigkeiten 5011 Karl Eder {G1, G3, G5} 8898 Argus Filch {G2, G4} Hausmeister PersNr Vorname Name 5011 Karl Eder 8898 Argus Filch Zuständigkeiten PersNr 5011 G1 5011 G3 5011 G5 8898 G2 8898 G4 Gebäude 25
Zweite Normalform (2NF) Eine Relation ist in zweiter Normalform (2NF), wenn sie in 1NF ist jedes Nichtschlüssel-Attribut A voll funktional abhängig von jedem Kandidatenschlüssel der Relation ist Beispiel: Relation Prüfungsergebnisse nicht in 2NF Prüfungsergebnisse Matr Vorname Name VorlNr Titel Note 13765 Moritz Müller 101 Informatikgrundlagen 23 13765 Moritz Müller 110 Datenbanken 13 18877 Peter Parker 101 Informatikgrundlagen 13 18877 Peter Parker 110 Datenbanken 10 zb Vorname ist nicht voll funktional abhängig vom einzigen Kandidatenschlüssel {MatrNr, VorlNr} 26
Zweite Normalform (2NF) Relation Prüfungsergebnisse lässt sich durch Zerlegung in drei Relationen in die zweite Normalform bringen Prüfungsergebnisse Matr Vorname Name VorlNr Titel Note 13765 Moritz Müller 101 Informatikgrundlagen 23 13765 Moritz Müller 110 Datenbanken 13 18877 Peter Parker 101 Informatikgrundlagen 13 18877 Peter Parker 110 Datenbanken 10 Studenten Matr Vorname Name 13765 Moritz Müller 18877 Peter Parker Prüfungen Matr VorlNr Note 13765 101 23 13765 110 13 18877 101 13 18877 110 10 Vorlesungen VorlNr Titel SWS 101 Informatikgrundlagen 4 110 Datenbanken 4 27
Dritte Normalform (3NF) Eine Relation ist in dritter Normalform (3NF), wenn sie in 2NF ist kein Nichtschlüsselattribut A transitiv von einem Kandidatenschlüssel abhängt Beispiel: Relation Professoren nicht in 3NF Professoren PersNr Vorname Name Büro Fach Fakultät 101101 Donald Knuth 2781 Informatik IngWi 330123 Adam Smith 7762 Volkswirtschaftslehre WiWi 887234 Norman Foster 9966 Architektur AuB da Fakultät von Fach und damit transitiv von den Kandidatenschlüsseln {PersNr} und {Büro} abhängt 28
Dritte Normalform (3NF) Relation Professoren lässt sich durch Zerlegung in zwei Relationen in die dritte Normalform bringen Professoren PersNr Vorname Name Büro Fach Fakultät 101101 Donald Knuth 2781 Informatik IngWi 330123 Adam Smith 7762 Volkswirtschaftslehre WiWi 887234 Norman Foster 9966 Architektur AuB Professoren Fächer PersNr Vorname Name Büro Fach Fach Fakultät 101101 Donald Knuth 2781 Informatik 330123 Adam Smith 7762 Volkswirtschaftslehre 887234 Norman Foster 9966 Architektur Informatik Volkswirtschaftslehre Architektur IngWi WiWi AuB 29
<latexit sha1_base64="3qczuodlvheibzb+azuaxyufbpe=">aaaddnicfvjbaxnbfj5kvatx0lr9eyqyrb9kdhmepu8rfdchlipnw8ksyxb2jb0yl2xmrbiw/ah9d/4a33syqegmmmpa+tjfuxc+m0kmhcmoum40g1u379xt7bxv3x/wcl9z8ojcmdxyghmjjb1mmampnixroitlzajtiyslzpf+xv98a+ue0we4zcbwbk7fthcgpjq9afik8b21syrj4gtwy1nxdo+6vmimavg5cu1glntbrgxlspalzxukdjwz+lf8gfkrq09pwr5vycrcacwpu9szfnkona/c8zncjwb3zz0wbx95h7y8plswcwyz9ylkvnrhn6/ads8xudmnxr+z6a+1urefnd4orq2yx2g8drscdnprfxitrlsnbv3kr73re1lz6btzg6ag5wo0csmcmwyidgpfhawxulzp7idzm7i5tfiusqxsxmzbkec7rnmeai+bi4vq79tiginnlirzciqgv/vgyswcwei2mupsbeyxz3iezt1xwsico/8dw4u/p38ipf6g08wh/e4ulmxrfirgrxf9d8u2l+epbt3/g/nhf+dx59e90xcte2mrp+q5euug5a0zky/kliwjb1w3fjvbzb3mz+bz8cj4uu5tnm5qhpoabdfvp6iviq==</latexit> <latexit sha1_base64="3qczuodlvheibzb+azuaxyufbpe=">aaaddnicfvjbaxnbfj5kvatx0lr9eyqyrb9kdhmepu8rfdchlipnw8ksyxb2jb0yl2xmrbiw/ah9d/4a33syqegmmmpa+tjfuxc+m0kmhcmoum40g1u379xt7bxv3x/wcl9z8ojcmdxyghmjjb1mmampnixroitlzajtiyslzpf+xv98a+ue0we4zcbwbk7fthcgpjq9afik8b21syrj4gtwy1nxdo+6vmimavg5cu1glntbrgxlspalzxukdjwz+lf8gfkrq09pwr5vycrcacwpu9szfnkona/c8zncjwb3zz0wbx95h7y8plswcwyz9ylkvnrhn6/ads8xudmnxr+z6a+1urefnd4orq2yx2g8drscdnprfxitrlsnbv3kr73re1lz6btzg6ag5wo0csmcmwyidgpfhawxulzp7idzm7i5tfiusqxsxmzbkec7rnmeai+bi4vq79tiginnlirzciqgv/vgyswcwei2mupsbeyxz3iezt1xwsico/8dw4u/p38ipf6g08wh/e4ulmxrfirgrxf9d8u2l+epbt3/g/nhf+dx59e90xcte2mrp+q5euug5a0zky/kliwjb1w3fjvbzb3mz+bz8cj4uu5tnm5qhpoabdfvp6iviq==</latexit> <latexit sha1_base64="3qczuodlvheibzb+azuaxyufbpe=">aaaddnicfvjbaxnbfj5kvatx0lr9eyqyrb9kdhmepu8rfdchlipnw8ksyxb2jb0yl2xmrbiw/ah9d/4a33syqegmmmpa+tjfuxc+m0kmhcmoum40g1u379xt7bxv3x/wcl9z8ojcmdxyghmjjb1mmampnixroitlzajtiyslzpf+xv98a+ue0we4zcbwbk7fthcgpjq9afik8b21syrj4gtwy1nxdo+6vmimavg5cu1glntbrgxlspalzxukdjwz+lf8gfkrq09pwr5vycrcacwpu9szfnkona/c8zncjwb3zz0wbx95h7y8plswcwyz9ylkvnrhn6/ads8xudmnxr+z6a+1urefnd4orq2yx2g8drscdnprfxitrlsnbv3kr73re1lz6btzg6ag5wo0csmcmwyidgpfhawxulzp7idzm7i5tfiusqxsxmzbkec7rnmeai+bi4vq79tiginnlirzciqgv/vgyswcwei2mupsbeyxz3iezt1xwsico/8dw4u/p38ipf6g08wh/e4ulmxrfirgrxf9d8u2l+epbt3/g/nhf+dx59e90xcte2mrp+q5euug5a0zky/kliwjb1w3fjvbzb3mz+bz8cj4uu5tnm5qhpoabdfvp6iviq==</latexit> <latexit sha1_base64="3rmykwzyy4lmruos+yvl61cl/5e=">aaaddnicfvjbaxnbfj5kvatxluqjiitb9kfkn0fq+ltrb31oqdk0lcwszmdp0ifzwwboimhzh9r/4a/wtsfbig6coqycj/odc+c7k+zsoizj61y7uhx7zt3oxvfe/qcph/x2h587u1goy26kszcpcycfhjeklhczw2aqlxcrlt6v+itvyj0w+gyxosskzbwycc7qh6b7lusrvqm2vjfzfgfuboaq8dckemziy9pnaapzoutmlvtwpaxootowq5nlv+xhkilcfcqq6raoi5zcy3uqbs/wsttypgjhtwqvgt2vdciu/oud2uqa0kbgmwxci1d40h19vglbpcfg5pwg/86ip9tmrhr0tlamwjg/wutg0wra68edubyycbsmb7wp+2rtp9ped5ozxijqycvzbjkmc0x8cxrcqtwlhypcb8rmmgfxznkwstkhowdtskl7ql1slinrv9mgs6acw6p0k6gyxjwdqtelzknbai6zt4lfpi8qnpdcdcto7pwpjbb+np6j6hgztxmf8du5sdkvwaqyt8ynpky6xp4/got/b+ejwddjz6/7r6o1ub3yldwnr8iqvcfh5cm5jwpcw9etx+1oe6/9m3gwvahe3qs2w+uaj6rhqfwblp4uzq==</latexit> Übung zu relationalen Normalformen Betrachten wir folgende Relation aus dem Schema zu unserem Musik-Streaming-Dienst Records : ;5 MediumId : int, RecordId : int, DiscNumber : int, Name : str, TrackCount : int, Year : int, Note : str, ArtistId : int 6< In welcher Normalform befindet sich die Relation? 30
<latexit sha1_base64="vvxmqmm1urjz31tpz2plqxkekva=">aaadvxichvllbhmxfpukpztwaaplnioyyvfljlelufdfsiafvqukrrspio9zm7xix8i+gxin5r/4e8sglsz4bsscb4jpofxzukfnhh/br05zkrzg8eeg1d66sx1z51bn9p2793a7e/fpnckshxe30tilldmqqsmibuq4yc0wluo4t+fpf/pz92cdmpodljkkimvazarn6knjxnbket6gnlyxwt2taahq8dckemziq2ub0xqyostmlsvrstanhrb9jcw0plyyijxqwo/t/u3rmvpww+bqxpw9ntp7db3tqvi3hxr+qxod3njpf6xecmepc5wcvva28to8k4keriohvmsxmkwarsfdxtwfxoskn8ggv+xxj6zrznl9tqegfwo0csmcgw/ihbnvjojlqdu0cjazpmczjfmcsxxsumvgfkatm2mptb+qs6rl12gmk6ack1w6qsqgl00ynwaolhvxzhh2npez5qwc5n62hfu0cv6drxofpf8iel1gk9wt/k0uksxnfingrxf9d+uoj+dxbug/wdmwp/d49kb3nfwhtumekkfkmrmqj+sivcqnzer48dh4enwnvru+tx60t9rbk2krwo95qbrv3v0j0wcixw==</latexit> Übung zu relationalen Normalformen Betrachten wir folgende Relation, die Informationen aus unserem Musik-Streaming-Dienst erfasst : ;5 :, :, :, :, :, :, : 6< In welcher Normalform befindet sich die Relation? 31
<latexit sha1_base64="vvxmqmm1urjz31tpz2plqxkekva=">aaadvxichvllbhmxfpukpztwaaplnioyyvfljlelufdfsiafvqukrrspio9zm7xix8i+gxin5r/4e8sglsz4bsscb4jpofxzukfnhh/br05zkrzg8eeg1d66sx1z51bn9p2793a7e/fpnckshxe30tilldmqqsmibuq4yc0wluo4t+fpf/pz92cdmpodljkkimvazarn6knjxnbket6gnlyxwt2taahq8dckemziq2ub0xqyostmlsvrstanhrb9jcw0plyyijxqwo/t/u3rmvpww+bqxpw9ntp7db3tqvi3hxr+qxod3njpf6xecmepc5wcvva28to8k4keriohvmsxmkwarsfdxtwfxoskn8ggv+xxj6zrznl9tqegfwo0csmcgw/ihbnvjojlqdu0cjazpmczjfmcsxxsumvgfkatm2mptb+qs6rl12gmk6ack1w6qsqgl00ynwaolhvxzhh2npez5qwc5n62hfu0cv6drxofpf8iel1gk9wt/k0uksxnfingrxf9d+uoj+dxbug/wdmwp/d49kb3nfwhtumekkfkmrmqj+sivcqnzer48dh4enwnvru+tx60t9rbk2krwo95qbrv3v0j0wcixw==</latexit> Übung zu relationalen Normalformen Betrachten wir folgende Relation, die Informationen aus unserem Musik-Streaming-Dienst erfasst : ;5 :, :, :, :, :, :, : 6< Wie lässt sich die Relation mit möglichst wenigen Zerlegungen in 2NF überführen? 32
<latexit sha1_base64="vvxmqmm1urjz31tpz2plqxkekva=">aaadvxichvllbhmxfpukpztwaaplnioyyvfljlelufdfsiafvqukrrspio9zm7xix8i+gxin5r/4e8sglsz4bsscb4jpofxzukfnhh/br05zkrzg8eeg1d66sx1z51bn9p2793a7e/fpnckshxe30tilldmqqsmibuq4yc0wluo4t+fpf/pz92cdmpodljkkimvazarn6knjxnbket6gnlyxwt2taahq8dckemziq2ub0xqyostmlsvrstanhrb9jcw0plyyijxqwo/t/u3rmvpww+bqxpw9ntp7db3tqvi3hxr+qxod3njpf6xecmepc5wcvva28to8k4keriohvmsxmkwarsfdxtwfxoskn8ggv+xxj6zrznl9tqegfwo0csmcgw/ihbnvjojlqdu0cjazpmczjfmcsxxsumvgfkatm2mptb+qs6rl12gmk6ack1w6qsqgl00ynwaolhvxzhh2npez5qwc5n62hfu0cv6drxofpf8iel1gk9wt/k0uksxnfingrxf9d+uoj+dxbug/wdmwp/d49kb3nfwhtumekkfkmrmqj+sivcqnzer48dh4enwnvru+tx60t9rbk2krwo95qbrv3v0j0wcixw==</latexit> Übung zu relationalen Normalformen Betrachten wir folgende Relation, die Informationen aus unserem Musik-Streaming-Dienst erfasst : ;5 :, :, :, :, :, :, : 6< Wie lässt sich die Relation mit möglichst wenigen Zerlegungen in 3NF überführen? 33
Zusammenfassung Redundanzen führen zu Anomalien beim Einfügen, Löschen und Ändern Gute Relationenschemata vermeiden Redundanzen und damit Anomalien Funktionale Abhängigkeiten zwischen Attributmengen als zentraler Begriff Relationale Normalformen charakterisieren Güte eines Relationenschemas 34
Literatur [1] A Kemper und A Eickler: Datenbanksysteme Eine Einführung, De Gruyter Oldenbourg, 2015 (Kapitel 6) [2] G Saake, K-U Sattler und A Heuer: Datenbanken - Konzepte und Sprachen, mitp Professional, 2013 (Kapitel 6) 35