09/25/2022

20 Întrebări și răspunsuri frecvente la interviul SQL [2022]

Structured Query Language (SQL) este limbajul de programare standard utilizat de administratorii de baze de date și de analiștii de date pentru a interoga bazele de date. Este utilizat pe scară largă în limbajele de programare ale site-urilor web, aplicațiilor și altor platforme.

Este folosit pentru a accesa și manipula datele dintr-o bază de date, inclusiv crearea și modificarea tabelelor și coloanelor și interogarea datelor folosind comenzi SQL.

Această postare vă va oferi, fără îndoială, câteva informații dacă sunteți în căutarea unor întrebări și răspunsuri pe care să le utilizați în timp ce vă pregătiți pentru un interviu SQL. Într-un interviu de angajare pentru un inginer de date, analist de date, administrator de baze de date etc., ar trebui să fie de așteptat următoarele întrebări.

Care sunt comenzile SQL de bază?

Unele dintre cele mai importante comenzi SQL sunt:

  • SELECT – extrage date dintr-o bază de date.
  • CREATE TABLE – creează un nou tabel.
  • DELETE – șterge datele dintr-o bază de date.
  • INSERT INTO – inserează date noi într-o bază de date.
  • ALTER DATABASE – modifică o bază de date.
  • CREATE DATABASE – creează o nouă bază de date.
  • UPDATE – actualizează datele dintr-o bază de date.

Care sunt cele patru instrucțiuni SQL importante?

Instrucțiunile SQL principale sunt împărțite în următoarele categorii:

  • Declarații DDL (Data Definition Language).
  • Declarații de limbaj de manipulare a datelor (DML).
  • Declarații în limbajul de control al datelor (DCL).
  • Declarații TCL (Transaction Control Language).

Care este semnificația cheii primare în SQL?

O cheie primară este o coloană (sau un set de coloane) care permite ca fiecare rând dintr-o bază de date să fie identificat în mod unic. Bazele de date SQL acordă o mare importanță cheilor primare. Ele furnizează fiecărui rând dintr-un tabel al bazei de date un ID unic. O cheie primară poate consta din unul sau mai multe câmpuri și poate exista o singură cheie primară per tabel.

Ce sunt tipurile de date SQL?

Un tip de date este un atribut care descrie tipul de date pe care un obiect poate stoca, cum ar fi șiruri binare, date numerice, date de caractere, date financiare, date și oră și așa mai departe.

În SQL, tipurile de date sunt clasificate în următoarele grupuri:

  • Numeri exacte
  • Numere aproximative
  • Data si ora
  • Șiruri de caractere
  • Șiruri de caractere Unicode
  • Șiruri binare
  9 instrumente pentru a vă crea un chatbot personal sau de afaceri 🤖

Unde sunt stocate numele de utilizator și parolele în SQL Server?

Numele de utilizator și parolele sunt stocate în principalele sys.server și, respectiv, în login-urile sys.sql ale tabelului SQL. Parolele nu sunt stocate în text normal.

Ce este injectarea SQL?

Atacurile cu injecție SQL sunt unul dintre cele mai comune tipuri de atacuri cibernetice în prezent. Acestea permit atacatorilor rău intenționați să acceseze date prin manipularea bazei de date a unei aplicații. Acest lucru poate duce la o gamă largă de consecințe negative, de la pierderi financiare până la pierderea de date sensibile. Cea mai bună modalitate de a vă proteja împotriva atacurilor prin injecție SQL este de a preveni, în primul rând, să se întâmple.

Ce este un declanșator în SQL și tipurile sale?

Un declanșator este un tip special de procedură stocată care rulează automat atunci când are loc un eveniment în serverul bazei de date. Declanșatorii sunt utilizați pentru a evalua datele înainte sau după modificarea datelor folosind instrucțiuni DDL și DML.

Există trei tipuri de declanșatoare – LOGON, DDL și DML.

  • Declanșatoare LOGON: Acești declanșatori sunt declanșați atunci când un utilizator inițiază un eveniment de conectare.
  • Declanșatoarele DDL sunt declanșate ori de câte ori este emisă o comandă DDL, cum ar fi CREATE, ALTER sau DROP.
  • Declanșatoare DML: Acestea sunt declanșate ori de câte ori o comandă DML modifică datele. Comparabil cu INSERT, UPDATE și DELETE

Cum ați face distincția între funcțiile cu un singur rând și funcțiile cu mai multe rânduri?

Un singur rând dintr-un tabel poate fi afectat simultan de funcțiile pe un singur rând. Ei execută un rând și apoi dau înapoi doar un rezultat. Este bine cunoscut faptul că conversiile de lungime și majuscule sunt funcții cu un singur rând.

Rândurile unui tabel pot fi afectate de mai multe funcții de rând simultan. Ele sunt cunoscute și ca funcții de grup, care execută mai multe rânduri înainte de a returna o singură ieșire.

Ce este normalizarea bazelor de date și care sunt principalele sale patru tipuri în SQL?

Normalizarea bazei de date este un proces prin care datele sunt organizate pentru o accesibilitate mai rapidă și pentru a reduce redundanța datelor. Coloanele și tabelele unei baze de date sunt organizate în timpul normalizării pentru a vă asigura că orice dependențe sunt susținute corect de constrângerile de integritate a bazei de date.

Cele patru tipuri de procese de normalizare a bazei de date sunt după cum urmează:

  • Prima formă normală (1 NF)
  • A doua formă normală (2 NF)
  • A treia formă normală (3 NF)
  • Boyce Codd formă normală sau a patra formă normală (BCNF sau 4 NF)

Ce sunt indecșii și constrângerile în SQL?

Indecii sunt unul dintre cele mai importante concepte din SQL. Ele ne permit să găsim rapid anumite rânduri de date în baze de date mari. De asemenea, ele ne ajută să aplicăm constrângerile, care sunt reguli care spun bazei de date cum să se comporte atunci când sunt îndeplinite anumite condiții.

Indecii sunt utilizați pentru a îmbunătăți performanța interogărilor prin accelerarea căutării datelor în tabele. Ele sunt, de asemenea, utilizate pentru a îmbunătăți lizibilitatea datelor din tabele.

Constrângerile sunt folosite pentru a limita tipul de date care pot intra într-un tabel. Acest lucru asigură acuratețea și fiabilitatea datelor din tabel. Dacă există vreo încălcare între constrângere și acțiunea de date, acțiunea este anulată.

  Nu puteți conecta controlerul Xbox 360 la computer? Iată ce ar trebui să faci

Care sunt constrângerile SQL utilizate în mod obișnuit?

Constrângerile SQL utilizate în mod obișnuit sunt:

  • CREATE INDEX: Această comandă asigură că sunt creați indecși pentru tabele, astfel încât recuperarea datelor să fie mai simplă.
  • CHEIE străină: cheia externă a unui tabel trebuie să conecteze tabele cu atribute similare.
  • IMPLICIT: Dacă nu este furnizată nicio valoare pentru câmpurile unei coloane, furnizează o valoare implicită pentru Acele câmpuri.
  • UNIC: Aceasta specifică faptul că fiecare valoare dintr-o coloană trebuie să fie distinctă.
  • CHEIA PRIMARĂ: Cheia primară a unui tabel trebuie să identifice fiecare rând.
  • NOT NULL: Această condiție asigură că valorile NULL nu sunt acceptate de coloane.
  • VERIFICARE: Se asigură că fiecare câmp de coloană respectă o cerință predeterminată.

Este NULL egal cu 0 în SQL?

O valoare NULL în SQL denotă o valoare care este indisponibilă sau atribuită. Un spațiu (‘ ‘) sau zero (0) nu sunt echivalente cu valoarea NULL. Nu puteți compara valoarea NULL cu orice altă valoare utilizând operatori de comparație precum „=” sau”>”, deoarece nu poate fi egală sau inegală cu orice altă valoare.

Cum să preveniți atacurile cu injecție SQL?

Alături de scanarea constantă și testarea de penetrare, metodele de securitate cum ar fi validarea intrărilor, igienizarea, declarațiile pregătite și interogările SQL parametrizate sunt cruciale pentru prevenirea atacurilor prin injecție SQL. În plus, apărarea rapidă, cum ar fi un firewall, ar ajuta la protejarea bazei de date SQL.

Ce este Dynamic SQL și când îl puteți utiliza?

Dynamic SQL este o caracteristică pe care o puteți utiliza pentru a vă modifica interogările în timpul rulării pe baza unuia sau mai multor criterii, inclusiv data curentă, ora curentă sau orice alt criteriu pe care îl alegeți.

Puteți utiliza SQL dinamic pentru a vă schimba interogările în moduri semnificative și vă poate ajuta să vă atingeți obiectivele sau pur și simplu să vă îmbunătățiți abilitățile de programare. Indiferent dacă creați o nouă aplicație, îmbunătățiți o bază de date sau adăugați funcționalități de depozit de date la sistemul dvs. de producție, puteți utiliza Dynamic SQL pentru a face totul.

Care sunt diferitele tipuri de chei în SQL?

Cheie primară: Fiecare rând sau înregistrare dintr-un tabel al bazei de date este identificată în mod unic printr-un câmp numit Cheie primară. Valoarea unică trebuie să fie în cheia primară. Câmpurile cheie primară nu pot conține valori NULL. Poate exista o singură cheie primară per tabel, constând din unul sau mai multe câmpuri.

Cheie externă: Câmpul sau grupul de câmpuri dintr-un tabel care se referă la cheia primară a altui tabel se numește cheie externă. Tabelele cu chei primare sunt numite tabele părinte, în timp ce tabelele cu chei străine sunt numite tabele copil.

Super-cheie: o super-cheie este o cheie sau un set de chei care ajută la identificarea intrărilor dintr-un tabel. Deși nu toate atributele sunt necesare pentru a identifica o înregistrare, o super-cheie poate avea una sau mai multe dintre ele.

Cheie candidat: o cheie candidat este un subset de super-chei care poate fi folosit pentru a identifica înregistrările dintr-o bază de date pe baza unuia sau mai multor atribute. Spre deosebire de Superkey, toate caracteristicile unei chei candidate trebuie să fie utile pentru identificarea înregistrărilor.

Cheie compusă: o cheie compozită este o combinație de două sau mai multe coloane dintr-un tabel care este utilizată pentru a identifica rândurile dintr-un tabel. O cheie compusă este o cheie primară cu un alt atribut sau coloană.

  Cum se instalează software fără drepturi de administrator

Care sunt tipurile de indecși în SQL?

Următoarele sunt tipuri de indecși în SQL

  • Indicele hash
  • optimizat pentru memorie Non-cluster
  • Index grupat
  • Index negrupat
  • Index unic
  • Indexul Magazinului de coloane
  • Index cu coloane incluse
  • Index pe coloanele calculate
  • Index filtrat
  • Index spațial
  • Index XML
  • Index de text complet

Ce înțelegeți prin „buffer pool” și menționați beneficiile acestuia?

În SQL, un pool de buffer este denumit și un buffer cache. Un pool de buffer poate fi folosit de toate resursele pentru a-și stoca paginile de date din cache. Când configurați o instanță SQL Server, dimensiunea pool-ului de buffer poate fi specificată. Dimensiunea unui pool de buffer determină câte pagini poate conține.

Următoarele sunt beneficiile unui pool-tampon:

  • Îmbunătățiri ale performanței I/O
  • Creșterea debitului de tranzacție
  • Reducerea latenței I/O
  • Îmbunătățirea performanței de citire

Ce înțelegeți prin dependență și menționați diferitele dependențe?

Când un obiect este referit după nume într-o instrucțiune SQL păstrată într-un alt obiect, se stabilește o dependență între cele două obiecte. Termenul „entitate de referință” se referă la un obiect care apare într-o expresie SQL, în timp ce termenul „entitate de referință” se referă la un obiect care conține o expresie SQL.

Următoarele sunt diferitele tipuri de dependențe în SQL.

  • Dependenta functionala
  • Dependență complet funcțională
  • Dependență multivalorică
  • Dependenta tranzitiva
  • Dependență parțială

Joinurile sunt o parte fundamentală a gestionării datelor în SQL. Acestea permit unirea a două sau mai multe tabele pentru a crea un singur tabel care poate fi utilizat pentru analiza datelor. Ele oferă, de asemenea, o modalitate de a filtra rezultatele pe baza criteriilor dintr-un singur tabel, ceea ce poate fi util atunci când încercați să găsiți anumite rânduri sau coloane într-un tabel mare.

Există patru tipuri principale de JOIN-uri în SQL: INNER JOIN, OUTER JOIN, CROSS JOIN și SELF JOIN.

Care sunt operatorii set în SQL?

Datele din unul sau mai multe tabele de același tip pot fi combinate folosind operatorul set. Setul SQL și operatorii de unire SQL sunt similari, dar există câteva diferențe cheie. Operatorii de seturi SQL colectează înregistrări din diferite interogări, în timp ce uniunile SQL combină coloane din tabele diferite. Interogările SQL compuse sunt cele care includ operații de set.

Concluzie

Sper că aceste întrebări de interviu SQL vă oferă o imagine bună despre ce să vă așteptați din perspectiva interviului. Mai multă expunere la mediul SQL este necesară pentru a sparge interviul SQL; acest lucru poate fi atins studiind în profunzime SQL. Pentru a evalua principiile cheie SQL, trebuie să exersați, de asemenea, întrebările de interviu SQL și să continuați să citiți.

Dacă sunteți în căutarea unei clarificări privind interogările SQL, vă rugăm să vizitați foaia de cheat SQL pentru a obține mai multe informații despre instrucțiunile SQL.

Pentru a câștiga experiență practică prin executarea de interogări SQL, consultați aceste platforme de practică SQL.

x