ინტერვიუს კითხვები SQL დეველოპერებისთვის: საერთო SQL ინტერვიუს კითხვა-პასუხი- ნაწილი 3

SQL-ში რა ტიპები joins იყენებდით და ახსენით, როგორ მუშაობენ ისინი?

პასუხი:

  • INNER JOIN: აბრუნებს სტრიქონებს ორივე ცხრილიდან შესატყვისი მონაცემებით.
  • LEFT JOIN: აბრუნებს ყველა სტრიქონს მარცხენა ცხრილიდან და შესატყვის რიგებს მარჯვენა ცხრილიდან.
  • RIGHT JOIN: აბრუნებს ყველა სტრიქონს მარჯვენა ცხრილიდან და შესატყვის რიგებს მარცხენა ცხრილიდან.
  • FULL JOIN: აბრუნებს ყველა სტრიქონს ორივე ცხრილიდან, მათ შორის, შეუსაბამო მწკრივებს.

 

ახსენით ACID ცნებები SQL-ში და მათი როლი ტრანზაქციის მენეჯმენტში

პასუხი: ACID ნიშნავს Atomicity, Consistency, Isolation, Durability. ეს არის არსებითი თვისებები ტრანზაქციის მენეჯმენტში SQL-ში:

  • Atomicity უზრუნველყოფს, რომ ტრანზაქცია ან სრულად დამუშავდეს ან საერთოდ არ დამუშავდეს.
  • Consistency უზრუნველყოფს, რომ მონაცემები უნდა შეესაბამებოდეს განსაზღვრულ წესებს, შეზღუდვებსა და პირობებს.
  • Isolation უზრუნველყოფს, რომ ერთდროულმა ტრანზაქციებმა ხელი არ შეუშალოს ერთმანეთს.
  • Durability უზრუნველყოფს, რომ ტრანზაქციის დასრულების შემდეგ, მონაცემთა ბაზაში ცვლილებები ინახება უსაფრთხოდ და მუდმივად.

 

რა განსხვავებაა ROW_NUMBER(), RANK(), DENSE_RANK() ფუნქციებს შორის SQL-ში?

პასუხი: ROW_NUMBER(), RANK(), DENSE_RANK() ყველა გამოიყენება შეკითხვის შედეგში რიგების ნუმერაციისთვის, მაგრამ მათ აქვთ შემდეგი განსხვავებები:

  • ROW_NUMBER(): ანიჭებს უწყვეტ რიცხვებს სტრიქონებს შეკითხვის შედეგში, დუბლიკატების განხილვის გარეშე.
  • RANK(): ანიჭებს რიცხვებს რიგებს შეკითხვის შედეგში და გამოტოვებს შემდეგ რიცხვს კავშირების შემთხვევაში.
  • DENSE_RANK(): ანიჭებს რიცხვებს რიგებს მოთხოვნის შედეგში და არ გამოტოვებს შემდეგ რიცხვს კავშირების შემთხვევაში.

 

როგორ გამოვიყენოთ window functions SQL-ში და მივცეთ მაგალითი.

პასუხი: Window functions ნებადართულია გამოთვლების შესრულება დაკავშირებული მწკრივების კომპლექტზე ძირითადი მოთხოვნის შედეგის შეცვლის გარეშე. მაგალითად, ჩვენ შეგვიძლია გამოვიყენოთ ფანჯრის ფუნქციები გაშვებული ჯამების გამოსათვლელად ან შედეგების ნაკრების ზედა N სტრიქონების დასაბრუნებლად.

SELECT ProductID, UnitPrice,   
       SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal  
FROM Products;  

 

როგორ გამოვიყენოთ რეგულარული გამონათქვამები SQL-ში შაბლონების შესატყვისად

პასუხი: SQL-ში რეგულარული გამონათქვამები გამოიყენება რთული ტექსტური შაბლონების საძიებლად. ისინი ხშირად გამოიყენება ოპერატორთან LIKE ან ფუნქციებთან, როგორიცაა REGEXP_LIKE(Oracle-ში) ან REGEXP_MATCHES(PostgreSQL-ში).

SELECT * FROM Employees WHERE LastName LIKE '%son%';

 

როგორ გამოვიყენოთ JSON ფუნქციები SQL-ში JSON მონაცემებთან მუშაობისთვის

პასუხი: JSON ფუნქციები SQL-ში საშუალებას იძლევა მონაცემთა ბაზაში JSON ფორმატში მონაცემების მოთხოვნა, ჩასმა, განახლება და წაშლა.

მაგალითად, ჩვენ შეგვიძლია გამოვიყენოთ ფუნქციები, როგორიცაა JSON_VALUE, JSON_QUERY, JSON_MODIFY(SQL Server-ში) ან ოპერატორები, როგორიცაა ->, ->>, #>, #>> და ა.შ.(PostgreSQL) JSON თვისებების მანიპულირებისთვის.

SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName  
FROM Customers;  

 

გაფართოებული ტექნიკა SQL შეკითხვის ოპტიმიზაციისა და მონაცემთა ბაზის მუშაობის დარეგულირებისთვის

პასუხი: SQL მოთხოვნებისა და მონაცემთა ბაზის მუშაობის ოპტიმიზაციისთვის, ჩვენ შეგვიძლია გამოვიყენოთ ისეთი ტექნიკა, როგორიცაა:

  • ინდექსების გამოყენება ხშირად მოთხოვნილი სვეტებისთვის.
  • ოპტიმიზაცია JOIN და WHERE დებულებები მონაცემთა ეფექტური აღდგენისთვის.
  • საჭიროების შემთხვევაში ფანჯრის ფუნქციების და პაგინაციის გამოყენება.
  • თავიდან აცილება SELECT * მხოლოდ საჭირო სვეტების მისაღებად.
  • ზოგიერთ შემთხვევაში შეკითხვის მინიშნებების გამოყენება.
  • მონაცემთა ნორმალიზაციის უზრუნველყოფა და დუბლიკატების ამოღება.
  • შესრულების მონიტორინგის ხელსაწყოების გამოყენება მონაცემთა ბაზის თვალყურის დევნებისთვის და დაზუსტებისთვის.

 

ახსენით როგორ გამოვიყენოთ SET ოპერაციები (UNION, INTERSECT, EXCEPT) SQl-ში

პასუხი: SET ოპერაციები (UNION, INTERSECT, EXCEPT) გამოიყენება სხვადასხვა მოთხოვნების შედეგების ნაკრების გაერთიანებისა და მანიპულირებისთვის.

  • UNION: აერთიანებს ორი ან მეტი მოთხოვნის შედეგებს მონაცემთა ერთ ნაკრებში და შლის დუბლიკატებს.
  • INTERSECT: აბრუნებს სტრიქონებს, რომლებიც გამოჩნდება შეკითხვის შედეგების ორივე ნაკრებში.
  • EXCEPT: აბრუნებს რიგებს, რომლებიც გამოჩნდება პირველი შეკითხვის შედეგების კომპლექტში, მაგრამ არა მეორეში.

 

როგორ გამოვიყენოთ შეკითხვის ფუნქციები, როგორიცაა LEAD, LAG, FIRST_VALUE, LAST_VALUE SQL

პასუხი: შეკითხვის ფუნქციები, როგორიცაა, LEAD, LAG, FIRST_VALUE, LAST_VALUE გამოიყენება მნიშვნელობების მოსაპოვებლად შესაბამისი რიგებიდან იმავე მოთხოვნის შედეგის ფარგლებში.

  • LEAD: იღებს სვეტის მნიშვნელობას შემდეგი მწკრივიდან შეკითხვის შედეგში.
  • LAG: იღებს სვეტის მნიშვნელობას წინა მწკრივიდან შეკითხვის შედეგში.
  • FIRST_VALUE: ამოიღებს სვეტის პირველ მნიშვნელობას შეკითხვის შედეგში.
  • LAST_VALUE: ამოიღებს სვეტის ბოლო მნიშვნელობას შეკითხვის შედეგში.