1/27
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Koja od navedenih SQL naredbi se koristi za promenu definicije šeme tabele?
- CHANGE TABLE
- MODIFY TABLE
- ALTER TABLE
- UPDATE TABLE
ALTER TABLE
Kako najbrže na osnovu postojeće tabele kreirati novu i u nju preneti deo podataka po određenom kriterijumu?
- CREATE TABLE, INSERT INTO ... VALUES
- CREATE TABLE, INSERT INTO ... SELECT ... WHERE
- SELECT ... INTO ... WHERE
- CREATE TABLE ... INTO ... WHERE
SELECT ... INTO ... WHERE
Anomalija izmena znači da se:
- Ažurira jedno ili više pojavljivanje duplih podataka, ali ne i svih duplih podataka
- Ne mogu se izmeniti podaci za neključne atribute dok se ne promeni primarni ključ
- Ne mogu se izmeniti podaci za neključne atribute dok se ne promene podaci za sve strane ključeve
- Ne mogu se izmeniti redovi koji su povezani referencijalnim integritetom
Ažurira jedno ili više pojavljivanje duplih podataka, ali ne i svih duplih podataka
Pokrenut je sledeći skript za kreiranje tabele:
USE TSQL;
GO CREATE TABLE #Promet (ID int PRIMARY KEY, Datum date, Vrednost decimal(10,2)) GO
U kojoj bazi podataka će biti kreirana ova tabela i koja je njena vidljivost?
- Tabela je kreirana u TSQL bazi i vide je svi korisnici
- Tabela je kreirana u TSQL bazi i vidi je samo korisnik koji je kreirao
- Tabela je kreirana u master bazi i vide je samo administratori SQL servera
- Tabela je kreirana u tempdb bazi i vidi je samo korisnik koji je kreirao
Tabela je kreirana u tempdb bazi i vidi je samo korisnik koji je kreirao
U bazi se nalazi tabela Kategorije, koja čuva podatke o svim kategorijama proizvoda koje kompanija prodaje. Šifra kategorije nalazi se u koloni KategorijaID, dok se šifra njene hijerarhijski nadređene kategorije nalazi u koloni Pripada. Potrebno je da se identifikuje neposredna roditeljska kategorija za svaku kategoriju u tabeli. Koju od ponuđenih klauzula treba dodati u napisani upit, kako bi se osiguralo da će biti vraćen spisak svih kategorija, kao i nazivi njihovih roditeljskih kategorija?
SELECT t1.KatNaziv AS Kategorija, t2.KazNaziv AS Pripada FROM Kategorije t1
- RIGHT JOIN Kategorije t2 ON t1.Pripada = t2.KategorijaID
- INNER JOIN Kategorije t2 ON t1.KategorijaID = t2.KategorijaID
- LEFT JOIN Kategorije t2 ON t1.KategorijaID = t2.KategorijaID
- LEFT JOIN Kategorije t2 ON t1.Pripada = t2.KategorijaID
LEFT JOIN Kategorije t2 ON t1.Pripada = t2.KategorijaID
Potrebno je kreirati novu bazu podataka, koja treba da bude prilagođena radu na srpskom jeziku. Nije potrebno praviti razliku između malih i velikih slova. Potrebno je obezbediti da se čuvaju akcenti. Koji od navedenih Collation-a treba izabrati prilikom kreiranja baze?
- Serbian_Latin_100_CI_AI
- serbian_Latin_100_CI_AS
- serbian_Latin_100_BIN
- serbian_Latin_100
serbian_Latin_100_CI_AS
Šta će biti rezultat sledećeg upita:
SELECT DISTINCT Drzava, Grad FROM Zemlje;
- Upit će raditi ispravno i samo će Drzava biti pod DISTINCT klauzulom, a ne i Grad
- Upit će raditi ispravno i vratiće samo države i gradove različitog naziva u istoj državi, jer se DISTINCT odnosi na različite kolone
- Vratiće sve moguće kombinacije naziva gradova i država
- Greška, jer nije moguće imati dve ili više kolona posle klauzule DISTINCT
- Vratiće sve moguće kombinacije naziva gradova i država
Potrebno je napisati SQL upit koji će vratiti 10 kupaca koji su napravili najveći promet za 2020. Godinu. Tabela u kojoj se nalaze podaci zove se PrometKupaca i ima sledeće kolone: NazivKupca, Promet, DatumPrometa. U rezultatu upita treba prikazati kolone NazivKupca i Promet. Koji upit će vratiti tražene podatke:
- SELECT TOP (10) NazivKupca, Promet FROM PrometKupaca WHERE YEAR(DatumPrometa) = 2020 ORDER BY Promet DESC
- SELECT TOP (10) NazivKupca, Promet FROM PrometKupaca WHERE YEAR(DatumPrometa) = 2020 ORDER BY Promet ASC
- SELECT FIRST (10) NazivKupca, Promet FROM PrometKupaca WHERE YEAR(DatumPrometa) = 2020 ORDER BY Promet ASC
- SELECT MAX (10) NazivKupca, Promet FROM PrometKupaca WHERE YEAR(DatumPrometa) = 2020 ORDER BY Promet DESC
SELECT TOP (10) NazivKupca, Promet FROM PrometKupaca WHERE YEAR(DatumPrometa) = 2020 ORDER BY Promet DESC
SQL SERVER 2019 koristi standardnu konvenciju, za referenciranje objekata, koja se sastoji od 4 dela. Koji od navedenih predstavlja ispravan primer korišćenja konvencija ta referenciranje objekata?
- Database_name.schema_name.object_name.server_name
- Schema_name.database_name.schema_name.object_name
- Server_name.database_name.schema_name.object_name
- Object_name.schema_name.database_name.server_name
Server_name.database_name.schema_name.object_name
Koji od navedenih upita briše sve redove u tabeli, ali zadržava strukturu (šemu) tabele?
- DROP TABLE Zaposleni
- DELETE FROM Zaposleni WHERE odeljenje = "HR"
- DELETE FROM Zaposleni WHERE zarada BETWEEN 130000 AND 150000
- DELETE FROM Zaposleni
DELETE FROM Zaposleni
SQL funkcija IFNULL vraća vrednost prvog od dva izraza, koji nije NULL. Kako bi se moglo na drugi način napisati IFNULL(expr1, expr2)?
- CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END
- CASE WHEN expr2 = NULL THEN expr1 ELSE expr2 END
- CASE WHEN expr1 != NULL THEN expr1 ELSE expr2 END
- CASE WHEN expr2 IS NULL THEN expr2 ELSE expr1 END
CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END
Employees tabela sadrži sledeće kolone: empid, name, managerid, i sledeće redove:
empid name managerid
a1 Ana NULL
b1 Petar A1
b2 Marija A1
Koju vrednost će vratiti naredba SELECT COUNT(managerid) FROM employees?
- 1
- 2
- 3
- NULL
2
Šta če biti rezultat upita SELECT 5 + '5'
- Ništa, desiče se greška
- 10
- 55
10
Potrebno je u tabelu Customer dodati CHECK ograničenje, koje će obezbediti sledeće: - limit za kredit mora biti 0 ukoliko kupac nije verifikovan- limit za kredit mora biti manji od 10000 ako je kupac verifikovanKoji od navedenih ograničenja možete koristiti?
- CHECK (Limit BETWEEN 1 and 10000)
- CHECK (Verify = 1 AND Limit BETWEEN 1 AND 10000
- CHECK ((Limit = 0 AND Verify = 0) OR (Verify = 1 AND Limit BETWEEN 1 AND 10000))
- CHECK ((Limit = 0 AND Verify = 0) AND (Verify = 1 AND Limit BETWEEN 1 AND 10000))
CHECK ((Limit = 0 AND Verify = 0) OR (Verify = 1 AND Limit BETWEEN 1 AND 10000))
Maloprodajna kompanija koristi bazu podataka da čuva podatke o svom poslovanju. Kompanija prosečno obavi 56,000 transakcija svakog dana. Aplikacija zahteva klasterovani indeks nad RacunID kolonom. Potrebno je da se obezbedi efikasna podrška za izveštavanje, koje će obrađivati kompanijske transakcije po datumu. Šta je potrebno da se uradi da bi se ostvario taj cilj?
- Kreirati neklasterovani indeks nad kolonom datum
- Kreirati jedinstveni (unique) neklasterovani indeks nad kolonom datum
- Kreirati jedinstveni (unique) klasterovani indeks nad kolonom datum
- Dodati unique key ograničenje nad kolonom datum
Kreirati neklasterovani indeks nad kolonom datum
Prilikom pokušaja konekcije, SQL Server 2012 prijavio je grešku "Login failed for user "Marica". Koji je razlog ove greške?
- Login je kreiran korišćenjem uglastih zagrada.
- Ne postoji login Marica na SQL serveru.
- Nije dato pravo korisniku Marica da pristupi određenoj bazi podataka.
- Definisan je samo SQL server sigurnosni mod za pristup SQL serveru.
Ne postoji login Marica na SQL serveru.
Problem nepotvrđenih promena ("prljavo čitanje") u BP nastaje:
- Kada transakcija 2 čita (menja) podatak, a transakcija 1 ažurira isti podatak a još nije izdata potvrda
- Kada se izvršavaju dve ili više transakcija
- Kada transakcije nisu započele da se izvršavaju naredbom BEGIN TRANSACTION
- Kada se transakcija 1 i transakcija 2 završe naredbom ROLLBACK
Kada transakcija 2 čita (menja) podatak, a transakcija 1 ažurira isti podatak a još nije izdata potvrda
Mrtvi čvor (deadlock) u izvršavanju dve transakcije nastaje:
- Kada se baza podataka dovede u nekonzistentno stanje
- Kada se transakcija završi ROLLBACK-om
- Kada se transakcija završi sa COMMIT, a rezultati promena nisu bili dobri
- Kada obe transakcije čekaju da ona druga oslobodi objekat
Kada obe transakcije čekaju da ona druga oslobodi objekat
Ukoliko se menja jedan red u tabeli Production.Products, za koju je kreiran UPDATE trigger, šta će se desiti kada počne izvršavanje trigera?
- Podaci o proizvodu, koji se menja, nalaze se u inserted i Production.Products tabelama
- Podaci o proizvodu, koji se menja, nalaze se u inserted tabeli
- Podaci o proizvodu, koji se menja, nalaze se u Production.Products tabeli
- Podaci o proizvodu, koji se menja, nalaze se u inserted i deleted tabelama
Podaci o proizvodu, koji se menja, nalaze se u inserted i deleted tabelama
Kreirana je procedura, koja treba da briše podatke iz tabele Contact. Procedura uključuje sledeću SQL naredbu za upravljanje greškama, koje se mogu desiti.
BEGIN TRY
BEGIN TRANSACTION
DELETE FROM Person.Contact WHERE ContactID = @ContactID
...
COMMIT TRANSACTION
END TRY
BEGIN CATCH
SELECT ERROR_NUMBER() AS Broj_greske, ERROR_MESSAGE() AS poruka
END CATCH
Šta je potrebno da se uradi, kako bi procedura mogla ispravno da upravlja transakcijama?
- Dodati COMMIT TRANSACTION naredbu u CATCH bloku
- Dodati ROLLBACK TRANSACTION naredbu u CATCH blok
- Dodati COMMIT TRANSACTION naredbu ispod CATCH bloka
- Dodati ROLLBACK TRANSACTION naredbu ispod CATCH bloka
- Dodati ROLLBACK TRANSACTION naredbu u TRY blok
- Ukloniti COMMIT TRANSACTION naredbu iz TRY bloka
Dodati ROLLBACK TRANSACTION naredbu u CATCH blok
Prilikom izvršavanja T-SQL naredbeSELECT Name, ProductNumber FROM Production.Products;SQL Server vratio je poruku:"MSG 208, Level 16, State 1, Line 1 Invalid object name "Production.Products"Koji od navedenih razloga je mogući uzrok ove poruke?
- Sintaksno je neispravno napisana T-SQL naredba
- Tabela Products ne postoji u bazi podataka TSQL
- Tabela Products ne postoji u aktivnoj bazi podataka
- Tabela Products ne pripada šemi Production
- Tabela Products ne postoji u aktivnoj bazi podataka ← Prva opcija
- Tabela Products ne pripada šemi Production ← Druga opcija
Rezultatima dva upita, koji predstavljaju dva skupa podataka, može se dalje manipulisati. Koji SET operator treba da se koristi, kako bi se vratili zajednički redovi iz navedenih SELECT naredbi?
SELECT kontaktID, prezime, ime
FROM kontakti
WHERE ime <> "Milan"
???
SELECT kupacID, prezime, ime
FROM kupci
WHERE kupacID >= 33
- UNION ALL
- UNION
- INTERSECT
- EXCEPT / MINUS
INTERSECT
Podaci o kupcima se importuju u tabelu Sales.Customers svake noći. Potrebno je da se obezbedi sledeće:- ukoliko kupac već postoji u tabeli Sales.Customers, promeniti podatke o kupcu- ukoliko podaci o određenom kupcu ne postoje, potrebno je da se podaci ubace u tabelu Sales.CustomersKoju vrstu trigera je potrebno kreirati kako bi se zadovoljili prethodno navedeni zahtevi?
- Kreirati FOR trigger
- Kreirati AFTER trigger
- Kreirati INSTEAD OF trigger
- Kreirati DDL trigger
Kreirati INSTEAD OF trigger
Ako se radi o ugnježdenim transakcijama, za ROLLBACK važi sledeće:
- Zahteva se ROLLBACK na svim nivoima transakcije (do najdubljeg ugnježdenog mesta)
- Dovoljno je da se pojavi samo na jednom mestu, pa da ponište promene svih ugnježdenih transakcija
- Postavlja se samo jednom i to kod najviše transakcije (u koju su ostale ugnježdene)
- Može da prihvati neke promene, a samo pojedine transakcije se poništavaju
Dovoljno je da se pojavi samo na jednom mestu, pa da ponište promene svih ugnježdenih transakcija
Koja od navedenih ograničenja se koriste da obezbede integritet entiteta (jedinstvenost redova) u tabeli? (odaberite 2)
- DEFAULT ograničenje
- NOT NULL ograničenje
- PRIMARY KEY ograničenje
- FOREIGN KEY ograničenje
- UNIQUE KEY ograničenje
- IDENTITY kolone
- CHECK ograničenje
PRIMARY KEY ograničenje
UNIQUE KEY ograničenje
Zbog kojih atributa data relacija Student
(StudentID, Ime, Telefon, GodinaRodjenja, Starost, Predmet, NazivPredmeta)
ne zadovoljava kriterijume 3NF? (odaberite 2)
- StudentID, Ime
- Predmet, NazivPredmeta
- StudentID, Telefon
- Telefon, Smer
- GodinaRodjenja, Starost
Predmet, NazivPredmeta
GodinaRodjenja, Starost
Rezervne kopije baze podataka se prave sledećim redosledom:Full database backup kreira se svake subote u 22hDifferential backup-ovi kreiraju se u: ponedelja, utorak, četvrtak i petak u 22hLog backup-i se prave na sat vremena u periodu od 9h do 18hUkoliko se otkaz desio u četvrtak u 10:30h, koji redosled vraćanja podataka je potrebno slediti?
- Vratiti full database backup koji je kreiran posle subote u 22h
- Vratiti diferencijalne kopije koje su kreirane u ponedeljak i utorak u 22h
- Vratiti log backupove koji su kreirani u četvrtak između 9 i 10:30
Za date tabele tabelaX i tabelaY, odrediti rezultat izvršavanja upita:
SELECT Xvrednost, Yvrednost FROM tabelaX X RIGHT OUTER JOIN tabelaY Y ON X.XID = Y.YID;
tabelaX tabelaY
XID Xvrednost YID Yvrednost XID
1 X1 1 Y1 1
2 X2 2 Y2 2
3 X3 3 Y3
Xvrednost Yvrednost
X1 Y1
X2 Y2
NULL Y3