12.07.2015 Views

preuzimanje - Visoka Å¡kola za informacione tehnologije ITS

preuzimanje - Visoka Å¡kola za informacione tehnologije ITS

preuzimanje - Visoka Å¡kola za informacione tehnologije ITS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Projektovanje informacionih sistema Petar Gnjidić 148/06VERBALNI OPIS REŠENJA BAZE PODATAKABa<strong>za</strong> podataka se sastoji od devet tabela i četiri trigera.Postoji šest običnih i tri tabele kojepredstavljaju vezu.Tabele baze podataka su:• Administrator(administratorID,ime,prezime,username,pass,nivo_pristupa)• Profesor(profesorID,ime,prezime,username,pass,zvanje)• Student(studentID,ime,prezime,brIndexa,username,pass)• Predmet(predmetID,naziv,opis)• Grupa(grupaID,naziv,opis)• Predavanje(predavanjeID,predmetID,naziv,opis,file)• ProfesorPredmet(profesorID,predmetID) – tabela veze izmeñu profesora i predmeta• StudentGrupa(studentID,grupaID) tabela veze izmeñu studenta i grupe• GrupaPredmet(grupaID,predmetID) – tabela veze izmeñu grupe i predmetaTrigeri se vezuju <strong>za</strong> tabele Profesor, Student, Grupa i Predmet.Trigeri nad tabelama kojepredstavljaju vezu obavljaju kaskadno brisanje kad se <strong>za</strong>traži brisanje u tabelama gde sunakačeni trigeri.Npr. kada hoćemo da brišemo nekog profesora iz sistema triger briše i sve veze iz tabeleProfesorPredmet <strong>za</strong> tog profesora da bi imali sreñenu bazu.Tako funkcioniše triger i na ostalimtabelama na koje se kači (Student, Grupa i Predmet).Ovako izgleda mySQL kod <strong>za</strong> sva četiri trigera:CREATE TRIGGER `profesor_predmet` AFTER DELETE ON `profesor` FOR EACH ROW BEGINDELETE FROM profesorpredmet WHERE profesorID = OLD.profesorID;END;CREATE TRIGGER `student_grupa` AFTER DELETE ON `student` FOR EACH ROW BEGINDELETE FROM studentgrupa WHERE studentID = OLD.studentID;END;CREATE TRIGGER `grupa_student_predmet` AFTER DELETE ON `grupa` FOR EACH ROWBEGINDELETE FROM studentgrupa WHERE grupaID = OLD.grupaID;DELETE FROM grupapredmet WHERE grupaID = OLD.grupaID;END;CREATE TRIGGER `predmet_profesor_grupa` AFTER DELETE ON `predmet` FOR EACH ROWBEGINDELETE FROM profesorpredmet WHERE predmetID = OLD.predmetID;DELETE FROM grupapredmet WHERE predmetID = OLD.predmetID;END;Napomena: Ceo mySQL kod baze podataka, tj. dump baze podataka se nalazi u štampanoj ielektronskoj formi priloga.7/82

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!