Andmebaaside projekteerimiseks kasutatavad mudelid
Andmebaaside projekteerimiseks kasutatavad mudelid
Andmebaaside projekteerimiseks kasutatavad mudelid
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
TTÜ: Andmebaasid I (2012) © Erki Eessaar<br />
Fakultatiivne atribuut: Fakultatiivne atribuut on atribuut, millel mõne olemi<br />
korral ei ole väärtust. Näiteks olemitüübi Isik atribuut võib olla neiupõlvenimi.<br />
Kuid atribuudil neiupõlvenimi saab olla väärtus vaid naissoost isikute korral.<br />
Kohustuslik atribuut: Kohustuslik atribuut on atribuut, millel iga olemi korral<br />
on vähemalt üks väärtus, mis on antud atribuudi tüüpi. Näiteks olemitüübi Isik<br />
atribuut võib olla sünniaeg. Igal isikul on sünniaeg.<br />
Üheväärtuseline atribuut: Üheväärtuseline atribuut on atribuut, millel on iga<br />
olemi kohta maksimaalselt üks väärtus, mis on antud atribuudi tüüpi. Näiteks<br />
igal isikul on vaid üks sünniaeg.<br />
Mitmeväärtuseline atribuut: Mitmeväärtuseline atribuut on atribuut, millel<br />
võib olla mõne olemi kohta rohkem kui üks väärtus, mis on antud atribuudi<br />
tüüpi.. Näiteks võib isikul olla üks või mitu telefoni või e-maili aadressi.<br />
Kuidas modelleerida mitmeväärtuselist atribuuti?<br />
• Modelleerida UMLis mitmeväärtuselise atribuudina.<br />
• Modelleerida eraldi olemitüübina.<br />
Halb lahendus<br />
<br />
Isik<br />
isikukood : String<br />
eesnimi : String<br />
perenimi : String<br />
sünniaeg : Date<br />
elukoht : String<br />
1<br />
omab<br />
0..*<br />
<br />
e_mail<br />
e_mail : String<br />
Parem lahendus<br />
Joonis 12 Mitmeväärtuselise atribuudi modelleerimine.<br />
Esimene lahendus on halb, sest ühel isikul võib olla rohkem või vähem kui<br />
kolm e-maili aadressi.<br />
Tuletisatribuut: Tuletisatribuut on atribuut, mille väärtus on mingi<br />
arvutusreegli alusel arvutatav muude väärtuste põhjal (näiteks sama<br />
olemitüübi teiste atribuutide väärtustest).<br />
Tuletisatribuudi nime ette tuleks UMLis joonistatud olemi-suhte diagrammil<br />
panna kaldkiips "/", et seda atribuuti tähistada. Samuti tuleb dokumenteerida<br />
21