20 Често постављана питања и одговори на СКЛ интервјуу [2022]

Uvod u SQL i pitanja za intervju

Structured Query Language (SQL) predstavlja standardni programski jezik koji koriste administratori baza podataka i analitičari podataka za interakciju sa bazama podataka. SQL je široko rasprostranjen u programiranju web stranica, aplikacija i drugih platformi.

SQL se koristi za pristup i manipulaciju podacima unutar baza podataka, uključujući kreiranje i modifikovanje tabela i kolona, kao i za pretraživanje podataka putem SQL komandi.

Ovaj članak će vam pružiti vredne informacije ukoliko tražite pitanja i odgovore koji će vam pomoći u pripremi za SQL intervju. Na razgovoru za posao, kao što su inženjer podataka, analitičar podataka ili administrator baze podataka, možete očekivati sledeća pitanja.

Koje su osnovne SQL komande?

Neke od najvažnijih SQL komandi su:

  • SELECT – izdvaja podatke iz baze podataka.
  • CREATE TABLE – stvara novu tabelu.
  • DELETE – briše podatke iz baze podataka.
  • INSERT INTO – unosi nove podatke u bazu podataka.
  • ALTER DATABASE – menja bazu podataka.
  • CREATE DATABASE – kreira novu bazu podataka.
  • UPDATE – ažurira podatke u bazi podataka.

Koje su četiri važne SQL izjave?

Glavne SQL izjave su podeljene u ove kategorije:

  • Izjave jezika definicije podataka (DDL).
  • Izjave jezika za manipulaciju podacima (DML).
  • Izjave jezika kontrole podataka (DCL).
  • Izjave jezika kontrole transakcija (TCL).

Šta je značenje primarnog ključa u SQL-u?

Primarni ključ je kolona (ili skup kolona) koja obezbeđuje da svaki red u bazi podataka bude jedinstveno identifikovan. SQL baze podataka pridaju veliku važnost primarnim ključevima. Oni osiguravaju da svaki red u tabeli baze podataka ima jedinstveni ID. Primarni ključ može da se sastoji od jednog ili više polja, a po tabeli može da postoji samo jedan primarni ključ.

Šta su SQL tipovi podataka?

Tip podatka je atribut koji opisuje vrstu podataka koje objekat može da skladišti, kao što su binarni nizovi, numerički podaci, znakovni podaci, finansijski podaci, podaci o datumu i vremenu, itd.

U SQL-u, tipovi podataka su kategorisani u sledeće grupe:

  • Tačne brojke
  • Približne brojke
  • Datum i vreme
  • Nizovi znakova
  • Unicode znakovni nizovi
  • Binarni nizovi

Gde se čuvaju korisnička imena i lozinke u SQL Serveru?

Korisnička imena i lozinke se čuvaju u `sys.server_principals` i `sys.sql_logins` unutar SQL tabele. Lozinke se ne čuvaju u običnom tekstu.

Šta je SQL injekcija?

Napadi SQL injekcijom su jedan od najčešćih tipova sajber napada danas. Oni omogućavaju zlonamernim napadačima da pristupe podacima manipulisanjem bazom podataka aplikacije. To može da rezultira širokim spektrom negativnih posledica, od finansijskih gubitaka do gubitka osetljivih podataka. Najbolji način da se zaštitite od napada SQL injekcijom je da sprečite da do njih dođe.

Šta je okidač u SQL-u i njegovi tipovi?

Okidač je poseban tip uskladištene procedure koja se automatski pokreće kada dođe do događaja na serveru baze podataka. Okidači se koriste za procenu podataka pre ili posle modifikacije podataka pomoću DDL i DML izjava.

Postoje tri tipa okidača – LOGON, DDL i DML.

  • LOGON okidači: Ovi okidači se aktiviraju kada korisnik pokrene događaj prijave.
  • DDL okidači se pokreću svaki put kada se izda DDL komanda kao što je CREATE, ALTER ili DROP.
  • DML okidači: Oni se pokreću svaki put kada DML komanda modifikuje podatke. U poređenju sa INSERT, UPDATE i DELETE

Kako biste razlikovali jednoredne i višeredne funkcije?

Funkcije jednog reda mogu istovremeno uticati na jedan red u tabeli. Izvršavaju red i onda samo vraćaju jedan rezultat. Poznato je da su konverzije dužine i velikih i malih slova funkcije jednog reda.

Na redove tabele može uticati više funkcija istovremeno. One su takođe poznate kao grupne funkcije, koje izvršavaju više redova pre nego što vrate jedan izlaz.

Šta je normalizacija baze podataka i koja su njena glavna četiri tipa u SQL-u?

Normalizacija baze podataka je proces kroz koji se podaci organizuju radi bržeg pristupa i smanjenja redundantnosti podataka. Kolone i tabele baze podataka se organizuju tokom normalizacije kako bi se osiguralo da sve zavisnosti budu pravilno podržane ograničenjima integriteta baze podataka.

Četiri tipa procesa normalizacije baze podataka su kako sledi:

  • Prva normalna forma (1NF)
  • Druga normalna forma (2NF)
  • Treća normalna forma (3NF)
  • Boyce Codd normalna forma ili četvrta normalna forma (BCNF ili 4NF)

Šta su indeksi i ograničenja u SQL-u?

Indeksi su jedan od najvažnijih koncepata u SQL-u. Oni omogućavaju da brzo pronađemo određene redove podataka u velikim bazama podataka. Takođe pomažu u primeni ograničenja, koja su pravila koja govore bazi podataka kako da se ponaša kada su ispunjeni određeni uslovi.

Indeksi se koriste za poboljšanje performansi upita ubrzavanjem pretraživanja podataka u tabelama. Koriste se i za poboljšanje čitljivosti podataka u tabelama.

Ograničenja se koriste za ograničavanje tipa podataka koji mogu da uđu u tabelu. Ovo osigurava tačnost i pouzdanost podataka u tabeli. Ako postoji bilo kakvo kršenje između ograničenja i akcije podataka, akcija se prekida.

Koja su najčešće korišćena SQL ograničenja?

Uobičajena SQL ograničenja su:

  • CREATE INDEX: Ova komanda osigurava da se indeksi kreiraju za tabele tako da je pronalaženje podataka jednostavnije.
  • STRANI KLJUČ: Spoljni ključ tabele mora da povezuje tabele sa sličnim atributima.
  • DEFAULT: Ako nije data vrednost za polja kolone, ona daje podrazumevanu vrednost za ta polja.
  • UNIQUE: Ovo navodi da svaka vrednost u koloni mora biti različita.
  • PRIMARNI KLJUČ: Primarni ključ tabele mora da identifikuje svaki red.
  • NOT NULL: Ovaj uslov osigurava da NULL vrednosti nisu prihvaćene u kolonama.
  • PROVERA: Osigurava da je svako polje kolone u skladu sa unapred određenim zahtevom.

Da li je NULL jednako 0 u SQL-u?

NULL vrednost u SQL-u označava vrednost koja je nedostupna ili nije dodeljena. Razmak (‘ ‘) ili nula (0) nisu ekvivalentni vrednosti NULL. Ne možete da uporedite NULL vrednost sa bilo kojom drugom vrednošću koristeći operatore poređenja kao što su „=“ ili „>“, jer ne može biti jednaka ili nejednaka bilo kojoj drugoj vrednosti.

Kako sprečiti napade SQL injekcije?

Uz konstantno skeniranje i testiranje penetracije, bezbednosne metode kao što su validacija unosa, sanitizacija, pripremljene izjave i parametrizovani SQL upiti su od ključne važnosti za sprečavanje napada SQL injekcijom. Pored toga, brza odbrana kao što je zaštitni zid bi pomogla da se zaštiti SQL baza podataka.

Šta je dinamički SQL i kada možete da ga koristite?

Dinamički SQL je funkcija koju možete da koristite da modifikujete svoje upite u vreme izvršavanja na osnovu jednog ili više kriterijuma, uključujući trenutni datum, trenutno vreme ili bilo koji drugi kriterijum koji izaberete.

Možete da koristite dinamički SQL da promenite svoje upite na smislene načine i može vam pomoći da postignete svoje ciljeve ili jednostavno poboljšate svoje veštine programiranja. Bez obzira da li kreirate novu aplikaciju, poboljšavate bazu podataka ili dodajete funkcionalnost skladišta podataka svom proizvodnom sistemu, možete da koristite Dynamic SQL da sve to uradite.

Koje su različite vrste ključeva u SQL-u?

Primarni ključ: Svaki red ili zapis u tabeli baze podataka je jedinstveno identifikovan poljem pod nazivom Primarni ključ. Jedinstvena vrednost mora biti u primarnom ključu. Polja primarnog ključa ne mogu da sadrže NULL vrednosti. Može postojati samo jedan primarni ključ po tabeli, koji se sastoji od jednog ili više polja.

Spoljni ključ: Polje ili grupa polja u tabeli koja se odnose na primarni ključ druge tabele naziva se strani ključ. Tabele sa primarnim ključevima nazivaju se roditeljske tabele, dok se tabele sa stranim ključevima nazivaju podređene tabele.

Super ključ: Super ključ je ključ ili skup ključeva koji pomažu u identifikaciji unosa u tabeli. Iako nisu svi atributi potrebni za identifikaciju zapisa, super ključ može imati jedan ili više njih.

Ključ kandidata: Ključ kandidata je podskup super ključeva koji se mogu koristiti za identifikaciju zapisa u bazi podataka na osnovu jednog ili više atributa. Za razliku od Superključa, sve karakteristike ključa kandidata moraju biti korisne za identifikaciju zapisa.

Kompozitni ključ: Kompozitni ključ je kombinacija dve ili više kolona u tabeli koja se koristi za identifikaciju redova u tabeli. Kompozitni ključ je primarni ključ sa nekim drugim atributom ili kolonom.

Koji su tipovi indeksa u SQL-u?

Slede tipovi indeksa u SQL-u

  • Heš indeks
  • Optimizovano za memoriju neklasterisano
  • Klasterizovani indeks
  • Neklasterizovani indeks
  • Jedinstveni indeks
  • Indeks prodavnice kolona
  • Indeks sa uključenim kolonama
  • Indeks na izračunatim kolonama
  • Filtrirani indeks
  • Prostorni indeks
  • XML indeks
  • Indeks punog teksta

Šta podrazumevate pod baferom i pominjete njegove prednosti?

U SQL-u, bafer bafera se takođe naziva keš bafera. Svi resursi mogu da koriste skup bafera za čuvanje svojih keširanih stranica sa podacima. Prilikom podešavanja instance SQL Servera, veličina bafera se može navesti. Veličina bafera određuje koliko stranica može da zadrži.

Sledeće su prednosti bafer pool-a:

  • Poboljšanja I/O performansi
  • Rast propusnosti transakcije
  • Smanjenje kašnjenja I/O
  • Poboljšajte performanse čitanja

Šta podrazumevate pod zavisnošću i pominjete različite zavisnosti?

Kada se jedan objekat referencira imenom u SQL izrazu koji se čuva u drugom objektu, uspostavlja se zavisnost između dva objekta. Termin „referentni entitet” odnosi se na objekat koji se pojavljuje u SQL izrazu, dok se termin „referentni entitet” odnosi na objekat koji sadrži SQL izraz.

Slede različite vrste zavisnosti u SQL-u.

  • Funkcionalna zavisnost
  • Potpuno funkcionalna zavisnost
  • Višeznačna zavisnost
  • Tranzitivna zavisnost
  • Delimična zavisnost

Šta su SQL spojevi i koji su najpopularniji SQL spojevi?

Spajanja su fundamentalni deo upravljanja podacima u SQL-u. Ona omogućavaju da se dve ili više tabela spoje zajedno kako bi se stvorila jedna tabela koja se može koristiti za analizu podataka. Takođe pružaju način za filtriranje rezultata na osnovu kriterijuma u jednoj tabeli, što može biti korisno kada pokušavate da pronađete određene redove ili kolone u velikoj tabeli.

Postoje četiri glavna tipa JOIN-ova u SQL-u: INNER JOIN, OUTER JOIN, CROSS JOIN i SELF JOIN.

Šta su operatori skupa u SQL-u?

Podaci iz jedne ili više tabela istog tipa mogu se kombinovati pomoću operatora skupa. SQL skup i SQL operatori spajanja su slični, ali postoje neke ključne razlike. Operatori SQL skupa prikupljaju zapise iz različitih upita, dok SQL spojevi kombinuju kolone iz različitih tabela. Složeni SQL upiti su oni koji uključuju operacije skupova.

Zaključak

Nadam se da vam ova pitanja za SQL intervju nude dobru sliku o tome šta možete očekivati iz perspektive intervjua. Više izlaganja SQL okruženju je neophodno da bi se uspesno prošao SQL intervju; ovo se može postići detaljnim proučavanjem SQL-a. Da biste procenili ključne SQL principe, morate takođe vežbati pitanja za intervju sa SQL upitom i nastaviti da čitate.

Ako tražite pojašnjenje SQL upita, posetite SQL cheat sheet da biste dobili više uvida u SQL naredbe.

Da biste stekli praktično iskustvo izvršavanjem SQL upita, pogledajte ove platforme za SQL praksu.