Întrebări și răspunsuri la interviu SQL
Pentru a obține un loc de muncă, candidații trebuie să parcurgă interviul în care li se pun diverse întrebări de interviu SQL.
Următoarea este o listă organizată de întrebări SQL pentru interviu cu răspunsuri, care probabil vor fi puse în timpul interviului SQL. Este posibil ca candidaților să li se pună întrebări de interviu de bază SQL pentru a avansa întrebări de interviu SQL pentru profesioniști de 3 ani de experiență, în funcție de experiența lor și de diverși alți factori. Lista de mai jos acoperă toate întrebările de interviu tehnic SQL pentru studenți, precum și întrebările de interviu SQL Server pentru candidații de nivel experimentat și unele întrebări de interviu SQL.
1. Ce este DBMS?
Un sistem de management al bazelor de date (DBMS) este un program care controlează crearea, întreținerea și utilizarea unei baze de date. DBMS poate fi numit Manager de fișiere care gestionează datele într-o bază de date, mai degrabă decât să le salveze în sistemele de fișiere.
2. Ce este RDBMS?
RDBMS înseamnă Sistem de management al bazelor de date relaționale. RDBMS stochează datele în colecția de tabele, care este legată de câmpuri comune între coloanele tabelului. De asemenea, oferă operatori relaționali pentru a manipula datele stocate în tabele.
Exemplu:
SQL Server
3. Ce este SQL?
SQL înseamnă Structured Query Language și este folosit pentru a comunica cu baza de date. Acesta este un limbaj standard folosit pentru a efectua sarcini precum regăsirea, actualizarea, inserarea și ștergerea datelor dintr-o bază de date. Comenzile SQL standard sunt Select.
4. Ce este o bază de date?
Baza de date nu este altceva decât o formă organizată de date pentru acces ușor, stocare, regăsire și gestionare a datelor. Aceasta este cunoscută și sub numele de formă structurată de date care poate fi accesată în mai multe moduri.
Exemplu:
Baza de date pentru managementul școlii, Baza de date pentru managementul băncii.
5. Ce sunt tabelele și câmpurile?
Un tabel este un set de date care sunt organizate într-un model cu Coloane și Rânduri. Coloanele pot fi clasificate ca verticale, iar Rândurile sunt orizontale. Un tabel are un număr specificat de câmpuri numite coloane, dar poate avea orice număr de rânduri care este numit înregistrare.
Exemplu:
Tabel: Angajat.
Câmp: ID Emp, Nume Emp, Data nașterii.
Date: 201456, David, 15.11.1960.
6. Ce este o cheie primară?
O cheie primară este o combinație de câmpuri care specifică unic un rând. Acesta este un tip special de cheie unică și are implicit constrângerea NOT NULL. Înseamnă că valorile cheii primare nu pot fi NULL.
7. Ce este o cheie unică?
O constrângere cheie unică a identificat în mod unic fiecare înregistrare din baza de date. Aceasta oferă unicitate pentru coloana sau setul de coloane.
O constrângere de cheie primară are o constrângere unică automată definită pe ea. Dar nu, în cazul cheii unice.
Pot exista multe constrângeri unice definite per tabel, dar doar o constrângere cheie primară definită per tabel.
8. Ce este o cheie externă?
O cheie externă este un tabel care poate fi legat de cheia primară a altui tabel. Relația trebuie creată între două tabele prin referirea la cheia externă cu cheia primară a altui tabel.
9. Ce este un join?
Acesta este un cuvânt cheie folosit pentru a interoga datele din mai multe tabele pe baza relației dintre câmpurile din tabele. Cheile joacă un rol major atunci când sunt utilizate JOIN-urile.
10. Care sunt tipurile de unire și explicați fiecare?
Există diferite tipuri de unire care pot fi folosite pentru a prelua date și depinde de relația dintre tabele.
- Inner Join. Rândurile de întoarcere de unire interioară atunci când există cel puțin o potrivire de rânduri între tabele.
- Alăturați-vă dreapta. Rândurile de întoarcere unite la dreapta care sunt comune între tabele și toate rândurile mesei laterale din dreapta. Pur și simplu, returnează toate rândurile din tabelul din partea dreaptă, chiar dacă nu există potriviri în tabelul din partea stângă.
- Left Join. Rândurile de întoarcere de îmbinare stânga care sunt comune între tabele și toate rândurile mesei laterale din stânga. Pur și simplu, returnează toate rândurile din tabelul din partea stângă, chiar dacă nu există potriviri în tabelul din partea dreaptă.
- Alăturare completă. Rândurile returnate de unire completă când există rânduri care se potrivesc în oricare dintre tabele. Aceasta înseamnă că returnează toate rândurile din tabelul din stânga și toate rândurile din partea din dreapta.
11. Ce este normalizarea?
Normalizarea este procesul de minimizare a redundanței și dependenței prin organizarea câmpurilor și a tabelului unei baze de date. Scopul principal al Normalizării este adăugarea, ștergerea sau modificarea câmpului care poate fi făcut într-un singur tabel.
12. Ce este Denormalizarea?
DeNormalizarea este o tehnică folosită pentru a accesa datele de la formele normale de bază de date superioare la inferioare. Este, de asemenea, un proces de introducere a redundanței într-un tabel prin încorporarea datelor din tabelele aferente.
13. Care sunt toate normalizările diferite?
Formele normale pot fi împărțite în 5 forme și sunt explicate mai jos:
- Prima formă normală (1NF): Acest lucru ar trebui să elimine toate coloanele duplicat din tabel. Crearea de tabele pentru datele aferente și identificarea coloanelor unice.
- A doua formă normală (2NF): Îndeplinirea tuturor cerințelor primei forme normale. Plasarea subseturilor de date în tabele separate și crearea de relații între tabele folosind chei primare.
- A treia formă normală (3NF): Acest lucru ar trebui să îndeplinească toate cerințele 2NF. Eliminarea coloanelor care nu depind de constrângerile cheii primare.
- A patra formă normală (4NF): Îndeplinește toate cerințele a treia formă normală și nu ar trebui să aibă dependențe multi-valorice.
14. Ce este o vedere?
O vizualizare este un tabel virtual care constă dintr-un subset de date conținute într-un tabel. Vizualizările nu sunt practic prezente și este nevoie de mai puțin spațiu pentru stocare. Vizualizarea poate avea date dintr-unul sau mai multe tabele combinate și depinde de relație.
15. Ce este un index?
Un index este o metodă de reglare a performanței care permite o recuperare mai rapidă a înregistrărilor din tabel. Un index creează o intrare pentru fiecare valoare și va fi mai rapidă recuperarea datelor.
16. Care sunt toate tipurile diferite de indici?
Există trei tipuri de indici:
- Index unic. Această indexare nu permite câmpului să aibă valori duplicate dacă coloana este indexată unic. Indexul unic poate fi aplicat automat atunci când este definită cheia primară.
- Index grupat. Acest tip de index reordonează ordinea fizică a tabelului și caută pe baza valorilor cheie. Fiecare tabel poate avea un singur index grupat.
- Index non-clustered. NonClustered Index nu modifică ordinea fizică a tabelului și menține ordinea logică a datelor. Fiecare tabel poate avea 999 de indecși non-cluster.
17. Ce este un cursor?
O bază de date Cursor este un control care permite parcurgerea rândurilor sau înregistrărilor din tabel. Acesta poate fi văzut ca un indicator către un rând dintr-un set de rânduri. Cursorul este foarte util pentru parcurgerea, cum ar fi regăsirea, adăugarea și eliminarea înregistrărilor bazei de date.
18. Ce este o relație și ce sunt acestea?
Relația cu bazele de date este definită ca conexiunea dintre tabelele dintr-o bază de date. Există diverse relații bazate pe date și sunt după cum urmează:
- Relația unu la unu.
- Relația unu la mulți.
- Relația Multi la Unu.
- Relație de auto-referință.
19. Ce este o interogare?
O interogare DB este un cod scris pentru a obține informațiile din baza de date. Interogarea poate fi proiectată în așa fel încât să se potrivească cu așteptările noastre privind setul de rezultate. Pur și simplu, o întrebare la baza de date.
20. Ce este subinterogarea?
O subinterogare este o interogare în cadrul unei alte interogări. Interogarea exterioară este numită interogare principală, iar interogarea interioară este numită subinterogare. Subinterogare este întotdeauna executată prima, iar rezultatul subinterogării este transmis interogării principale.
21. Care sunt tipurile de subinterogare?
Există două tipuri de subinterogare – corelate și necorelate.
O subinterogare corelată nu poate fi considerată ca interogare independentă, dar poate trimite coloana dintr-un tabel listat în lista FROM a interogării principale.
O subinterogare necorelată poate fi considerată ca o interogare independentă, iar rezultatele unei subinterogări sunt înlocuite în interogarea principală.
22. Ce este o procedură stocată?
Procedura stocată este o funcție care constă din mai multe instrucțiuni SQL pentru a accesa sistemul de baze de date. Mai multe instrucțiuni SQL sunt consolidate într-o procedură stocată și le execută oricând și oriunde este necesar.
23. Ce este un declanșator?
Un declanșator DB este un cod sau programe care se execută automat cu răspuns la un eveniment de pe un tabel sau vizualizare dintr-o bază de date. În principal, declanșatorul ajută la menținerea integrității bazei de date.
Exemplu:
Când un student nou este adăugat la baza de date a studenților, ar trebui să fie create înregistrări noi în tabelele aferente, cum ar fi tabelele de examen, scor și prezență.
24. Care este diferența dintre comenzile DELETE și TRUNCATE?
Comanda DELETE este folosită pentru a elimina rânduri din tabel, iar clauza WHERE poate fi folosită pentru setul condiționat de parametri. Commit și Rollback pot fi efectuate după declarația de ștergere.
TRUNCATE elimină toate rândurile din tabel. Operația de trunchiere nu poate fi anulată.
25. Care sunt variabilele locale și globale și diferențele lor?
Variabilele locale sunt variabilele care pot fi utilizate sau există în interiorul funcției. Ele nu sunt cunoscute de celelalte funcții și acele variabile nu pot fi referite sau utilizate. Variabilele pot fi create ori de câte ori acea funcție este apelată.
Variabilele globale sunt variabilele care pot fi utilizate sau există în întregul program. Aceeași variabilă declarată în global nu poate fi utilizată în funcții. Variabilele globale nu pot fi create ori de câte ori acea funcție este apelată.
26. Ce este o constrângere?
Constrângerea poate fi utilizată pentru a specifica limita pentru tipul de date al tabelului. Constrângerea poate fi specificată în timp ce se creează sau se modifică instrucțiunea tabelului. Exemplu de constrângere sunt:
- NOT NULL - NU e NUL
- CHECK - VERIFICA
- DEFAULT - MOD IMPLICIT
- UNIQUE - UNIC
- PRIMARY KEY - CHEIA PRINCIPALA
- FOREIGN KEY - CHEIE EXTERNĂ
27. Ce este integritatea datelor?
Integritatea datelor definește acuratețea și consistența datelor stocate într-o bază de date. De asemenea, poate defini constrângeri de integritate pentru a aplica regulile de afaceri asupra datelor atunci când acestea sunt introduse în aplicație sau în baza de date.
28. Ce este Auto Increment?
Cuvântul cheie de incrementare automată permite utilizatorului să creeze un număr unic care să fie generat atunci când o nouă înregistrare este inserată în tabel. Cuvântul cheie AUTO INCREMENT poate fi folosit în Oracle și cuvântul cheie IDENTITY poate fi folosit în SQL SERVER.
În cea mai mare parte, acest cuvânt cheie poate fi folosit ori de câte ori este utilizată CHEIA PRIMARIA.
29. Care este diferența dintre Indexul Cluster și Non-Cluster?
Indexul grupat este utilizat pentru o regăsire ușoară a datelor din baza de date prin modificarea modului în care sunt stocate înregistrările. Baza de date sortează rândurile după coloana care este setată să fie indexată în cluster.
Un index nonclustered nu modifică modul în care a fost stocat, ci creează un obiect complet separat în tabel. Indică înapoi la rândurile originale ale tabelului după căutare.
30. Ce este Datawarehouse?
Datawarehouse este un depozit central de date din mai multe surse de informații. Aceste date sunt consolidate, transformate și puse la dispoziție pentru minerit și procesare online. Datele din depozit au un subset de date numit Data Marts.
31. Ce este Self-Join?
Self-join este setat să fie interogarea utilizată pentru a compara cu ea însăși. Acesta este folosit pentru a compara valorile dintr-o coloană cu alte valori din aceeași coloană din același tabel. ALIAS ES poate fi folosit pentru aceeași comparație de tabel.
32. Ce este Cross-Join?
Combinarea încrucișată se definește ca un produs cartezian în care numărul de rânduri din primul tabel înmulțit cu numărul de rânduri din al doilea tabel. Dacă presupunem că clauza WHERE este folosită în cross join, atunci interogarea va funcționa ca o INNER JOIN.
33. Ce sunt funcțiile definite de utilizator?
Funcțiile definite de utilizator sunt funcțiile scrise pentru a utiliza acea logică ori de câte ori este necesar. Nu este necesar să scrieți aceeași logică de mai multe ori. În schimb, funcția poate fi apelată sau executată oricând este necesar.
34. Care sunt toate tipurile de funcții definite de utilizator?
Sunt trei tipuri de funcții definite de utilizator:
- Funcții scalare.
- Funcții valorizate în tabelul inline.
- Funcții valoroase cu mai multe instrucțiuni.
Unitate de returnări scalare, variantă definită clauza de returnare. Alte două tipuri returnează tabelul ca returnare.
35. Ce este colarea?
Colaţionarea este definită ca un set de reguli care determină modul în care datele de caractere pot fi sortate şi comparate. Aceasta poate fi folosită pentru a compara caracterele A și alte limbi și depinde, de asemenea, de lățimea caracterelor.
Valoarea ASCII poate fi utilizată pentru a compara aceste date de caractere.
36. Care sunt toate tipurile diferite de sensibilitate de colare?
Următoarele sunt diferite tipuri de sensibilitate de colare:
- Sensibilitate la caz – A și a și B și b.
- Sensibilitate la accent.
- Sensibilitatea Kana – caractere japoneze Kana.
- Sensibilitate la lățime – caracter un octet și caracter dublu octet.
37. Avantajele și dezavantajele procedurii stocate?
Procedura stocată poate fi utilizată ca programare modulară - înseamnă a crea o dată, a stoca și a apela de mai multe ori ori de câte ori este necesar. Acest lucru acceptă o execuție mai rapidă în loc să execute mai multe interogări. Acest lucru reduce traficul de rețea și oferă o securitate mai bună a datelor.
Dezavantajul este că poate fi executat numai în baza de date și utilizează mai multă memorie în serverul bazei de date.
38. Ce este procesarea tranzacțiilor online (OLTP)?
Procesarea tranzacțiilor online (OLTP) gestionează aplicațiile bazate pe tranzacții care pot fi utilizate pentru introducerea datelor, regăsirea și procesarea datelor. OLTP face gestionarea datelor simplă și eficientă. Spre deosebire de sistemele OLAP, scopul sistemelor OLTP este de a servi tranzacții în timp real.
Exemplu:
Tranzacții bancare zilnice.
39. Ce este CLAUZĂ?
Clauza SQL este definită pentru a limita setul de rezultate prin furnizarea de condiții pentru interogare. Aceasta filtrează de obicei unele rânduri din întregul set de înregistrări.
Exemplu – Interogare care are condiția WHERE
Interogare care are condiția HAVING.
40. Ce este procedura stocată recursivă?
O procedură stocată care apelează de la sine până când atinge o condiție limită. Această funcție sau procedură recursivă ajută programatorii să folosească același set de coduri de câte ori.
41. Ce este comenzile Union, minus și Interact?
Operatorul UNION este folosit pentru a combina rezultatele a două tabele și elimină rândurile duplicate din tabele.
Operatorul MINUS este folosit pentru a returna rânduri de la prima interogare, dar nu de la a doua interogare. Înregistrările care se potrivesc pentru prima și a doua interogare și alte rânduri din prima interogare vor fi afișate ca un set de rezultate.
Operatorul INTERSECT este folosit pentru a returna rândurile returnate de ambele interogări.
42. Ce este o comandă ALIAS?
Numele ALIAS poate fi dat unui tabel sau unei coloane. Acest nume de alias poate fi menționat în clauza WHERE pentru a identifica tabelul sau coloana.
Exemplu
Select st.StudentID, Ex.Result from student st, Examen ca Ex unde st.studentID = Ex. Carnet de student
Aici, st se referă la numele alias pentru tabelul student și Ex se referă la numele alias pentru tabelul de examen.
43. Care este diferența dintre instrucțiunile TRUNCATE și DROP?
TRUNCATE elimină toate rândurile din tabel și nu poate fi derulat înapoi. Comanda DROP elimină un tabel din baza de date și operația nu poate fi anulată.
44. Ce sunt funcțiile agregate și scalare?
Funcțiile agregate sunt utilizate pentru a evalua calculul matematic și pentru a returna valori individuale. Acesta poate fi calculat din coloanele dintr-un tabel. Funcțiile scalare returnează o singură valoare bazată pe valoarea de intrare.
Exemplu
Agregat – max(), count – Calculat în raport cu numeric.
Scalar – UCASE(), NOW() – Calculat cu privire la șiruri.
45. Cum poți crea un tabel gol dintr-un tabel existent?
Exemplul
Select * în studentcopy de la student unde 1=2
Aici, copiem tabelul elevului într-un alt tabel cu aceeași structură, fără rânduri copiate.
46. Cum să obțineți înregistrări comune din două tabele?
Setul de rezultate comune pentru înregistrări poate fi obținut prin.
Select studentID din student INTERSECT Selectați StudentID din examen
47. Cum se obține înregistrări alternative dintr-un tabel?
Înregistrările pot fi preluate atât pentru numerele de rând impare, cât și pentru rândurile par -.
Pentru a afișa numere pare.
Select studentId din (Selectați rowno, studentId de la student) unde mod(rowno,2)=0
Pentru a afișa numere impare.
Select studentId din (Selectați rowno, studentId de la student) unde mod(rowno,2)=1
din (Selectați rowno, studentId de la student) unde mod(rowno,2)=1.[/sql]
48. Cum se selectează înregistrări unice dintr-un tabel?
Selectați înregistrări unice dintr-un tabel utilizând cuvântul cheie DISTINCT.
Select DISTINCT StudentID, StudentName din Student.
49. Care este comanda folosită pentru a prelua primele 5 caractere ale șirului?
Există multe moduri de a prelua primele 5 caractere ale șirului.
Select SUBSTRING(StudentName,1,5) ca nume student de la student Select LEFT(Studentname,5) ca nume student de la student
50. Ce operator este folosit în interogare pentru potrivirea modelelor?
Operatorul LIKE este folosit pentru potrivirea modelelor și poate fi folosit ca:
- % – Se potrivește cu zero sau mai multe caractere.
- _(Scor de subliniere) – Se potrivește exact un caracter.
Exemplu
Select * din Student unde numele studentului este „a%” Select * din Student unde numele studentului ca „ami_”