Professional Documents
Culture Documents
Nuotolinės LD3 Reliacinės DB Kūrimas 2020 05 06
Nuotolinės LD3 Reliacinės DB Kūrimas 2020 05 06
Nuotolinės LD3 Reliacinės DB Kūrimas 2020 05 06
1. Šio laboratorinio darbo metu sudarysime supaprastintą dekanato duomenų bazės modelį. Dekanato duomenų
bazėje saugomi duomenys apie tris pagrindinius objektus: Studentus, Dalykus ir Dėstytojus. Šioms trims
lentelėms priskirsime tokius atributus (stulpelius): studentų lentelei - studento kodas, pavardė, vardas, grupės
numeris, telefonas, stipendija, pažymiai; dėstytojų lentelei - dėstytojo kodas, dalyko kodas, vardas, pavardė,
gimimo data, pareigos, telefono numeris, darbo užmokestis; dalykų lentelei - dalyko kodas, dalyko
pavadinimas. MySQL yra reliacinė duomenų bazių valdymo sistema (angl. Relational DBMS), todėl duomenų
lentelės jungiamos tarpusavyje griežtai apibrėžtais atributais. Dėstytojų ir dalykų sąryšį galima apibrėžti
dėstytojo kodo ir dalyko kodo atributais, o studentų ir dalykų sąryšį - studento kodo ir dalyko kodo atributais.
Galimi trys ryšių tarp lentelių tipai: vienas su vienu (1:1), vienas su daugeliu (1:N) ir daugelis su daugeliu (M:N).
Vienas dėstytojas gali dėstyti kelis dalykus, keli dėstytojai gali dėstyti tą patį dalyką, taigi gaunamas sąryšis
daugelis su daugeliu (M:N). Vienas studentas mokosi daugelio dalykų, keli studentai vienu metu mokosi to
paties dalyko, taigi vėl gaunamas sąryšis daugelis su daugeliu (M:N).
2. Didžioji dalis šiuolaikinių DBVS (duomenų bazių valdymo sistemų) palaiko sąryšius daugelis su daugeliu (M:N),
bet mes laikysimės klasikinės koncepcijos, kuri teigia, kad šie sąryšiai komplikuoja duomenų bazės valdymą ir
kurdami reliacinį modelį vengsime šių sąryšių. Vienas paprasčiausių metodų išvengti sąryšių daugelis su
daugeliu yra vieno sąryšio daugelis su daugeliu pakeitimas dviem sąryšiais vienas su daugeliu (1:N). Šio metodo
įgyvendinimui sukuriamos papildomos sujungimo lentelės (objektai). Šiuo atveju sukursime lenteles Pažymiai
ir Dėstytojai_Dalykai. Lentelę Pažymiai sudarys šie atributai: studento kodas, dalyko kodas, pažymiai; lentelę
Dėstytojai_Dalykai sudarys šie atributai: dėstytojo kodas, dalyko kodas.
Reliacinės DB kūrimas
1. Prisijunkite prie duomenų bazės per „phpMyAdmin“. Internetinės naršyklės lange įveskite adresą ir
prisijunkite (rekomenduojame pasirinkti anglų kalbą, nes toliau laboratorinio aprašyme naudojami
paveikslėliai su angliškais užrašais):
virtualios mašinos IP adresas/phpmyadmin
Prisijungimui nuotoliniu būdu: 3.127.210.4/phpmyadmin
2. Prisijungus prie serverio atlikite šiuos veiksmus (atkreipkite dėmesį, kad jūsų sukurtos duomenų bazės
pavadinimas grupės numeris + studento kodas):
Sukurkite naujas 5 lenteles. Kaip pavyzdį naudosime duomenų bazę pavadinimu „Dekanatas“. Lentelių
pavadinimuose nenaudokite lietuviškų raidžių. Pirmą kartą kuriant lentelę „Studentai“ pažymėkite duomenų
bazę pvz.: „Dekanatas“ (1) (nuotoliniu būdu jungiantis, pasirinkite jau jums sukurtą duomenų bazę jos
pavadinimas: grupės numeris + studento kodas!!!), įrašykite lentelės pavadinimą (2) ir pasirinkite kiek
stulpelių turės lentelė (3) bei paspauskite sukurti „Go“ mygtuką (4):
3. Atsiradusiame lange suveskite lentelės stulpelių pavadinimus (1). Taip pat nustatykite stulpelių atributus (2, 3,
4, 5, 6), kaip parodyta žemiau pateikiamose lentelėse. Atkreipkite dėmesį, kad „NN“ – būtina įvesti duomenis
(angl. Not Null), šio laukelio vertė negali būti lygi nuliui ir varnelės nereikia dėti (3)!!! PK – Pirminis raktas
(angl. Primary Key), pagrindinis indeksavimo laukelis, vienareikšmiškai apibrėžiantis įrašą (4). AI – Automatinis
inkrementavimas (5) (angl. Auto Increment). Atkreipkite dėmesį į numatytąją vertę (6) (Default). Paspauskite
sukurti „Save“ mygtuką (7) norėdami išsaugoti lentelę su nustatymais (jeigu reikia pridėti dar viena stulpelį tai
galite padaryti skiltyje „Add“ (8)):
4. Kitas lenteles „Pazymiai“; „Dalykai“; „Destytojai_dalykai“; „Destytojai“ panašiai kaip ir pirmą kurkite naršyklės
lango kairėje pusėje paspaudus „New“ po pasirinkta duomenų baze:
PK – Pirminis raktas (angl. Primary Key), pagrindinis indeksavimo laukelis, vienareikšmiškai apibrėžiantis įrašą;
NN – būtina įvesti duomenis (angl. Not Null), šio laukelio vertė negali būti lygi nuliui;
UQ – Unikali vertę (angl. Unique), šio laukelio vertės negali kartotis;
BIN – Šio laukelio duomenys pateikiami dvejetainiu kodu (angl. Binary);
UN – Galimi tik teigiami skaičiai, ženklo duomenys nesaugomi (angl. Unsigned);
ZF – Nenurodytos vertės užpildomos nuliais (angl. Zero Fill);
AI – Automatinis inkrementavimas (angl. Auto Increment).
B. Sukurkite sąryšį tarp lentelių „Studentai“ ir „Pažymiai“, panaudodami grafinį įrankį. Pasirinkite sąryšio
sukūrimo įrankį „Create relationchip“.
Kuriant sąryšius iš pradžių nurodomi laukeliai, kurių sąryšis yra vienas, po to tie laukeliai kurių
sąryšis – daugelis. Gaunami sąryšiai vienas su daugeliu. Kurdami sąryšį tarp lentelių „Studentai“ ir
„Pažymiai“ atlikite šiuos veiksmus:
a) Paspauskite kairiuoju pelės klavišu komandą „Create relationchip“ (1).
b) Pasirinkite laukelį „Studento kodas“ iš lentelės „Studentai“ paspaudę jį kairiuoju pelės klavišu
(pasirinksite vienas) (2).
c) Po to pasirinkite laukelį „Studento kodas“ iš lentelės „Pazymiai“ paspaudę jį kairiuoju pelės
klavišu (pasirinksite daugelis) (3). Atsiradusioje lentelėje spauskite „OK“.
d) Įsitikite, kad sąryšis sukurtas teisingai „Studentai“ – vienas, „Pažymiai“ – daugelis. Jei sąryšis
neatsiras paspauskite naršyklės atnaujinimo mygtuką „F5“!!!
Jeigu sąryšis sukurtas netinkamai spustelėkite ant sąryšio daugelis ir išsirinkite
atsiradusiame meniu „Delete“.
C. Analogiškai įgyvenkite visus suprojektuoto modelio sąryšius kitoms lentelėms. Atkreipkite dėmesį,
laukelių pavadinimai turi sutapti ir daugelis sąryšis turi būti prie šitų laukelių (1). Įsitikinkite, kad sąryšiai
sutampa su pateiktu pavyzdžiu paveiksle:
e) Atsiradusiame lange įveskite užklausos pavadinimą (1), kurį turėtų sudaryti laboratorinio
numeris ir užklausos pavadinimas, kuriame turėtų atsispindėti užklausos esmė. Šiuo atveju
lentelės pavadinimas: „LD3 Studentai lentelė“ ir paspauskite mygtuką „GO“ (2):
f) Sukūrus užklausos rezultato atvaizdą jis turėtų pasirodyti jūsų sukurtos duomenų bazės
atvaizdų skiltyje „Views“:
d. Atsiradusiame lange nurodykite vietą, kur norite išsaugoti duomenų bazę ir įveskite jos pavadinimą:
„Vardas_Pavardė_Grupė_LD3.sql“.