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

function ახსენით SQL-ში შექმნის კონცეფცია procedure და მათი გამოყენების სარგებელი.

პასუხი: Function და procedure SQL-ში დასახელებულია კოდის ბლოკები, რომელთა გამოძახება შესაძლებელია სხვა მოთხოვნებიდან ან აპლიკაციებიდან.

  • Function: აბრუნებს მნიშვნელობას და ხშირად გამოიყენება გამოთვლებისთვის და შედეგების დასაბრუნებლად.
  • Procedure: არ აბრუნებს მნიშვნელობას და გამოიყენება მონაცემთა დამუშავების ან შენახვის ამოცანების შესასრულებლად.

ფუნქციებისა და პროცედურების გამოყენების უპირატესობები მოიცავს:

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

 

როგორ გამოვიყენოთ RECURSIVE მოთხოვნები და COMMON TABLE EXPRESSION(CTE) SQL-ში.

პასუხი: RECURSIVE queries და COMMON TABLE EXPRESSION(CTE) გამოიყენება რეკურსიული მოთხოვნების დასამუშავებლად და SQL-ში მოთხოვნის ნაწილის ხელახლა გამოსაყენებლად.

  • RECURSIVE: საშუალებას აძლევს მონაცემთა ბაზაში რეკურსიული მოთხოვნების შესრულებას.
  • CTE: მოქმედებს როგორც შედეგების დროებითი ნაკრები, არღვევს მოთხოვნას უფრო მცირე, უფრო მართვად ნაწილებად.
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;  

 

როგორ მოვაგვაროთ დუბლიკატი მონაცემები და არასწორი მონაცემების შემთხვევები SQ-ში

პასუხი: SQL-ში დუბლიკატი და არასწორი მონაცემების დასამუშავებლად, შეგვიძლია გამოვიყენოთ SQL განცხადებები, როგორიცაა DISTINCT, GROUP BY, HAVING და UNIQUE შეზღუდვები მონაცემთა უნიკალურობის უზრუნველსაყოფად. გარდა ამისა, ჩვენ შეგვიძლია გამოვიყენოთ UPDATE ან DELETE განცხადებები დუბლიკატი ან არასწორი ჩანაწერების აღმოსაფხვრელად.

 

აქ მოცემულია მონაცემთა სპეციალური ტიპების თარგმანი SQL Server-ში

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

XML:

  • XML მონაცემთა ტიპი SQL Server-ში იძლევა მონაცემთა შენახვისა და მუშაობის საშუალებას Extensible Markup Language ფორმატში.
  • XML მონაცემები შეიძლება შეიცავდეს მდიდარ სტრუქტურებს, რაც შესაძლებელს გახდის კარგად ორგანიზებული და მოქნილი ინფორმაციის შენახვას.
  • SQL Server უზრუნველყოფს ფუნქციებს და მეთოდებს XML მონაცემების მანიპულირებისთვის, რაც იძლევა XML მონაცემების მოთხოვნის, შექმნისა და ტრანსფორმაციის საშუალებას.

GEOGRAPHY და GEOMETRY:

  • და მონაცემთა GEOGRAPHY ტიპები GEOMETRY SQL Server-ში გამოიყენება გეოგრაფიული და გეომეტრიული ინფორმაციის შესანახად.
  • GEOGRAPHY გამოიყენება გეოგრაფიული ობიექტების წარმოსადგენად, როგორიცაა წერტილები, ხაზები, რეგიონები და პოლიგონები დედამიწის ზედაპირზე.
  • GEOMETRY გამოიყენება გეომეტრიული ობიექტების წარმოსადგენად, როგორიცაა წერტილები, ხაზები, რეგიონები და მრავალკუთხედები ბრტყელ სივრცეში.

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

 

ახსენით ფუნქციები და ფუნქციები SQL-ში თარიღისა და დროის მონაცემების დამუშავებისთვის

SQL-ში თარიღისა და დროის მონაცემების დამუშავების ფუნქციები და ფუნქციები გამოიყენება მონაცემთა ბაზაში თარიღებთან და დროებთან დაკავშირებული ამოცანების მანიპულირებისთვის და შესასრულებლად. აქ მოცემულია რამდენიმე საერთო ფუნქციისა და ფუნქციის დეტალური აღწერა:

DATEPART():ეს ფუნქცია გამოიყენება კონკრეტული კომპონენტის(მაგ. დღე, თვე, წელი, საათი, წუთი, წამი) ამოსაღებად თარიღის ან დროის მნიშვნელობიდან.

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

DATEDIFF(): ეს ფუნქცია ითვლის დროის სხვაობას ორ თარიღის ან დროის მნიშვნელობას შორის.

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

DATEADD(): ეს ფუნქცია ამატებს დღეების, თვეების, წლების ან დროის გარკვეულ რაოდენობას თარიღის ან დროის მნიშვნელობას.

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

GETDATE(): ეს ფუნქცია აბრუნებს სისტემის მიმდინარე თარიღსა და დროს.

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

CONVERT(): ეს ფუნქცია გამოიყენება თარიღის ან დროის მნიშვნელობების ერთი ფორმატიდან მეორეში გადასაყვანად.

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

FORMAT(): ეს ფუნქცია გამოიყენება თარიღის ან დროის მნიშვნელობების წინასწარ განსაზღვრული ნიმუშის მიხედვით დასაფორმებლად.

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