ivan40404
Član broj: 6654 Poruke: 2 *.net.hinet.hr
|
-Molim vas ako se razumijete u baze podataka da nam pomognete rijesiti...
Na dnu su zadane tablice pomoću kojih treba rijesiti ove zadatke.
Pliz pomagajte.........hitno
ZADANO:
1. Ispisati šifru, ime i prezime za nastavnike koji stanuju u Dubrovačko-neretvanskoj županiji i imaju veći koeficijent za plaću od barem jednog nastavnika koji stanuje u Splitsko-dalmatinskoj županiji
2. Ispisati matične brojeve, imena i prezimena studenata koji su položili ispit iz nekog predmeta kojeg niti jedan drugi student nije položio
3. Zadane su relacije r1, r2 i r3 sa shemama R1 (A, B, C), R2 (D, E) i R3 (B, C, D, E). Ključ svake relacije sastavljen je od svih atributa te relacije. Sadržaj svake relacije prikazan je pomoću ASCII 'unload' datoteke
r1
a#b#c#
a#d#k#
a#e#m#
a#m#k#
r2
5#f#
7#g#
11#e#
11#g#
r3
b#c#5#f#
m#k#7#g#
m#n#9#e#
m#k#11#g#
Za pripremu treba napisati rezultat obavljanja svakog od sljedećih zadataka, a zatim za svaki zadatak napisati po jednu SELECT naredbu kojom će se obaviti zadana operacija. U laboratoriju kreirati relacije r1, r2 i r3, napuniti ih podacima i testirati pripremljene SELECT naredbe
a) pB, C (r1) Ç pB, C (r3)
b) pB (r1) \ pB (r3)
c) pE (r2 >< r3) \ pE (s D > 7 (r3) )
d) (r1 ´ r2) \ (r1 >< r3)
e) s B>'d' Ù ù (C = 'm') ( pB, C (r1)) Ç pB, C (r2 >< r3)
-TREBALO BI IZGLEDAT OVAKO:
1.sifnastavnik imenastavnik preznastavnik
146 Franjo Vidaković
150 Ana Kukec
195 Lovre Đeri
236 Robert Pavlović
2.
mbrstud imestud prezstud
1127 Dario Risek
1172 Ninoslav Novak
1140 Davor Vurnek
1145 Jurica Bašić
1230 Predrag Buljat
1152 Božidar Tomić
1153 Josip Dukić
1133 Darko Cindrić
1159 Katarina Dobrina
3. Rezultati dobiveni SQL upitima iz ovog zadatka moraju odgovarati Vašim rješenjima
(rezultati obavljanja operacija) koje ste napisali u pripremama.
TABLICE POTREBNE ZA RJEŠAVANJE :
SQL naredbe za kreiranje probne baze podataka
CREATE TABLE zupanija
( sifZupanija SMALLINT NOT NULL
, nazZupanija NCHAR(40) NOT NULL
);
CREATE DISTINCT INDEX zupanijaUnique ON zupanija (sifZupanija);
CREATE TABLE mjesto
( pbr INTEGER NOT NULL
, nazMjesto NCHAR(40) NOT NULL
, sifZupanija SMALLINT
);
CREATE DISTINCT INDEX mjestoPbr ON mjesto (pbr);
CREATE INDEX mjestoUnique ON mjesto (nazMjesto);
CREATE TABLE stud
( mbrStud INTEGER NOT NULL
, imeStud NCHAR(25) NOT NULL
, prezStud NCHAR(25) NOT NULL
, pbrRod INTEGER
, pbrStan INTEGER NOT NULL
, datRodStud DATE
, jmbgStud CHAR(13)
);
CREATE DISTINCT INDEX studUnique ON stud (mbrStud);
CREATE TABLE orgjed
( sifOrgjed INTEGER NOT NULL
, nazOrgjed NCHAR(60) NOT NULL
, sifNadorgjed INTEGER
);
CREATE DISTINCT INDEX orgjedUnique ON orgjed (sifOrgjed);
CREATE TABLE nastavnik
( sifNastavnik INTEGER NOT NULL
, imeNastavnik NCHAR(25) NOT NULL
, prezNastavnik NCHAR(25) NOT NULL
, pbrStan INTEGER NOT NULL
, sifOrgjed INTEGER NOT NULL
, koef DECIMAL(3,2) NOT NULL
);
CREATE DISTINCT INDEX nastavnikUnique ON nastavnik (sifNastavnik);
CREATE TABLE pred
( sifPred INTEGER NOT NULL
, kratPred CHAR(8)
, nazPred NCHAR(60) NOT NULL
, sifOrgjed INTEGER
, upisanoStud INTEGER
, brojSatiTjedno INTEGER
);
CREATE DISTINCT INDEX predUnique ON pred (sifPred);
CREATE TABLE ispit
( mbrStud INTEGER NOT NULL
, sifPred INTEGER NOT NULL
, sifNastavnik INTEGER NOT NULL
, datIspit DATE NOT NULL
, ocjena SMALLINT DEFAULT 1 NOT NULL
);
CREATE DISTINCT INDEX ispitUnique ON ispit (mbrStud, sifPred, datIspit);
CREATE TABLE dvorana
( oznDvorana CHAR(5) NOT NULL
, kapacitet INTEGER DEFAULT 40
);
CREATE DISTINCT INDEX dvoranaUnique ON dvorana (oznDvorana);
CREATE TABLE rezervacija
( oznDvorana CHAR(5) NOT NULL
, oznVrstaDan CHAR(2) NOT NULL
, sat SMALLINT NOT NULL
, sifPred INTEGER NOT NULL
);
CREATE DISTINCT INDEX rezervacijaUnique
ON rezervacija (oznDvorana, oznVrstaDan, sat);
|