Užduočių lapas tema Duomenų bazės ir SQL su atsakymais

Nemokamas spausdinamas užduočių lapas tema Duomenų bazės ir SQL: 8 uždavinių nuo lengvų iki egzamino lygio, su atsakymais. Atsispausdinkite arba išsaugokite kaip PDF.

Mokytojams: galima nemokamai spausdinti, kopijuoti ir naudoti per pamokas. Kiekvienas naujas lapas turi naujas reikšmes ir savo atsakymų raktą. Būsime dėkingi už nuorodą į ExamProblems jūsų kurso puslapyje.

Vardas: ____________________   Data: ____________

1.Lengvas

Kuris SQL sakinys išrenka duomenis iš lentelės?

  1. AUPDATE
  2. BCREATE
  3. CSELECT
  4. DINSERT
2.Lengvas

Ką transakcijoje atlieka COMMIT?

  1. ASukuria naują lentelę
  2. BAtšaukia visus pakeitimus, padarytus nuo transakcijos pradžios
  3. CUžrakina visą duomenų bazę
  4. DVisus transakcijos pakeitimus padaro nuolatinius
3.Lengvas

Klientas gali pateikti daug užsakymų, bet kiekvienas užsakymas priklauso lygiai vienam klientui. Koks tai ryšys?

  1. AVienas su daugeliu
  2. BNulis su nuliu
  3. CVienas su vienu
  4. DDaugelis su daugeliu
4.Vidutinis

Kas yra „nešvarus“ skaitymas (dirty read)?

  1. ADuomenų skaitymas iš sugadinto disko
  2. BDuomenų skaitymas be WHERE sąlygos
  3. CTos pačios eilutės skaitymas dukart gaunant tą pačią reikšmę
  4. DDuomenų, kuriuos įrašė dar nepatvirtinta kita transakcija, skaitymas
5.Vidutinis

Kuri užklausa grąžina didžiausią atlyginimą kiekviename skyriuje?

  1. ASELECT MAX(dept), salary FROM emp GROUP BY salary
  2. BSELECT dept, salary FROM emp WHERE salary = MAX(salary)
  3. CSELECT dept, MAX(salary) FROM emp GROUP BY dept
  4. DSELECT dept, MAX(salary) FROM emp ORDER BY dept
6.Vidutinis

Kuri užklausa išvardija klientus, kurie niekada nepateikė užsakymo?

  1. ASELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
7.Sunkus

Kada lygiagrečių transakcijų tvarkaraštis vadinamas serializuojamu?

  1. AKai kiekvienai transakcijai suteikiamas serijos numeris
  2. BKai jokia transakcija niekada neskaito duomenų
  3. CKai jo poveikis lygiavertis kuriam nors tų pačių transakcijų nuosekliam vykdymui
  4. DKai transakcijos vykdomos tik viename procesoriuje
8.Sunkus

Užklausa FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' netikėtai praranda klientus be užsakymų. Kodėl?

  1. ASujungimui reikėtų naudoti USING, o ne ON
  2. BLEFT JOIN niekada nepalieka nesutampančių eilučių
  3. CWHERE sąlyga o lentelei atmeta NULL reikšmėmis užpildytas eilutes ir paverčia sujungimą vidiniu
  4. Dstatus yra rezervuotas žodis

Atsakymai

  1. 1. C · SELECT
  2. 2. D · Visus transakcijos pakeitimus padaro nuolatinius
  3. 3. A · Vienas su daugeliu
  4. 4. D · Duomenų, kuriuos įrašė dar nepatvirtinta kita transakcija, skaitymas
  5. 5. C · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  6. 6. C · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. C · Kai jo poveikis lygiavertis kuriam nors tų pačių transakcijų nuosekliam vykdymui
  8. 8. C · WHERE sąlyga o lentelei atmeta NULL reikšmėmis užpildytas eilutes ir paverčia sujungimą vidiniu

Išsamūs sprendimai žingsnis po žingsnio: praktikuokite šią temą svetainėje examproblems.com.