Vprašanja

Sobesedilno izpolnjevanje
Dopolnite stavek.
Kratica SQL pomeni JXUwMDBiJXUwMDI3JXUwMDA2JXUwMDA3JXUwMDE2JXUwMDE3JXUwMDAxJXUwMDA3JXUwMDE3JXUw MDAx JXUwMDA5JXUwMDI0JXUwMDEwJXUwMDE3JXUwMDBi JXUwMDE0JXUwMDJkJXUwMDBmJXUwMDA5JXUwMDEyJXUwMDE0JXUwMDA2JXUwMDAy .

Sobesedilno izpolnjevanje
Dopolnite odgovor.
Predpostavimo, da obstaja tabela Delavec(DelavecID,Priimek,Ime,Oddelek,Placa). Kaj manjka naslednjem stavku SQL, da bi izpisal število delavcev po oddelkih? SELECT COUNT (DelavecID) From Delavec; Odgovor: JXUwMDFmJXUwMDM1JXUwMDFkJXUwMDFhJXUwMDA1 JXUwMDFhJXUwMDNi JXUwMDE3JXUwMDJiJXUwMDAwJXUwMDAxJXUwMDA5JXUwMDA5JXUwMDBl ;

Sobesedilno izpolnjevanje
Dopolnite stavek.
Če želimo po izvedbi stavka SELECT iz odgovora odstraniti (morebitne) podvojene vrstice, uporabimo gradnik JXUwMDFjJXUwMDBkJXUwMDFhJXUwMDA3JXUwMDFkJXUwMDA3JXUwMDBkJXUwMDE3 .

Sobesedilno izpolnjevanje
Dolopnite stavek - vpišite le kratico.
Za izvedbo SQL stavkov skrbi JXUwMDBiJXUwMDA2JXUwMDA1JXUwMDEy .

Več izbirna vprašanja
SQL omogoča uporabo različnih funkcij za agregacijo podatkov. Katera od navedenih funkcij ne sodi med v funkcije za agregacijo podatkov?

| MIN
| MAX
| COUNT
| ABS
| AVG

Narobe
Narobe
Narobe
Pravilno
Narobe
V tabeli Oseba imamo atribute EMSO, Priimek, Ime, Telefon in Opis. Atribut EMSO je primarni ključ tabele, atribut Opis je opcijski podatek, ostali atributi pa so zahtevani podatki. V tabeli imamo zapis ('1505999500300','Matej','Koren','01555555','bister'). S katerim stavkom SQL lahko vrednost atributa Opis pri omenjeni osebi nastavimo na NULL?

| SELECT
| DELETE
| UPDATE
| INSERT
| Z nobenim od navedenih stavkov.

Narobe
Narobe
Pravilno
Narobe
Narobe
V tabeli Oseba imamo atribute EMSO, Priimek, Ime, Telefon in Opis. Atribut EMSO je primarni ključ tabele, vsi ostali atributi so zahtevani podatki. V tabeli imamo zapis ('1505999500300','Matej','Koren','01555555','bister'). S katerim stavkom SQL lahko vrednost atributa Opis pri omenjeni osebi nastavimo na NULL?

| SELECT
| INSERT
| DELETE
| UPDATE
| Z nobenim od navedenih stavkov.

Narobe
Narobe
Narobe
Narobe
Vsi atributi so zahtevani podatki, zato SUPB prepreči, da pride do neveljavnega stanja (vnos vrednosti NULL v obvezne podatke).
Katera trditev velja za stavek DELETE v podatkovni bazi, v kateri so uporabljeni tuji ključi?

| En stavek DELETE lahko izbriše eno ali več vrstic le ene tabele.
| En stavek DELETE stavek lahko izbriše le eno vrstico ene tabele.
| En stavek DELETE lahko izbriše eno ali več vrstic več tabel.
| En stavek DELETE stavek lahko izbriše le eno vrstico v več tabel.
| Vse trditve so pravilne.

Narobe
Narobe
Pravilno
Narobe
Narobe
Katera trditev velja za stavek DELETE v podatkovni bazi, v kateri niso uporabljeni tuji ključi?

| En stavek DELETE lahko izbriše eno ali več vrstic le ene tabele.
| En stavek DELETE stavek lahko izbriše le eno vrstico ene tabele.
| En stavek DELETE lahko izbriše eno ali več vrstic več tabel.
| En stavek DELETE stavek lahko izbriše le eno vrstico v več tabel.
| Vse trditve so pravilne.

Pravilno
Narobe
Narobe
Narobe
Narobe
Multi-select
Kateri način povezovanja tabel bo v odgovoru prikazal vse vrstice prve in vse vrstice druge tabele?

| LEFT OUTER JOIN …. UNION … RIGHT OUTER JOIN ….
| INNER JOIN
| RIGHT OUTER JOIN
| FULL OUTER JOIN
| LEFT OUTER JOIN

Razglabljanje

Zapišite stavek SQL, ki naredi tablo Oseba(OsebaID:N,Priimek:A20,Ime:A10).

Zapišite stavek SQL, ki naredi tabelo Test(TestID:N,Datum:D).

CREATE TABLE Oseba(

OsebaID integer NOT NULL,

Priimek char(20) NOT NULL,

Ime char(10) NOT NULL,

Primary Key (OsebaID));

CREATE TABLE Test(

TestID integer NOT NULL,

Datum DATE NOT NULL,

Primary Key (TestID));

Razglabljanje

Zapišite stavek SQL, ki spremeni tabelo Oseba v (OsebaID:N,Priimek:A20,Ime:A10,TestID→Test). Povezava med tabelami naj deluje tako, da prepreči bodisi brisanje ali spreminjanje testa, dokler le ta ima ustrezne zapise v tabeli Oseba.

Napišite stavek SQL, ki spremeni tabelo Test v (TestID:N,Datum:D,Odgovornio:A20)

ALTER TABLE Oseba ADD Foreign Key (TestID) REFERENCES Test (TestID) ON UPDATE no action ON DELETE no action;

ALTER TABLE Test ADD Odgovorni char(20);

Razglabljanje

Zapišite stavek SQL, ki za tabelo Oseba naredi sekundarni indeks po priimkih.

Zapišite stavka SQL, ki izbrišeta obe tabeli (pazite na vrstni red stavkov).

CREATE INDEX po_priimkih On Oseba (Priimek);

DROP TABLE Oseba; /* najprej biršemo tabele, ki imajo tuje ključe */

DROP TABLE Test; /* zadnjo brišemo starševsko tabelo */

Več izbirna vprašanja
Stavki jezika SQL omogočajo opisovanje sheme podatkovne baze in manipuliranje s stanjem podatkovne baze.

| DA
| NE

Pravilno
Narobe
SQL je trenutno najbolj uporabljan poizvedovalni jezik za delo z relacijskimi podatkovnimi bazami.

| DA
| NE

Pravilno
Narobe
Stavek SELECT vedno odstrani vse podvojene vrstice odgovora.

| DA
| NE

Narobe
Pravilno
Vsi SUPB za delo z relacijskimi PB imajo implementirane vse zmožnosti jezika SQL.

| DA
| NE

Narobe
Pravilno
Fizično PB implementiramo s pomočjo skript, v katerih je zapisano zaporedje SQL DDL stavkov.

| DA
| NE

Pravilno
Narobe
Če poznamo in uporabljamo stavke jezika SQL, potem za delo s PB ne potrebujemo SUPB.

| DA
| NE

Narobe
Pravilno
Stavek SELECT omogoča izpisovanje vrednosti aritmetičnih izrazov in rezultatov funkcij.

| DA
| NE

Pravilno
Narobe
Stavek INSERT ne omogoča neposredno prestavljanje podatkov (izreži | prilepi) iz ene tabele v drugo.

| DA
| NE

Pravilno
Narobe
Izvedba stavka SELECT lahko pripelje do nelegalnega stanja PB.

| DA
| NE

Narobe
Pravilno
Pogoje, ki se nanašajo na vrednost agregirane funkcije, zapišemo v WHERE odseku stavka SELECT.

| DA
| NE

Narobe
Pravilno
Stavek SELECT vedno razvrsti podatke po vrednosti prvega navedenega atributa.

| DA
| NE

Narobe
Pravilno
Pri povezovanju tabel v pogojih lahko primerjamo le enako imenovane atribute različnih tabel.

| DA
| NE

Narobe
Pravilno
Utrjevanje stavkov SQL DML

Podatkovno bazo sestavljajo relacije:

- Igralec (IgralecID:N, Priimek:A20, Ime:A10, Starost:N, Spol:A1, Naslov:A30, Kraj:A20, Telefono:A12)
- Film (FilmID:N, ImeFilma:A40, Datum:D, Reziser:A30, Dobicek:N, Zvrst:A10)
- Vloga(IgralecID:N-->Igralec, FilmID:N-->Film, ImeVloge:A20, Placa:N)

Zapišite stavek SQL stavek, ki

a) izpiše abecedni seznam igralcev mlajših od 30 let.

b) izpiše abecedni seznam igralcev iz Ljubljane, Trsta, Zagreba in Londona.

c) izpiše za koliko igralcev nimamo vpisane telefonske številke.

d) izpiše abecedni seznam filmov, posnetih leta 2004, katerih dobiček je med 100000 in 200000 €.

e) izpiše imena filmov, v katerih so bile vse vloge plačane.

f) izpiše ime najnovejšega filma.

g) za vsak film izpiše njegovo ime, najvišjo, najmanjšo in povprečno plačo za vlogo v filmu.

h) izpiše imena igralcev, ki še niso dobili nobene vloge.

i) za vsakega igralca izpiše število filmov, v katerih je dobil neko vlogo.

j) Izpiše imena filmov, za katere nimamo vseh podatkov o plačah igralcev.

k) izpiše priimek in ime igralca, ki je v filmu Amadeus igral vlogo Salieri.

l) izpiše koliko denarja je zaslužil Robert Redford.

m) i zpiše imena filmov, v katerih so nastopali le igralci iz Ljubljane.

n) izpiše priimke in imena igralcev, ki so nastopali v filmu, ki je imel največji dobiček.

o) izpiše imena filmov, v katerih je nastopalo od 5 do 14 igralcev.

p) izpiše imena filmov, v katerih so nastopale le igralke.

q) izpiše imena filmov, v katerih ni nastopal noben igralec.

r) izpiše priimke in imena igralcev, ki so nastopali v obeh filmih: 'Kekec' in 'Vesna'.

s) izpiše p riimke in imena igralcev, ki so nastopali v vseh filmih.

t) izpiše priimke in imena igralcev, ki so nastopali v filmu, ki je imel nadpovprečni dobiček.

Nekaj odgovorov:

d) SELECT ImeFilma FROM Film WHERE ( EXTRACT(Year FORM Datum) = 2004) AND Dobicek BETWEEN (100000 and 200000);

h) SELECT I.Priimek, I.Ime FROM Igralec I WHERE NOT I.IgralecID IN (SELECT Vloga.IgralecID FROM VLOGA);

j) SELECT SUM(V.Placa) From Vloga V, Igralec I WHERE (I.IgralecID=V.IgralecID) AND (I.Priimek = 'Redford') AND (I.Ime='Robert');

o) SELECT F.FilmID,F.ImeFilma FROM Film F, Vloga V WHERE (F.FilmID=V.FilmID) HAVING COUNT(V.IgralecID) BETWEEN 5 AND 14 GROUP BY F.FilmID,F.ImeFilma;