290 likes | 588 Views
ANALIZĖ. PROJEKTAS. ER Modelis. Reliacinis modelis. Esybė. Lentelė. Atributas. Kolonėlė. Atributas su unikaliomis reikšmėmis (unikalus identifikatorius). Pirminis raktas. Kiti atributai su unikaliomis reikšmėmis (unikalūs identifikatoriai). Galimi raktai. Ryšiai. Išoriniai raktai.
E N D
ANALIZĖ PROJEKTAS ER Modelis Reliacinis modelis Esybė Lentelė Atributas Kolonėlė Atributas su unikaliomis reikšmėmis (unikalus identifikatorius) Pirminis raktas Kiti atributai su unikaliomis reikšmėmis (unikalūs identifikatoriai) Galimi raktai Ryšiai Išoriniai raktai TERMINŲ VIRSMAI
ESYBIŲ VIRSMAI DARBUOTOJAS Lentelės vardas: DARBUOTOJAI Trumpas vardas: DBS
ATRIBUTŲ VIRSMAI DARBUOTOJAS # Id * Vardas oAdresas * Gimimo data Lentelės vardas: DARBUOTOJAI Trumpas vardas: DBS
UNIKALIŲ INDENTIFIKATORIŲVIRSMAI DARBUOTOJAS # Id * Vardas oAdresas * Gimimo data Lentelės vardas: DARBUOTOJAI Trumpas vardas: DBS
Kvalifikacija Kategorija Pavardė Nr Išsilavinimas Vykdytojas
RYŠIŲ TAISYKLĖS DARBUOTOJAS # Id * Vardas oAdresas * Gimimo data PADALINYS # ID * Pavadinimas fk2=dbs_dbs_fk fk1=dbs_pds_fk
Adresas Darbuotojas Vardas N ID Padalinys Atsakingas ID Vardas ID Gimimo data Darbuotojas Adresas Pavadinimas 1 Gimimo data Padalinys_ID ID Padalinys Pavadinimas
ER modelio susiejimo su reliaciniu duomenų modeliu bendrosios taisyklės.
1. • Kiekvieną ER modelio esybę reliaciniame modelyje atitinka lentelė. • Lentelės vardas turi atitikti konkrečios RDBVS reikalavimus, todėl jis gali skirtis nuo esybės vardo.
2. • Kiekvienam esybės vienareikšmiam atributui atitinkamoje reliacinėje lentelėje turi būtistulpelis. • Stulpelio vardas gali sutapti su atributo vardu arba nesutapti. Stulpelio vardas parenkamas pagal RDBVS reikalavimus. Išvestiniai (apskaičiuojamieji) atributai į lentelęneįtraukiami.
3. • Kadangi reliaciniame modelyje aibė negali būti reikšme, tai daugiareikšmio atributo negalima atvaizduoti vienu lentelės stulpeliu. • Galimi du pagrindiniai daugiareikšmių atributų realizavimo būdai: • Jei žinomas daugiareikšmio atributo A didžiausias paprastųjų reikšmių skaičius n, tai esybę atitinkančią lentelę įtraukiama n stulpelių,A1A2,..., An-povieną kiekvienai galimai atributo reikšmės dedamajai. Šiuo atveju jei n yra gana didelis, tai esybės lentelė turės daug stulpelių. Be to, dauguma lentelės stulpelių A1, A2,...,Anreikšmių gali būti tuščiosios (NULL). • Daugiareikšmiam atributui A sukuriama atskira lentelė, į kurią įtraukiamas atitinkamas stulpelis A. Jei A yra sudėtinis, tai įtraukiami visi jį sudarantys paprastieji atributai. Į lentelę taip pat įtraukiamas esybės, kuriai priklauso A, raktas K, jis tampa išoriniu lentelės raktu. Pirminiu lentelės raktu tampa A ir K kartu. Šio būdo trūkumasatributui kuriama atskira lentelė, užtat privalumas tas, kad šioje lentelėje nebus tuščių reikšmių.
4. • Esybės raktas tampa pirminiu lentelės raktu. Semantiniame modelyje raktiniai atributaiesybei gali būti ir neapibrėžti. Tokiu atveju iš esybės atributų išskiriama vienas ar keli atributai, sudarysiantys pirminį raktą. • Dar galima parinkti visiškai naują papildomą atributą, kuris taptų pirminiu raktu.
5. • Kiekvienam 1:N ryšiui į lentelę LN, atitinkančią esybę, pažymėtą N, įtraukiamas lentelės, atitinkančios esybę, pažymėtą 1, pirminisraktas ir jis tampa lentelės LNišoriniu raktu. • Jei esybė, atitinkanti „N", ryšyje privaloma, tai išorinio rakto stulpeliai negalės įgyti NULL reikšmės. Į lentelę LN taip pat įtraukiami visi ryšio atributai, jei tokie yra.
6. • Kadangi ryšys 1:1 yra simetrinis, tai laisvai pasirenkama, kuri esybė bus „pagrindinė", okuri „priklausoma". • Į„priklausomą" lentelę įtraukiami „pagrindinės" lentelės pirminio rakto stulpeliai ir jie tampa išoriniu raktu. • Jei„priklausoma" esybė ryšyje privaloma, tai išorinio rakto stulpeliai negalės įgyti NULL reikšmės. Jei ryšys turi atributus, tai jie dažniausiai yra įtraukiami į „priklausomą" lentelę.
7. • Kiekvienas N:M ryšys realizuojamas sudarant atskirą lentelę. • Į lentelę įtraukiami abiejų lentelių, atitinkančių ryšyje dalyvaujančias esybes, pirminiai raktai, kurie tampa išoriniais raktais. • Į lentelę taip pat įtraukiami visi ryšio atributai. Lentelės pirminiu raktu dažniausiai tampa abiejų susietų lentelių pirminių raktų junginys.
8. • Ryšį virštipis-potipis galima atvaizduoti keliais būdais: • Visoms susietoms šiuo ryšiu esybėms sukuriama viena lentelė. Į lentelę įtraukiami visi virštipio ir visų potipių atributai. Tokiu atveju kiekvienam esybės objektui dalis atributų neturės prasmės. Visi potipių atributus atitinkantys stulpeliai galės įgyti NULL reikšmę. Taigi galima situacija, kai dauguma lentelės reikšmių bus NULL.Gali reikėti įvesti papildomas taisykles, pavyzdžiui, ypatingąjį stulpelį, potipiams atskirti vieną nuo kito. Šio būdoprivalumas - sukuriama tik viena lentelė. • Tiek virštipiui, tiek ir kiekvienam potipiui sukuriamos atskiros lentelės. Į visas potipius atitinkančias lenteles įtraukiamas virštipio pirminis raktas, kuris tampa potipio lentelės tiek pirminiu raktu, tiek ir išoriniu raktu. Šio būdo trūkumas – sukuriamadaugiau lentelių. Be to, reikalingos papildomos priemonės užtikrinti, kad ta pati rakto reikšmė nepasikartotų keliose potipius atitinkančiose lentelėse.
VIRŠTIPIŲ-POTIPIŲ VIRSMAI Tipo kolonėlė
PS(P) pk fk * * * ID Xxx A_Id fk1=R_P_fk fk4=Q_P_fk RS(R) QS(Q) pk,fk1 fk2 fk3 * * * o ID Zzz A_Id B_Id pk,fk4 fk5 * * * ID Yyy A_Id VIRŠTIPIŲ-POTIPIŲ VIRSMAI
ER modelio normalizavimas • 1NF. Ieškome esybių, kurios modeliuoja keliasskirtingas realaus pasaulio objektųklases. Jasišskaidome į atskiras esybes. • 2NF. Analizuojame esybiųsudėtinius raktus irnaikiname nepirminiųatributųpriklausomybes nuorakto dalies. Likviduojant tokiąpriklausomybę sudaroma nauja esybė. • 3NF. Šaliname tranzityvisias priklausomybes nuoesybės rakto. • BKNF. Šaliname FP, kuriųdeterminantas nėra raktas. • 4NF. Likviduojame netrivialias DRP, kurios nėra FP.
VYKDYTOJAS * Nr * Pavardė * Kategorija * Kvalifikacija o Išsilavinimas dalyvauti Būti atliekamam PROJEKTAS * Nr * Pavadinimas * Svarba * Pradžia * Trukmė VYKDYMAS *Nr *Statusas * Valandos apibrėžti apibūdinti ER modelis DARBAI
UŽDAVINYS # Numeris * Sąlyga Būti išspręstas ASMUO # Kodas * Pavardė * Vardas išspręsti Užduotis. Sudarykite DB schemą, atitinkančią šią ER schemą.
Užduotis. Sudarykite DB schemą, atitinkančią šią ER schemą. PROGRAMA # Kodas * Pavadinimas * Paskirtis *Projektavimo pabaigos data *Programavimo pabaigos data PROGRAMUOTOJAS # Kodas * Pavardė * Vardas o Telefonas Bûti programuojama Parašyti Būti projektuojama Sudaryti projektą
Užduotis. Pritaikykite normalizavimo algoritmą. EGZEMPLIORIUS # Nr * ISBN * Autorius * Pavadinimas * Leidykla * Metai * Puslapiai o Paėmimo data o Grąžinimo data
Naudota literatūra • Oracle University metodinė medžiaga • R. Baronas, “Duomenų bazių valdymo sistemos”, TEV, Vilnius, 2005