Professional Documents
Culture Documents
BPI Januar 2010 Zadaci&Resenja
BPI Januar 2010 Zadaci&Resenja
BAZE
PODATAKA 1
JANUAR 2010.
ISPIT
Izvoai koji sviraju na koncertima se opisuju sa id izvodjaa i nazivom. Svaki izvoa je smeten u jednom hotelu, od odreenog dana poetka do
dana zavretka nastupa. Evidentiramo: id hotela, naziv, klasu i lokaciju. U bazi podataka e se nai podaci i onim hotelima u kojima nije niko
smeten, zbog eventualnog smetaja u budunosti (na sledeim festivalima). Izvoai sviraju, svaki samo na jednoj bini, dok na jednoj istoj bini
svira vie izvoaa i tada se uvek zna dan i vreme nastupa izvoaa. Za bine moramo upisati snagu ozvuenja, dimenzije i jainu rasvete.
Pozorine predstave se igraju na pozornicama tano odreenog datuma u naznaeno vreme. Za svaku predstavu znamo id predstave, ime, ko je
reirao i ko je napisao scenario. Predstava se moe igrati na vie pozornica, u razliito vreme, a mora bar na jednoj, dok se na pozornici mora
izvoditi najmanje jedna, ali obino vie predstava.
Filmovi (id filma, ime, reiser, tehnika, trajanje) se projektuju tano odreenog datuma, u naznaeno vreme, u biskopima za koje emo u bazu
podataka upisati samo najosnovnije podatke: veliinu platna i broj sedita. Baza treba da sadri podatke i za one bioskope u kojima jo nije odrana
nijedna projekcija filmova. Filmovi se mogu putati u vie bioskopa.
Pozornice, bioskopi i bine predstavljaju prostore. Prostori se opisuju sa id prostora i nazivom. Svaki prostor mora biti ili pozornica ili biskopi ili bina.
Prostor ima jedan ili vie ulaza, dok svaki ulaz pripada samo jednom prostoru. Ulaz se opisuje sa: id ulaza, pozicijom i kapacitetom. Na ulazima
mogu, jednom ili vie puta, ui samo oni posetioci koji su kupili kartu (redni broj karte i broj dana za koji vai karta). Posetioci kupuju jednu ili vie
karata i tom prilikom ostavljaju podatke: JMBG, ime i prezime. Karte se ne moraju sve prodati, ali kada je rodata, karta vai samo za jednu osobu.
Neke karte je mogue prodati sa povlasticama. Takoe, ne mora svaki posetilac koji je kupio kartu i da ue u neki prostor u kojem se deavaju
pozorine predstave, projekcije filmova ili gde sviraju neki izvoai muzike.
3. PREVOENJE ER
idIzvodjaca
[11
brStudSati
POENA]
idAlbuma
naziv
web
(0,M)
izvodjac
naziv
(1,N)
snimio
album
kontaktTel
(1,N)
(0,N)
(1,N)
brUgovora
imaUgovor
sadrzi
(0,N)
procenat
idPesme
(0,M)
(0,1)
menadzer
svira
termin
(1,N)
izveo
(0,M)
naziv
pesma
trajanje
idMenadzera
redBrNaAlbumu
telefon
ime
prezime
(1,M)
ugovorio
IS_A
(0,1)
koncert
vrstaKoncerta
idKoncerta
nazivKonc
(1,1)
komercijalni
humanitarni
cenaUlaznice
zaUstanovu
datum
vreme
4. NORMALIZACIJA
RELACIONIH EMA
[5
POENA]
Odrediti u kojoj normalnoj formi se nalaze date relacione eme. OBAVEZNO OBRAZLOITI ODGOVOR! Ukoliko je potrebno, prevesti date
relacione eme u 3.NF. U delu zadatka pod a) potrebno je samostalno odrediti funkcionalne zavisnosti, dok su iste u delu pod b) navedene u
zadatku.
a) (3 poena) PESMA (IDPesme, NazivPesme, Trajanje, Kompozitor).
b) (2 poena) KONCERT (IdKoncerta, NazivKoncerta, DatumOdravanja, VremeOdravanja, IzvodjacIme, IzvodjacPrezime)
funkcionalne zavisnosti:
IdKoncerta NazivKoncerta, Datum, Vreme, IzvodjacIme, IzvodjacPrezime
5. DDL UPITI ZA
[13
POENA]
Napisati DDL upite za kreiranje baze podataka pod nazivom PRODAJA_RACUNARA, sa strukturom tabela koja odgovara
relacionom modelu podataka koji se dobija prevoenjem datog ER dijagrama u relacioni model. Prilikom definisanja o granienja
spoljnih kljueva definisati akcije referencijalnog integriteta u sluaju izmene podataka u povezanim tabelama kaskadno i brisanja
restriktivno.
IDKUPCA
DATUMKUPOVINE
TELEFON
(0,M)
SERIJSKIBROJ
NAZIV
(0,N)
(0,N)
KUPAC
SASTOJISE
KOMPONENTA
PRODATA
(0,M)
PREZIME
IME
MESTO
CENA
VRSTA
POPUST
Domeni atributa:
Naziv atributa
Tip podatka
Obavezna
vrednost
Ogranienje
prezime, ime
telefon, mesto
naziv
serijskibroj
idkupca
String
String
String
String
Automatski broja
Max. 20 karaktera
Max. 30 karaktera
Max. 50 karaktera
Max. 30 karaktera
1, 2, 3, , n
da
ne
da
da
da
cena
Novac
da
datumkupovine
popust
Datum
Ceo broj
vrsta
Karakter
6. DML UPITI ZA
[7
da
ne
da
POENA]
}
I={
EMA RELACIJE
PESMA (IDPesme, NazivPesme, Trajanje, Kompozitor)
SE NE NALAZI U 1.NF, POTO ATRIBUT KOMPOZITOR UZIMA VREDNOSTI IZ SKUPA IJI SU ELEMENTI NISU ATOMARNE VREDNOSTI.
1.NF:
PESMA (IDPesme, NazivPesme, Trajanje, KompozitorIme, KompozitorPrezime, SifraKompozitora)
FUNKCIONALNE ZAVISNOSTI:
IDPesme NazivPesme, Trajanje, KompozitorIme, KompozitorPrezime, SifraKompozitora
SifraKompozitora KompozitorIme, KompozitorPrezime
3.NF:
PESMA (IDPesme, NazivPesme, Trajanje, SifraKompozitora)
KOMPOZITOR (SifraKompozitora, KompozitorIme, KompozitorPrezime)
b)
EMA RELACIJE
KONCERT (IdKoncerta, NazivKoncerta, DatumOdravanja, VremeOdravanja, IzvodjacIme, IzvodjacPrezime)
SE NALAZI U 1.NF, POTO SVI ATRIBUTI UZIMAJU VREDNOSTI IZ SKUPA IJI SU ELEMENTI ATOMARNE VREDNOSTI ,
SE NALAZI U 2.NF, POTO SVI NEKLJUNI ATRIBUTI POTPUNO FUNKCIONALNO ZAVISE OD CELOG KLJUA,
SE NALAZI U 3.NF, POTO POSTOJI NE POSTOJI NIJEDNA TRANZITIVNA FUNKCIONALNA ZAVISNOST.
FUNKCIONALNE ZAVISNOSTI:
IdKoncerta NazivKoncerta, Datum, Vreme, IzvodjacIme, IzvodjacPrezime
5. DDL UPITI
CREATE DATABASE PRODAJA_RACUNARA
USE PRODAJA_RACUNARA
CREATE TABLE kupac
(
idkupca int NOT NULL IDENTITY (1, 1) PRIMARY KEY,
ime varchar(20) NOT NULL,
prezime varchar(20) NOT NULL,
telefon archar(30) NULL
)
CREATE TABLE komponenta
(
serijskibroj varchar(30)NOT NULL PRIMARY KEY,
naziv varchar(50) NOT NULL,
vrsta char(20) NOT NULL default Laptop racunar,
cena money NOT NULL,
popust tinyint NULL
)
CREATE TABLE prodata
(
serijskibroj varchar(30) NOT NULL,
idkupca int NOT NULL,
datumkupovine datetime NOT NULL,
mesto varchar(30) NULL
)
CREATE TABLE sastojise
(
b)
update komponenta
set popust=10
where cena>100000
update komponenta
set cena=cena*1,1
where popust=20
c)
delete prodata
where idkupca=1 and serijskibroj=34324-FEW56-812
delete kupac
where prezime='Simic' and ime='Sima'
delete komponenta
where naziv='Laptop raunar Toshiba T-200'