Esimerkki ER-kaavion transformoinnista
- Luodaan jokaisesta kohteesta relaatio
- Jokainen Many-to-Many -suhde muutetaan tavalliseksi relaatioksi
- M-to-1-suhteet liitetään jo olemassa oleviin relaatioihin
Transformoidaan malliesimerkkinä luotu ER-kaavio relaatioiksi:
Kuva 6 Malli
Luodaan jokaisesta kohteesta relaatio
Poimitaan kaaviossa esiintyvät kohteet. Luodaan näistä relaatiot (taulut), joiden kentiksi kaaviossa olevat ominaisuudet muutetaan. Määritellään perusavaimiksi kohteen avaimiksi merkityt ominaisuudet.
|
|
|
|
|
|
TyöntekijäID | OsastoID | Syntymäaika | ProjektiID | OsaID | ToimittajaID |
Etunimi | OsastoNimi | ProjektiNimi | OsaNimi | ToimittajaNimi | |
Sukunimi | |||||
Palkka | |||||
Syntymäaika |
Jokainen Many-to-Many -suhde muutetaan tavalliseksi relaatioksi
Luodaan kaavioon relaatiot myös merkityistä M-to-M –suhteista. Esimerkkitapauksessa näitä suhteita ovat tekee, koostuu ja osan toimitus. Määritellään näistä syntyviin relaatioihin viiteavaimet suhteessa mukana oleviin kohteisiin. Perusavain muodostetaan viiteavaimista.
|
|
|
| |
TyöntekijäID | K_OsaID | ProjektiID | ToimittajaID | |
ProjektiID | OsaID | ToimittajaID | OsaID | |
Lukumäärä | OsaID | |||
Lukumäärä |
Kaikkien viiteavaimien viite-eheyssäännöt ovat aivan muunnossääntöjen oletusten mukaiset eli:
Poistaminen kielletään
Päivittäminen sallitaan
M-to-1-suhteet liitetään jo olemassa oleviin relaatioihin
Etsitään kaavioista kaikki M-to-1 –suhteet. Luodaan viiteavain niihin relaatioihin, joiden puolella on M-merkintä. Esimerkkitapauksessa M-to-1 –suhteita ovat on, kuuluu ja projektin päällikko. Nämä liitetään kohteisiin Lapsi, Työntekijä ja Projekti. Lapsi-relaation perusavaimeksi määritellään uusi viiteavain yhdistettynä jo olemassa olevaan syntymäaika-kenttään. Pelkkää syntymäaikaa parempi kenttä olisi henkilötunnus, koska syntymäajalla ei voida erotella kaksosia.
|
|
|
TyöntekijäID | Huoltaja | ProjektiID |
Etunimi | Syntymäaika | ProjektiNimi |
Sukunimi | ProjektiPäällikkö | |
Palkka | ||
Syntymäaika | ||
Osasto |
Osasto- ja Projektipäällikkö-viiteavaimien viite-eheyssäännöt ovat jälleen muunnossääntöjen oletusten mukaiset:
Poistaminen kielletään
Päivittäminen sallitaan
Lapsi-relaatio on heikko kohde eli työntekijän poistuessa myös häneen liittyvät lapset poistuvat rekisteristä, joten Huoltaja-viiteavaimen viite-eheyssäännöt ovat seuraavat:
Poistaminen sallitaan
Päivittäminen sallitaan
Valmiin tietokannan kaikki relaatiot ja niiden väliset viite-eheysmäärittelyt näyttävät seuraavilta:
Kuva 7 Tietokannan relaatiot ja niiden väliset viite-eheydet
Käyttäjien kommentit