You are on page 1of 7

АКАДЕМИЈА СТРУКОВНИХ СТУДИЈА ШУМАДИЈА

Одсек ТРСТЕНИК
СМЕР: Друмски саобраћај
СЕМЕСТАР: V
ШКОЛСКА ГОДИНА: 2020/21.

Студент:_________Stepanović Nemanja ____168/2018__________________

Управљање базама податка


СЕМИНАРСКИ РАД

Пројектовати базу података за __Gradsko saobracajno preduzeće - TRANSPORT___ , са


минимално 4 ентитета (табеле).

У оквиру рада потребно је:

1. Формирати ЕР модел базе података.


2. Дефинисати речник података БП.
3. Написати SQL упите за креирање базе података.
4. Написати SQL упите за попуњавање табела базе података са подацима.
5. Направити упите за управљање подацима из пројектоване базе података:
a. ___________________________________________
b. ___________________________________________
c. ___________________________________________
d. ___________________________________________
e. ___________________________________________

Предметни наставник
др Горан Миодраговић

Асистент
Марија Мојсиловић
Задатак издат 01.11.2020. год.
Рок за предају задатка 24.01.2021. 2021. год.
idbrojv# ime prezime idbroja# registracija godiste

1 N
VOZAC AUTOBUS

N
N 1
STAJALISTA LINIJA

idbrojs# naziv zona idbrojl# naziv linije pocetna stanica krajna stanica

U ovom projektu uradjen je i prikazan primer baze podataka za


Gradskosaobracajno preduzece. U daljem tekstu bice objasnjen izgled PMOV-a, tabele i atributi
koji cine PMOV.
PMOV se sastoji od 4 entiteta(tabele),a to su: VOZAC, AUTOBUS, LINIJA i
STAJALISTA.
Entitet VOZAC sastoji se od atributa: idbrojv, ime, prezime.
Entitet AUTOBUS sastoji se od atributa: idbroja, registracija, godiste.
Entitet LINIJA sastoji se od atributa: idbrojl, naziv linije, pocetna stanica, krajna stanica.
Entitet STAJALISTA sastoji se od atributa: idbrojs,naziv, zona.
Primarni kljucevi su za svaki entitet oznaceni #, oni su tekstualnog tipa podatka
dužine 4,4,5 i 3 (respektivno) karaktera.
Atributi ime i prezime su tekstualni tipovi podataka dužine 20 i 30 karaktera.
Atributi registracija i je tekstualnog tipa duzine 8 karaktera, a atribut godiste je celobrojni tip
podatka.
Atributi naziv linije, pocetna stanica i krajna stanica su tekstualnog tipa duzine 5, 20 i 20
(respektivno) karaktera.
Atribut naziv je tekstualnog tipa duzine 20 karaktera, a atribut zona je celobrojni tip podatka.

Zadatak1

Vozac(idbrojv#,ime,prezime)
Autobus(idbroja#,registracija,godiste,idbrojv*)
Linija(idbrojl#,naziv linije,pocetna stanica,krajna stanica,idbroja*)
Stajalista(idbrojs#,naziv,zona,idbrojil*)
Zadatak 2

Entitet Vozac nullable Prim key


idbrojv karakter no yes
ime karakter no no
prezime karakter no no

Entitet Autobus
idbroja karakter no yes
registracija karakter no no
godiste karakter no no

Entitet Linija
idbrojl karakter no yes
naziv linije karakter no no
pocetna stanica karakter no no
krajna stanica karakter no no

Entitet Stajalista
idbrojs karakter no yes
naziv karakter no no
zona karakter no no

idbrojv# - primarni kljuc entiteta vozac


idbroja# - primarni kljuc entiteta autobus
idbrojl# - primarni kljuc entiteta linija
idbrojs# - primarni kljuc entiteta stajalista

idbrojv* - referencijalni kljuc entiteta vozac u tabeli autobus


idbroja* - referencijalni kljuc entiteta autobus u tabeli linija
idbrojl* - referencijalni kljuc entiteta linija u tabeli stajalista

Tabela vozac posle unosa podataka


idbrojv# ime prezime
001 Milomir Ilic
002 Nemanja Djurdjevic
003 Dragan Gavric
004 Milan Mojic
005 Nenad Spasojevic
006 Nikola Marijanovic
007 Marko Isailovic
008 Bojan Matic
Tabela autobus posle unosa podataka
idbroja# registracija godiste idbrojv*
101 VA144GG 2008 008
102 VA032SN 1990 003
103 VA040DM 2003 007
104 VA155AD 2005 002
105 VA096SX 2010 006
106 VA072GU 2007 004
107 VA168NS 2018 005
108 VA382NM 2020 001

Tabela linija posle unosa podataka


idbrojl# naziv linije pocetna stanica krajnja stanica idbroja*
1001 55 petnica jadar 101
1002 ECO gradac brdjani 102
1003 305 beleg peti puk 106
1004 22 divci popucke 103
1005 3A stave pricevic 108
1006 101 senjak bair 105
1007 84 vidrak boricevac 107
1008 1N1 klicevac popare 104

Tabela stajalista posle unosa podataka


idbrojs# naziv zona idbrojl*
01 mol 2 1001
02 park pecina 1 1002
03 zlokucani 1 1003
04 lukavac 3 1004
05 majnovic 3 1005
06 posta 1 1006
07 vidikovac 1 1007
08 ljubostinja 2 1008

Zadatak 3

create database gradskosaobracajno

create table vozac(


idbrojv# varchar(4) primary key,
ime varchar(20) not null,
prezime varchar(30) not null);
create table autobus(
idbroja# varchar(4) primary key,
registracija varchar(8) not null,
godiste int not null,
idbrojv* varchar(4) references vozac);

create table linija(


idbrojl# varchar(5) primary key,
naziv linije varchar (5) not null,
pocetna stanica varchar(20) not null,
krajna stanica varchar(20) not null,
idbroja* varchar(4) references autobus);

create table stajalista(


idbrojs# varchar(3) primary key,
naziv varchar(20) not null,
zona int not null,
idbrojl* varchar(5) references linija);

Zadatak 4

insert into vozac values(“001”,”Milomir”,”Ilic”);


insert into vozac values(“002”,”Nemanja”,”Djurdjevic”);
insert into vozac values(“003”,”Dragan”,”Gavric”);
insert into vozac values(“004”,”Milan”,”Mojic”);
insert into vozac values(“005”,”Nenad”,”Spasojevic”);
insert into vozac values(“006”,”Nikola”,”Marijanovic”);
insert into vozac values(“007”,”Marko”,”Isailovic”);
insert into vozac values(“008”,”Bojan”,”Matic”);

insert into autobus values(“101”,”VA144GG”,”2008”,”008”);


insert into autobus values(“102”,”VA032SN”,”1990”,”003”);
insert into autobus values(“103”,”VA040DM”,”2003”,”007”);
insert into autobus values(“104”,”VA155AD”,”2005”,”002”);
insert into autobus values(“105”,”VA096SX”,”2010”,”006”);
insert into autobus values(“106”,”VA072GU”,”2007”,”004”);
insert into autobus values(“107”,”VA168NS”,”2018”,”005”);
insert into autobus values(“108”,”VA382NM”,”2020”,”001”);

insert into linija values(“1001”,”55”,“petnica”,”jadar”,”101”);


insert into linija values(“1002”,”ECO”,”gradac”,”brdjani”,”102”);
insert into linija values(“1003”,”305”,”beleg”,”peti puk”,”106”);
insert into linija values(“1004”,”22”,”divci”,”popucke”,”103”);
insert into linija values(“1005”,”3A”,”stave”,”pricevic”,”108”);
insert into linija values(“1006”,”101”,”senjak”,”bair”,”105”);
insert into linija values(“1007”,”84”,”vidrak”,”boricevac”,”107”);
insert into linija values(“1008”,”1N1”,”klicevac”,”popare”,”104”);
insert into stajalista values(“01”,”mol”, “2”,”1001”);
insert into stajalista values(“02”,”park pecina”, “1”,”1002”);
insert into stajalista values(“03”,”zlokucani”, “1”,”1003”);
insert into stajalista values(“04”,”lukacav”,”3”,”1004”);
insert into stajalista values(“05”,”majnovic”,”3”,”1005”);
insert into stajalista values(“06”,”posta”,”1”,”1006”);
insert into stajalista values(“07”,”vidikovac”,”1”,”1007”);
insert into stajalista values(“08”,”ljubostinja”,”2”,”1008”);

Zadatak 5

1. Upit za prikaz ukupnog broja autobusa po linijama;

select distinct li.naziv,count(a.idbroja#) as "Broj autobusa po linijama"


from linija li,vozac vo,stajaliste st,autobus a
where li.idbrojvo = vo.idbrojv#
and st.idbrojs# = vo.idbrojst
and a.idbroja# = st.idbroja
group by li.naziv;

2.Upit za formiranje pregleda autobusa (registracija, godiste) koji saobracaju na liniji (naziv
linije, pocetna i krajnja stanica) sa stajalistima (naziv, zona);

select a.registracija,a.godiste,li.naziv linije,li.pocetna stanica,li.krajna stanica,st.naziv, st.zona


from vozac vo,autobus a,linija li,stajaliste st
where st.idbrojli = li.idbrojl#
and li.idbroja = a.idbroja#
and a.idbrojvo = vo.idbrojv#;

3.Upit za pregled vozaca (ime, prezime) koji voze autobus (registracija, godiste) na liniji: <naziv
linije>;

select vo.ime,vo.prezime,a.registracija,a.godiste,li.naziv linije


from autobus a,vozac vo,stajaliste st,linija li
where st.idbrojli = li.idbrojl#
and li.idbroja = a.idbroja#
and a.idbrojvo = vo.idbrojv#
and li.naziv linije = “EKO”;

4.Upit za pregled vozaca (ime, prezime) koji voze autobus (registracija, godiste) koji saobracaju
na stajalistima (naziv, zona) na liniji <naziv linije>;
select vo.ime,vo.prezime,a.registracija,a.godiste,st.naziv, st.zona, li.naziv linije
from autobus a,vozac vo,stajaliste st,linija li
where st.idbrojli = li.idbrojl#
and li.idbroja = a.idbroja#
and a.idbrojvo = vo.idbrojv#
and li.naziv linije = “101”;

5.Upit za pregled vozaca (ime, prezime) koji voze autobus (registracija, godiste) na liniji (naziv
linije) za zonu: <zona>;

select vo.ime,vo.prezime,a.registracija,a.godiste,li.naziv linije,st.zona


from autobus a,vozac vo,stajaliste st,linija li
where st.idbrojli = li.idbrojl#
and li.idbroja = a.idbroja#
and a.idbrojvo = vo.idbrojv#
and st.zona = “3”;

Literatura

1. Prof Dr Goran Miodragović, Materijali sa vežbi, Trstenik 2020.

You might also like