CREATE TABLE Osoba ( id INTEGER NOT NULL, meno VARCHAR(20) NOT NULL, priezvisko VARCHAR(20) NOT NULL, rodcis VARCHAR(11) NOT NULL, adresa VARCHAR(20) NOT NULL PRIMARY KEY(id) );
| id | meno | priezvisko | rodcis | adresa |
| 1 | Bruno | Bruňo | 801231/6541 | Medicka 132 |
| 3 | Rado | Bruňo | 991231/6321 | Medicka 158 |
| 5 | Peter | Mokry | 991221/6329 | Hlavna 158 |
| 6 | Peter | Suchy | 991231/7721 | Trebisovska 15 |
| 7 | Jano | Polosuchy | 451128/8888 | Trapna 23 |
INSERT INTO OSOBA (id,meno,priezvisko,rodcis,adresa)
VALUES(1,'Bruno','Bruňo','801231/6541','Medicka 132');
...
a) SELECT * FROM OSOBA b) SELECT * FROM OSOBA WHERE meno='Peter' c) SELECT * FROM OSOBA ORDER BY priezvisko
UPDATE OSOBA SET adresa = 'Cintorínska 3' WHERE id=6;
DELETE FROM OSOBA WHERE priezvisko='Bruňo'
CREATE TABLE Student ( id INTEGER NOT NULL, datod DATE NOT NULL, datdo DATE PRIMARY KEY(id) ); ALTER TABLE Student ADD CONSTRAINT stud_osoba FOREIGN KEY (id) REFERENCES Osoba ON DELETE CASCADE; CREATE TABLE Ucitel ( id INTEGER NOT NULL, plat LONG , titul VARCHAR(10) , idKatedra INTEGER PRIMARY KEY(id) ); ALTER TABLE Ucitel ADD CONSTRAINT ucit_osoba FOREIGN KEY (id) REFERENCES Osoba ON DELETE CASCADE;
CREATE TABLE Katedra ( id INTEGER NOT NULL, popis VARCHAR(50) , skratka VARCHAR(4) PRIMARY KEY(id) ); DROP TABLE Katedra
CREATE TABLE SkolskyRok ( id INTEGER NOT NULL, popis VARCHAR(20) NOT NULL, skratka VARCHAR(5) NOT NULL PRIMARY KEY(id) ); CREATE TABLE Predmet ( id INTEGER NOT NULL, nazov VARCHAR(20) NOT NULL, kredit INTEGER NOT NULL, skratka VARCHAR(5) NOT NULL, idSkRok INTEGER NOT NULL, idUcitel INTEGER NOT NULL PRIMARY KEY(id) ); ALTER TABLE Predmet ADD CONSTRAINT predmet_skrok FOREIGN KEY (idSkRok) REFERENCES SkolskyRok ON DELETE CASCADE; ALTER TABLE Predmet ADD CONSTRAINT predmet_uc FOREIGN KEY (idUcitel) REFERENCES Ucitel ON DELETE CASCADE; CREATE TABLE StudentPredmet ( idStudent INTEGER NOT NULL, idPredmet INTEGER NOT NULL ); ALTER TABLE StudentPredmet ADD CONSTRAINT sp_st FOREIGN KEY (idStudent) REFERENCES Student ON DELETE CASCADE; ALTER TABLE StudentPredmet ADD CONSTRAINT sp_pr FOREIGN KEY (idPredmet) REFERENCES Predmet ON DELETE CASCADE;
INSERT INTO Skolskyrok VALUES (10,'2000/2001','2000'); INSERT INTO Katedra VALUES(10,'KA','Katedra analýzy'); INSERT INTO Student VALUES(5,'5.9.2000',NULL); INSERT INTO Osoba VALUES(10,'Laco','Maco','740212/9874','Tepla 4'); INSERT INTO Student VALUES(10,'5.9.2000',NULL); INSERT INTO Osoba VALUES(123,'Jozko','Mrkvička','340212/9874','Studena 1'); INSERT INTO Ucitel VALUES(123,120000,'Prof',10); INSERT INTO Predmet VALUES(569,'Pedagogický software','PS',1,10,123); INSERT INTO StudentPredmet VALUES(10,569); INSERT INTO StudentPredmet VALUES(5,569);
SELECT
s.meno,
s.priezvisko
FROM Student s,
StudentPredmet sp,
Predmet p,
Ucitel u
WHERE sp.idPredmet=p.id
AND sp.idStudent=s.id
AND p.idUcitel=u.id
AND p.idSkRok=10
AND u.idKatedra=10
ORDER BY 2,1
| Zadanie úlohy | |||
|---|---|---|---|
| Riešenie úlohy | Rozbor | Body | Celkom |
Úloha číslo 1Vysvetlite pojmy primárny a cudzí kľúč. | |||
|
Primárny kľúč je stĺpec alebo skupina stĺpcov minimálnej dĺžky, ktoré jednoznačne určujú záznam tabuľky. Cudzí kľúč je stĺpec, ktorý je kľúčom do inej tabuľky. | Def. 1 Def. 2 | 1b 1b | 2b |
Úloha číslo 2Popíšte príkaz SELECT, klauzuly FROM , ORDER BY, GROUP BY, WHERE . | |||
| Príkaz select slúži na dolovanie dát z databázy. Klauzula FROM určuje z akej tabuľky sa získavajú dáta Klauzula WHERE slúži na špecifikovanie podmienok výberu alebo väzbových podmienok Klauzula ORDER BY slúži na určenie triedenia získaných dát Klauzula GROUP BY slúži na zoskupenie získaných dát | Popis príkazu SELECT Popis FROM Popis WHERE Popis ORDER BY Popis GROUP BY | 1b 1b 1b 1b 1b | 5b |
Úloha číslo 3Vytvorte tabuľku osoba podľa priloženého dátového modelu | |||
CREATE TABLE Osoba ( id INTEGER NOT NULL, meno VARCHAR(20) NOT NULL, priezvisko VARCHAR(20) NOT NULL, rodcis VARCHAR(11) NOT NULL, adresa VARCHAR(20) NOT NULL PRIMARY KEY(id) ); | Správna syntax Deklarácia primárneho kľúča Deklarovanie stĺpcov | 1b 1b 1b | 3b |
Úloha číslo 4Napíšte príkaz, ktorý vloží do tabuľky Osoba záznam, ktorý popisuje Vašu osobu. Popíšte príkaz INSERT (aj syntax). | |||
INSERT INTO (id,meno,priezvisko, rodcis,adresa) VALUES(45,'Bruno','Hugo','451231/8956','Iskierková 237')Príkaz INSERT slúži na vkladanie dát do databázy. Syntax: INSERT INTO table (zoznam stlpcov) VALUES (zoznam hodnot) table - určje do akej tabuľky vkladáme dáta zoznam stlpcov - čiarkami oddelený zoznam polí tabuľky zoznam hodnôt - čiarkami oddelený zoznam vkládaných dát | príkaz pre vloženie dát popis príkazu INSERT syntax + popis | 1b 1b 3b | 5b |
Úloha číslo 5Napíšte príkaz, ktorý opraví záznam (pod Vaším ID) tabuľky Osoba, ktorý zmení Vašu adresu. Popíšte príkaz UPDATE (aj syntax). | |||
UPDATE Osoba SET adresa='nova adresa' WHERE id=45Syntax: UPDATE tabulka SET stĺpec1=hodnota1,stĺpec2=hodnota2 ... WHERE (podmienka) tabulka - v ktorej tabulke bude zmenený záznam stlpcex - stĺpec z danej tabuľky hodnotax - nová hodnota pre daný stĺpec podmienka - výberová podmienka | príkaz pre opravenie dát popis príkazu UPDATE syntax + popis | 1b 1b 4b | 6b |
Úloha číslo 6Napíšte čo robí príkaz DROP a čo príkaz DELETE. | |||
| Príkaz DROP slúži na zmaznie tabuľky, indexov, databázy... Príkaz DELETE slúži na zmazanie údajov tabuľky. | príkaz DROP príkaz DELETE | 1b 1b | 2b |
| Spolu bodov: | 23b | ||