TDDB77 Databasteknik Fö 4 Gå från ER/EER-schema till ett relationsschema Henrik André-Jönsson
ER/EER till Relationer
Steg 1 För varje (stark) entitet R, skapa en relation E som har samma enkla attribut som R.
ER/EER till Relationer Steg 2 För varje svag entitet W med ägar entitet E, skapa en relation R som har samma enkla attribut som W, lägg också till primärnyckel attributet från den relation som motsvarar E.
ER/EER till Relationer Steg 3 För varje binär 1:1 relation, identifiera de relationer som motsvarar de ingående entiteterna, S och T. Välj en av dessa och lägg primärnyckeln från den ena som främmande nyckel i den andra.
ER/EER till Relationer Steg 4 För varje binär 1:N relation, identifiera de relationer som motsvarar de ingående entiteterna, S och T. Välj den relation som ligger på N sidan och lägg dess primärnyckel som främmandenyckel i den relation som ligger på 1 sidan.
ER/EER till Relationer Steg 5 För varje binär N:M relation, identifiera de relationer som motsvarar de ingående entiteterna, S och T. Skapa en ny relation R och använd primärnycklarna från S och T som främmande nycklar i R. Eventuella attribut på relationen läggs också till R.
ER/EER till Relationer Steg 6 För varje multivärt attribut A i R, skapa en ny relation R som innehåller att attribut som motsvarar A samt primärnyckeln för R som främmande nyckel.
ER/EER till Relationer Steg 7 För varje n-värd relation där n>2, skapa en ny relation S som innehåller primärnycklarna från de ingående relationerna som främmande nycklar.
ER till Relation Exempel Anställd Namn FNamn ENamn AnstNr Adress Kön Avdelning NamnNummer AntalAnst Projekt Namn Anhörig Adress Kön Namn Anhörig till 1 N Ansvarar för Startdatum 1 1 Arbetar för N M Över- vakar 1 N Styr 1 N Arbetar på Timmar N M
Omvandla (starka) entiteter Anställd Avdelning Projekt Anställd:AnstNrFNamnENamnAdressKön Avdelning:NamnNummer Projekt:Namn
Omvandla svaga entiteter Anhörig Anställd:AnstNrFNamnENamnAdressKön Anhörig:NamnFNamnENamnAdressKön
Anställd Omvandla svaga entiteter Anhörig Anställd:AnstNrFNamnENamnAdressKön Anhörig:NamnFNamnENamnAdressKön
Binära 1:1 relationer ”Ansvarar för” - Anställd och Avdelning Anställd:AnstNrFNamnENamnAdressKön Avdelning:NamnNummerChefStartdatum Främmande nyckel till Anställd relationen
Binära 1:N relationer ”Övervakar” - Anställd och Anställd ”Styr” - Avdelning och Projekt
Binära 1:N relationer ”Övervakar” - Anställd och Anställd Anställd:AnstNrFNamnENamnAdressKön Avdelning:NamnNummerChefStartdatum ÖvervakadAv
Binära 1:N relationer ”Styr” – Avdelning och Projekt Avdelning:NamnNummerChefStartdatum Projekt:NamnStyrsAv
Binära N:M relationer ”Arbetar för” - Anställd och Avdelning ”Arbetar på” - Anställd och Projekt ArbetarFör:AnställdAvdelning ArbetarPå:AnställdProjektTimmar
Komplet Relationsschema ArbetarFör:AnställdAvdelning ArbetarPå:AnställdProjektTimmar Avdelning:NamnNummerChefStartdatum Anställd:AnstNrFNamnENamnAdressKönÖvervakadAv Projekt:NamnStyrsAv AnställdAnhörig:NamnFNamnENamnAdressKön