Pitanja za intervju za SQL programere: Uobičajena pitanja i odgovori za intervju za SQL- 4. dio

Objasniti koncept kreiranja function i procedure u SQL-u i prednosti njihove uporabe.

Odgovor: Function i procedure u SQL-u su imenovani blokovi koda koji se mogu pozvati iz drugih upita ili aplikacija.

  • Function: Vraća vrijednost i često se koristi za izračune i vraćanje rezultata.
  • Procedure: Ne vraća vrijednost i koristi se za izvođenje zadataka obrade podataka ili pohrane.

Prednosti korištenja funkcija i postupaka uključuju:

  • Smanjenje dupliciranja koda, olakšavanje održavanja i upravljanja kodom.
  • Povećanje ponovne upotrebe, dopuštajući ponovnu upotrebu koda na više mjesta.
  • Poboljšanje performansi, budući da se funkcije i procedure često kompajliraju jednom i ponovno koriste više puta.

 

Kako koristiti RECURSIVE upite i COMMON TABLE EXPRESSION(CTE) u SQL-u.

Odgovor: RECURSIVE upiti i COMMON TABLE EXPRESSION(CTE) koriste se za obradu rekurzivnih upita i ponovnu upotrebu dijela upita u SQL-u.

  • RECURSIVE: Omogućuje izvođenje rekurzivnih upita u bazi podataka.
  • CTE: Djeluje kao privremeni skup rezultata, dijeleći upit na manje dijelove kojima se lakše upravlja.
WITH RECURSIVE RecursiveCTE(ID, ParentID, Level) AS( 
  SELECT ID, ParentID, 0 AS Level FROM Categories WHERE ParentID IS NULL  
  UNION ALL  
  SELECT C.ID, C.ParentID, Level + 1 FROM Categories C  
  INNER JOIN RecursiveCTE RC ON C.ParentID = RC.ID  
)  
SELECT * FROM RecursiveCTE;  

 

Kako postupati s dupliciranim podacima i slučajevima nevažećih podataka u SQ-u

Odgovor: Za rukovanje dupliciranim i nevažećim podacima u SQL-u možemo koristiti SQL naredbe kao što su ograničenja DISTINCT, GROUP BY, HAVING i UNIQUE kako bismo osigurali jedinstvenost podataka. Osim toga, možemo koristiti UPDATE ili DELETE izjave za uklanjanje dvostrukih ili nevažećih zapisa.

 

Evo prijevoda posebnih tipova podataka u SQL Serveru

Các kiểu dữ liệu đặc biệt như XML, GEOGRAPHY, và GEOMETRY trong SQL Server được sử dụng để lưu trữ và làm việc với dữ liệu đặc thù và ph ức tạp. Dưới đây là mô tả về từng kiểu dữ liệu này:

XML:

  • Vrsta podataka XML u SQL Serveru omogućuje pohranu i rad s podacima u formatu Extensible Markup Language.
  • XML podaci mogu sadržavati bogate strukture, omogućujući pohranjivanje dobro organiziranih i fleksibilnih informacija.
  • SQL Server pruža funkcije i metode za manipuliranje XML podacima, dopuštajući postavljanje upita, stvaranje i transformaciju XML podataka.

GEOGRAPHY i GEOMETRY:

  • Tipovi podataka GEOGRAPHY i GEOMETRY u SQL Serveru koriste se za pohranu geografskih i geometrijskih informacija.
  • GEOGRAPHY koristi se za predstavljanje geografskih objekata kao što su točke, linije, regije i poligoni na zemljinoj površini.
  • GEOMETRY koristi se za predstavljanje geometrijskih objekata kao što su točke, linije, regije i poligoni u ravnom prostoru.

Obje vrste podataka podržavaju posebne operacije i funkcije za postavljanje upita i analizu geografskih i geometrijskih podataka.

 

Objasniti funkcije i funkcije za rukovanje podacima o datumu i vremenu u SQL-u

Funkcije i značajke za obradu podataka o datumu i vremenu u SQL-u koriste se za manipulaciju i izvođenje zadataka povezanih s datumima i vremenima u bazi podataka. Ovdje je detaljan opis nekih uobičajenih funkcija i značajki:

DATEPART(): Ova se funkcija koristi za izdvajanje određene komponente(npr. dan, mjesec, godina, sat, minuta, sekunda) iz vrijednosti datuma ili vremena.

SELECT DATEPART(YEAR, '2023-07-19'); -- Result: 2023

DATEDIFF(): Ova funkcija izračunava vremensku razliku između dvije vrijednosti datuma ili vremena.

SELECT DATEDIFF(DAY, '2023-07-01', '2023-07-19'); -- Result: 18(number of days between two dates)

DATEADD(): Ova funkcija dodaje određeni broj dana, mjeseci, godina ili vremena vrijednosti datuma ili vremena.

SELECT DATEADD(DAY, 7, '2023-07-19'); -- Result: '2023-07-26'(adding 7 days)

GETDATE(): Ova funkcija vraća trenutni datum i vrijeme sustava.

SELECT GETDATE(); -- Result: '2023-07-19 12:34:56.789'

CONVERT(): Ova se funkcija koristi za pretvaranje vrijednosti datuma ili vremena iz jednog formata u drugi.

SELECT CONVERT(VARCHAR, '2023-07-19', 103); -- Result: '19/07/2023'

FORMAT(): Ova se funkcija koristi za formatiranje vrijednosti datuma ili vremena prema unaprijed definiranom uzorku.

SELECT FORMAT('2023-07-19', 'dd/MM/yyyy'); -- Result: '19/07/2023'