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

Kas yra pirminis raktas (primary key)?

  1. AStulpelis, kuriame gali būti pasikartojančių reikšmių, bet niekada negali būti NULL
  2. BStulpelis arba stulpelių rinkinys, vienareikšmiškai identifikuojantis kiekvieną eilutę
  3. CDuomenų bazės slaptažodis
  4. DPirmasis kiekvienos lentelės stulpelis
2.Lengvas

Kas yra kandidatinis raktas?

  1. ABet kuris stulpelis su NULL reikšmėmis
  2. BStulpelis, laukiantis, kol taps išoriniu raktu
  3. CDviem lentelėms bendras stulpelių rinkinys jų eilutėms susieti
  4. DMinimalus stulpelių rinkinys, vienareikšmiškai identifikuojantis kiekvieną eilutę
3.Lengvas

Ką grąžina CROSS JOIN?

  1. ATik eilutes, kurios sutampa pagal bendrą rakto stulpelį
  2. BTik pirmosios lentelės eilutes
  3. CTik nesutampančias eilutes
  4. DKiekvieną dviejų lentelių eilučių derinį
4.Vidutinis

LEFT JOIN grąžina:

  1. AEilutes, neturinčias atitikmens nė vienoje lentelėje
  2. BTik visas dešiniosios lentelės eilutes
  3. CVisas kairiosios lentelės eilutes ir atitinkančias dešiniosios lentelės eilutes, o ten, kur atitikmens nėra, – NULL
  4. DTik atitinkančias abiejų lentelių eilutes
5.Vidutinis

Kuris teiginys apie HAVING yra teisingas?

  1. AJame galima naudoti agregavimo funkcijas grupėms filtruoti
  2. BJis rikiuoja rezultatus
  3. CJo negalima naudoti su GROUP BY
  4. DJis SELECT sakinyje turi būti prieš WHERE
6.Vidutinis

Studentai gali lankyti daug kursų, o kursus lanko daug studentų. Kaip tai modeliuojama lentelėmis?

  1. AIšoriniu raktu course_id studentų lentelėje, nurodančiu į kursus
  2. BSujungiant studentus ir kursus į vieną lentelę
  3. CVienu stulpeliu, saugančiu kursų id sąrašą
  4. DTarpine lentele, laikančia išorinius raktus ir į studentus, ir į kursus
7.Sunkus

Lentelėje yra milijonas eilučių, o loginio tipo stulpelis is_active 95% iš jų yra TRUE. Kodėl optimizatorius užklausai WHERE is_active = TRUE gali nenaudoti is_active indekso?

  1. AIndeksas TRUE traktuoja kaip NULL
  2. BAtitinka dauguma eilučių, todėl visos lentelės peržiūra pigesnė nei daugybė paieškų indekse
  3. COptimizatorius WHERE sąlygose niekada nenaudoja indeksų
  4. DLoginio tipo stulpeliams indeksų sukurti negalima
8.Sunkus

Koreliuotoji papildoma užklausa (correlated subquery) yra tokia, kuri:

  1. AVykdoma tik vieną kartą prieš išorinę užklausą, o jos rezultatas išsaugomas visoms eilutėms
  2. BNaudoja tik agregavimo funkcijas
  3. CSujungia dvi lenteles išoriniu raktu
  4. DNaudoja išorinės užklausos stulpelius ir vertinama kiekvienai išorinės užklausos eilutei

Atsakymai

  1. 1. B · Stulpelis arba stulpelių rinkinys, vienareikšmiškai identifikuojantis kiekvieną eilutę
  2. 2. D · Minimalus stulpelių rinkinys, vienareikšmiškai identifikuojantis kiekvieną eilutę
  3. 3. D · Kiekvieną dviejų lentelių eilučių derinį
  4. 4. C · Visas kairiosios lentelės eilutes ir atitinkančias dešiniosios lentelės eilutes, o ten, kur atitikmens nėra, – NULL
  5. 5. A · Jame galima naudoti agregavimo funkcijas grupėms filtruoti
  6. 6. D · Tarpine lentele, laikančia išorinius raktus ir į studentus, ir į kursus
  7. 7. B · Atitinka dauguma eilučių, todėl visos lentelės peržiūra pigesnė nei daugybė paieškų indekse
  8. 8. D · Naudoja išorinės užklausos stulpelius ir vertinama kiekvienai išorinės užklausos eilutei

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