Andmebaaside eksam Erinevat tüüpi andmemudelid Andmemudelite väljatöötamise ajaline järjekord (vanemast nooremaks) 1. Hierarhiline andmemudel (vanim) 2. Võrk-andmemudel 3. Relatsiooniline andmemudel 4. Objekt-orienteeritud andmemudel 5. Objekt-relatsiooniline andmemudel (noorim) Hierarhiline - Andmed on organiseeritud hierarhiatena. Hierarhiline andmemudel väljendab oma alamobjektide 1:M suhteid ja talle vastavaks abstraktseks andmestruktuuriks on "puu". Puudused: - Andmete dubleeritus. (Ametite andmed on dubleeritud. Näiteks autojuhi ameti andmed on kahes puus.) - Andmete lisamise anomaaliad. (Kuni pole leitud sobilikku töötajat, ei saa sisestada ameti kirjeldust.) - Andmete kustutamise anomaaliad. (Kui kustutada andmebaasist Tarmo, kaovad koos temaga ka remondimehe ameti andmed.) Hierarhilises andmebaasis on andmed organiseeritud hierarhilise mudeli alusel.
Või siis on keegi kusagil selle küll loonud, aga lihtsalt ei leia üles. Harilike muutujate ja massiivide abil saab küll kõike arvutis ettekujutatavat hoida. Vahel aga on mugavam, kui pidevalt korduvate sarnaste andmete hoidmiseks luuakse eraldi andmetüüp. Siis on teada, et kokku kuuluvad andmed püsivad kindlalt ühes kohas koos ning pole nii suurt muret, et näiteks kahe firma andmed omavahel segamini võiksid minna. Järgnevas näites kirjeldatakse selliseks omaette andmestruktuuriks punkt tasandil, kaks täisarvulist muutujat asukohti määramas. 29 struct Punkt{ public int x; public int y; } Kui edaspidi programmis kirjutatakse Punkt p1 siis on teada, et p1-nimelisel eksemplaril on olemas x ja y väärtused ning neid on võimalik vaadata ja muuta. struct-iga kirjeldatud andmestruktuuri põhjal loodud muutuja omistamisel teisele sama tüüpi muutujale kopeeritakse väärtused ilusti ära
Või siis on keegi kusagil selle küll loonud, aga lihtsalt ei leia üles. Harilike muutujate ja massiivide abil saab küll kõike arvutis ettekujutatavat hoida. Vahel aga on mugavam, kui pidevalt korduvate sarnaste andmete hoidmiseks luuakse eraldi andmetüüp. Siis on teada, et kokku kuuluvad andmed püsivad kindlalt ühes kohas koos ning pole nii suurt muret, et näiteks kahe firma andmed omavahel segamini võiksid minna. Järgnevas näites kirjeldatakse selliseks omaette andmestruktuuriks punkt tasandil, kaks täisarvulist muutujat asukohti määramas. struct Punkt{ public int x; public int y; } Kui edaspidi programmis kirjutatakse Punkt p1 siis on teada, et p1-nimelisel eksemplaril on olemas x ja y väärtused ning neid on võimalik vaadata ja muuta. struct-iga kirjeldatud andmestruktuuri põhjal loodud muutuja omistamisel teisele sama tüüpi muutujale kopeeritakse väärtused ilusti ära. Nii nagu ühe täisarvulise
Või siis on keegi kusagil selle küll loonud, aga lihtsalt ei leia üles. Harilike muutujate ja massiivide abil saab küll kõike arvutis ettekujutatavat hoida. Vahel aga on mugavam, kui pidevalt korduvate sarnaste andmete hoidmiseks luuakse eraldi andmetüüp. Siis on teada, et kokku kuuluvad andmed püsivad kindlalt ühes kohas koos ning pole nii suurt muret, et näiteks kahe firma andmed omavahel segamini võiksid minna. Järgnevas näites kirjeldatakse selliseks omaette andmestruktuuriks punkt tasandil, kaks täisarvulist muutujat asukohti määramas. struct Punkt{ public int x; public int y; } Kui edaspidi programmis kirjutatakse Punkt p1 siis on teada, et p1-nimelisel eksemplaril on olemas x ja y väärtused ning neid on võimalik vaadata ja muuta. struct-iga kirjeldatud andmestruktuuri põhjal loodud muutuja omistamisel teisele sama tüüpi muutujale kopeeritakse väärtused ilusti ära. Nii nagu ühe täisarvulise muutuja väärtuse