SQL
SQL (ინგლ. Structured Query Language, i/ˌɛsˌkjuːˈɛl/, „ეს-ქიუ-ელ“, ან /ˈsiːkwəl/, „სი-ქველ“) — პროგრამირებაში გამოყენებადი დომენ-სპეციფიკური სადეკლარაციო ენა, რომელიც შექმნილია რელაციურ მონაცემთა ბაზის მართვის სისტემაში (ᲠᲛᲑᲛᲡ) დაცული მონაცემების სამართავად, ან რელაციურ მონაცემთა ნაკადის მართვის სისტემებში (ᲠᲛᲜᲛᲡ) ნაკადის დამუშავებისთვის. განსაკუთრებით მოსახერხებელია სტრუქტურირებულ მონაცემებთან ურთიერთქმედებისას, სადაც არსებობს დამოკიდებულება მონაცემთა სხვადასხვა ობიექტებს / ცვლადებს შორის.
ჩაწერა/წაკითხვის ძველ პროგრამირების ინტერფეისებთან შედარებით, მაგალითად ISAM ან VSAM, SQL გვთავაზობს ორ უმთავრეს უპირატესობას: მასში რეალიზებულია ერთი ბრძანებით მრავალ ჩანაწერთან წვდომის კონცეფცია; აქრობს ჩანაწერამდე მიღწევის გზის განსაზღვრის აუცილებლობას, მაგ., ინდექსით თუ ინდექსის გარეშე.
SQL დაფუძნებულია რელაციურ ალგებრასა და კორტეჟთა რელაციურ აღრიცხვაზე და შედგება მრავალი სახის ოპერატორებისგან, რომლებიც არაფომალურად შეიძლება დაიყოს შემდეგ ქვეენებად: მონაცემთა მოთხოვნის ენა (Data Query Language, DQL), მონაცემთა განსაზღვრის ენა (Data Definition Language, DDL), მონაცემთა წვდომის კონტროლის ენა (Data Control Language, DCL), მონაცემთა მანიპულაციის ენა (Data Manipulation Language, DML) და ტრანზაქციების კონტროლის ენა (Transaction Control Language, TCL). SQL-ის მოქმედების არეში ხვდება მონაცემთა მოთხოვნა, მონაცემებზე მანიპულაცია (დამატება, განახლება და წაშლა), მონაცემთა განსაზღვრა (სქემის შექმნა და მისი ცვლილება) და მონაცემებთან წვდომის კონტროლი. SQL დიდწილად სადეკლარაციო ენას წარმოადგენს, თუმცა კი, მასში პროცედურული ელემენტებიც გამოიყენება.
SQL იყო ედგარ კოდის რელაციური მოდელისთვის შექმნილი ერთ-ერთი პირველი კომერციული ენა. კოდმა საკუთარი მოდელის აღწერა მოიყვანა 1970 წელს გამოცემულ ნაშრომში „მონაცემთა რელაციური მოდელი დიდი ზიარი მონაცემთა ბანკებისთვის“. მიუხედავად იმისა, რომ მასში სრულყოფილად დაცული არ არის კოდის მიერ ნაშრომში ჩამოყალიბებული მოდელი, SQL იქცა მონაცემთა ბაზებთან სამუშაო ყველაზე გავრცელებულ ენად.
SQL აღიარებულ იქნა სტანდარტად ამერიკის ეროვნული სტანდარტების ინსტიტუტის (ANSI) მიერ 1986 წელს, ხოლო 1987 წელს სტანდარტიზაციის საერთაშორისო ორგანიზაციის (ISO) მიერ. SQL-ის სტანდარტმა დროთა განმავლობაში მრავალი ცვლილება განიცადა ახალი შესაძლებლობებით გამდიდრების მიზნით. სტანდარტის მიუხედავად, არ არის მიღწეული SQL-ის კოდის სრული გადატანადობა მონაცემთა ბაზების განსხვავებულ სისტემებს შორის, შესწორებების შეტანის საჭიროების გარეშე.
SQL პირველად შემუშავებულ იქნა IBM-ში, დონალდ ჩემბერლინის და რეიმონდ ბოისის მიერ ედგარ კოდის რელაციური მოდელის გაცნობის შემდეგ ადრეულ 1970-იან წლებში. პირველ ვერსიას დაარქვეს SEQUEL (Structured English Query Language, სტრუქტურირებული ინგლისური მოთხოვნების ენა) და მოწოდებული System R სისტემაში შენახულ მონაცემთა გამოსატანად და მანიპულაციისთვის. System R იყო კვაზი-რელაციურ მონაცემთა ბაზის მართვის სისტემა და შემუშავდა IBM-ის სან-ხოსეს კვლევით ლაბორატორიაში 1970-იან წლებში.
ჩემბერლინის და ბოისის მიერ რელაციურ მონაცემთა ბაზის ენის შექმნის პირველი მცდელობის შედეგი იყო Square, თუმცა ეს უკანასკნელი ძნელად გამოსაყენებელი გამოდგა. 1973 წელს სან-ხოსეს კვლევით ლაბორატორიაში გადასვლის შემდეგ მკვლევარებმა SEQUEL-ზე მუშაობა დაიწყეს. მოგვიანებით აკრონიმიდან SEQUEL ამოღებულ იქნა რამდენიმე ასო და დარჩა SQL, რაც გამოწვეული იმით, რომ სავაჭრო ნიშნის რეგისტრაციის მცდელობისას გაირკვა რომ SEQUEL სახელი უკვე მისაკუთრებული ჰქონდა ბრიტანულ ავიამწარმოებელ კომპანიას Hawker Siddeley Dynamics Engineering Limited.
SQL-ის გამოცდა პრაქტიკულობასა და გამოყენებადობაზე ჩატარებულ იქნა კლიენტთა მონაწილეობით, რომლის შედეგების გათვალისწინებით IBM-მა დაიწყო System R-ის პროტოტიპზე დაფუძნებული კომერციული პროდუქტების შემუშავება, რომელთა შორის იყო System/38, SQL/DS, DB2 და კომერციულად ხელმისაწვდომი იყო 1979, 1981 და 1983 წლებში შესაბამისად.
გვიან 70-იანებში კომპანია Relational Software-ში (ამჟამად Oracle Corporation) გაიაზრეს კოდის, ჩემბერლინის და ბოისის კონცეპტების შესაძლებლობები და მალევე შეიმუშავეს SQL-ზე დაფუძნებული საკუთარი ᲠᲛᲑᲛᲡ, აშშ-ის საზღვაო ძალებზე, ცენტრალურ სადაზვერვო სამმართველოზე და აშშ-ის სხვა სახელმწიფო ორგანოებზე გაყიდვის მიზნით. 1979 წლის ივნისში Relational Software Inc-მა წარმოადგინა VAX კომპიუტერებისთვის შექმნილი პირველი საკუთარი კომერციული SQL პროდუქტი Oracle V2.
1986 წლისთვის ANSI-ს და ISO-ს სტანდარტიზების ჯგუფებმა ოფიციალურად მიიღეს სტანდარტად „მონაცემთა ბაზების ენა SQL“ ენის აღწერა. ამ სტანდარტის ახალი ვერსიები გამოქვეყნდა 1989, 1992, 1996, 1999, 2003, 2006, 2008, 2011 და 2016 წელს.