SQL

მასალა ვიკიპედიიდან — თავისუფალი ენციკლოპედია
Jump to navigation Jump to search

SQL (ინგლ. Structured Query Language, Listeni/ˌɛsˌkjuːˈɛl/, „ეს-ქიუ-ელ“, ან /ˈskwə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 წელს.

დიზაინი[რედაქტირება | წყაროს რედაქტირება]

SQL ენა გარკვეულ სხვაობას იძლევა საკუთარ თეორიულ საფუძვლებთან, რელაციურ მოდელთან და კორტეჟების აღრიცხვასთან მიმართებაში. კერძოდ, რელაციური მოდელის მიხედვით, ცხრილი ესაა კორტეჟების ნაკრები, მაშინ როდესაც SQL-ში ცხრილი და მოთხოვნის შედეგი არის სტრიქონების სია: ერთი და იგივე სტრიქონი შეიძლება გამეორდეს რამდენიმე ჯერ, ხოლო მათი მიმდევრობა შეიძლება გამოცხადებულ იქნას მოთხოვნის ბრძანებაში. კრიტიკოსების განცხადებით, აუცილებელია SQL შეიცვალოს ისეთი ენით, რომელიც ხისტად შესაბამისი ქნება რელაციური მოდელის აღწერილობის. თუმცა, არ არსებობს არც ერთი ცნობილი დასაბუთება იმისა, რომ შეუძლებელია თავად SQL ან მისი რომელიმე ვარიანტი მოყვანილ იქნას შესაბამის სახემდე. სხვა სიტყვებით რომ ვთქვათ, სავსებით შესაძლებელია SQL „გამოსწორდეს“ ან გაუმჯობესდეს ისე, რომ მთელ ინდუსტრიას არ მოუწევს სრულად განსხვავებულ ენაზე „გადაბარგება“ უნიკალური მოდელის უზრუნველსაყოფად.

სინტაქსი[რედაქტირება | წყაროს რედაქტირება]

SQL-ის ენა იყოფა ენობრივ რამდენიმე ელემენტად:

  • წინადადებები — მოთხოვნების და ინსტრუქციების შემადგენელი ნაწილები. ზოგ შემთხვევაში გამოყენება არასავალდებულოა;
  • გამოსახულებები — შეიძლება დააბრუნონ სკალარული მნიშვნელობა, ან მონაცემების სტრიქონების და სვეტებისგან შემდგარი ცხრილი;
  • პრედიკატები — განსაზღვრავენ პირობებს, რომლებიც შეიძლება გადამოწმდეს SQL-ის სამმნიშვნელობიანი ლოგიკის (ჭეშმარიტება/მცდარობა/უცნობი) ან ბულის ალგებრის მიხედვით და შესაბამისად გავლენა მოახდინონ ინსტრუქციების და მოთხოვნების შესრულებაზე, ან შეცვალონ პროგრამის მსვლელობის მიმართულება.
  • მოთხოვნები —– ამოაქვთ მონაცემები განსაზღვრული პირობების მიხედვით. არის SQL-ის ერთ-ერთი ძირითადი შემადგენელი ნაწილი.
  • ინსტრუქციები — შეიძლება იქონიონ მუდმივი გავლენა სქემებზე და მონაცემებზე, ან აკონტროლონ ტრანზაქციები, პროგრამის მსვლელობა, კავშირები, სესიები ან აწარმოონ დიაგნოსტიკა.
    • SQL-ინსტრუქციები მოიცავს წერტილ-მძიმესაც ; რომელიც ინსტრუქციის დამსრულებელია. წერტილ-მძიმის გამოყენება უმეტეს პლატფორმებსა და SQL-ის რეალიზაციებში აუცილებელებელი არ არის, თუმცა იგი შედის SQL-ის სინტაქსის სტანდარტში.
  • უმნიშვნელო ნიშანსივრცეები SQL ინსტრუქციებსა და მოთხოვნებში უგულვებელყვება, რაც აადვილებს SQL კოდის ფორმატირებას კითხვადობის გასაუმჯობესებლად.

პროცედურული გაფართოებები[რედაქტირება | წყაროს რედაქტირება]

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

წყარო გავრცელებული სახელი სრული სახელი
ANSI/ISO სტანდარტი SQL/PSM SQL/Persistent Stored Modules
Interbase / Firebird PSQL Procedural SQL
IBM DB2 SQL PL SQL Procedural Language (რეალიზებულია SQL/PSM)
IBM Informix SPL Stored Procedural Language
IBM Netezza NZPLSQL[1] (based on Postgres PL/pgSQL)
Invantive PSQL[2] Invantive Procedural SQL (რეალიზებულია SQL/PSM და PL/SQL)
MariaDB SQL/PSM, PL/SQL SQL/Persistent Stored Module (რეალიზებულია SQL/PSM), Procedural Language/SQL (ეფუძნება Ada-ს)[3]
Microsoft / Sybase T-SQL Transact-SQL
Mimer SQL SQL/PSM SQL/Persistent Stored Module (რეალიზებულია SQL/PSM)
MySQL SQL/PSM SQL/Persistent Stored Module (რეალიზებულია SQL/PSM)
MonetDB SQL/PSM SQL/Persistent Stored Module (რეალიზებულია SQL/PSM)
NuoDB SSP Starkey Stored Procedures
Oracle PL/SQL Procedural Language/SQL (უფუძნება Ada-ს)
PostgreSQL PL/pgSQL Procedural Language/PostgreSQL Structured Query Language (რეალიზებულია SQL/PSM)
SAP R/3 ABAP Advanced Business Application Programming
SAP HANA SQLScript SQLScript
Sybase Watcom-SQL SQL Anywhere Watcom-SQL Dialect
Teradata SPL Stored Procedural Language

ბევრ SQL პლატფორმაზე სტანდარტული SQL/PSM და პროპრიეტარული SQL გაფართოებების გარდა, ხელმისაწვდომია პროცედურული და ობიექტზე-ორიენტირებული პროგრამირება მონაცემთა ბაზების მართვის სისტემის სხვა ენებთან ინტეგრაციის გზით. SQL სტანდარტში აღწერილია SQL/JRT გაფართოება Java კოდის მხარდასაჭერად SQL მონაცემთა ბაზებში. SQL Server 2005-ში გამოყენებულია SQLCLR (SQL Server Common Language Runtime) მართვადი .NET ანაწყობების მონაცემთა ბაზაში განლაგებისთვის, მაშინ როდესაც, SQL Server-ის უფრო ძველი ვერსიები შეზღუდულები იყვნენ ძირითდად C-ზე დაწერილი გაფრთოებული უმართავი შენახვადი პროცედურებით. PostgreSQL-ში მომხმარებელს ფუნქციების დასაწერად ენების ფართო არჩევან აქვს, ესენია Perl, Python, Tcl, JavaScript (Pl/V8) და C.

ფუნქციური თავსებადობა და სტანდარტიზაცია[რედაქტირება | წყაროს რედაქტირება]

სხვადასხვა მომწოდებელის მიერ შემუშავებული SQL-ის რაელიზაციები არათავსებადია და არც მკაცრად სტანდარტს შეესაბამებიან. კერძოდ, თარიღისა და დროის სინტაქსი, სტრიქონის კონკატენცია, NULL-ები და შედარებისას რეგისტრისადმი მგრძნობელობა განსხვავდება მომწოდებლებს შორის. გარკვეულწილად გამონაკლისებია PostgreSQL და Mimer SQL, რომლებიც ცდილობენ სტანდრტს შეესაბამებოდნენ, თუმცა PostgreSQL სტანდარტს არ შეესაბამება ბრჭყალებში არ ჩასმული სახელების დამუშავებაში. PostgreSQL-ში ბრჭყალებში არ ჩასმული სახელები ქვედა რეგისტრში გადაიყვნება, მაშინ როდესაც SQL სტანდარტი ამბობს საწინააღმდეგოს — უბრჭყალებო სახელები უნდა აკეცილ იქნას მაღალ რეგისტრში. სტანდარტის შესაბამისად, თუ წერია Lname, იგი უნდა აიკეცოს როგორც LNAME, და არა lname, როგორც ეს PostgreSQL-ში ხდება.

SQL-ის გავრცელებულ რეალიზაციებში უგულვებელყოფილია SQL სტანდარტის ისეთი ძირითადი ფუნქციების მხარდაჭერა, როგორებიცაა DATE და TIME მონაცემთა ტიპები. ამის ყველაზე თვალსაჩინო მაგალითებია Oracle (რომლის DATE იქცევა როგორც DATETIME ტიპი, და არ აქვს TIME ტიპის მონაცემი) და MS SQL Server (2008 წლამდე), რომლებიც ამასთან ყველაზე გავრცელებული კომერციული და პროპრიეტარული SQL მონაცემთა ბაზის მართვის სისტემებია. ამის შედგეად, SQL კოდის სხვადასხვა მომწოდებლის მონაცემთა ბაზის სისტემებს შორის გადატანა იშვიათად შეიძლება მოხერხდეს კოდში ცვლილებებს გარეშე.

არსებობს ბაზების სისტემებს შორის კოდის თავსებადობის ამ ნაკლოვანების რამდენიმე ბიზეზი:

  • SQL სტანდარტი იმდენად მოცულობითი და რთულია, რომ მწარმოებლების უმრავლესობა არ მიყვება სრულ სტანდარტს.
  • სტანდარტი არ განსაზღვრავს მონაცემთა ბაზის მოქმედებას ისეთ მნიშვნელოვან არეალებში, როგორებიცა ინდექსები, ფაილური სანახი და სხვა, შესაბამისად მწარმოებლებს უტოვებს თავისუფლებას თავად გადაწყვიტონ თუ როგორ მოახდენენ რეალიზაციას.
  • SQL სტანდარტში მკაცრად განსაზღრულია სინტაქსი, რომელსაც უნდა აკმაყოფილებდეს შესაბამისი მონაცემთა ბაზის სისტემა. თუმცა, სტანდარტში ენის კონსტრუქციების სემანტიკის თავისებურებები ნაკლებადაა აღწერილი, რაც ორაზროვანებას იწვევს.
  • მომწოდებლების უმრავლესობას აქვს კლიენტების დიდი ბაზები; თუ SQL სტანდარტის ახალი ვერსია წინააღმდეგობრივია მომწოდებლის წინამორბედი ვერსიის მონაცემთა ბაზის ქცევასთან, მაშინ შესაძლოა მომწოდებელს არ მოესურვოს უკუთავსებადობის შეწყვეტა.
  • მომწოდებლებს არ აქვთ კომერვიული ინტერესი მომხმარებელს თავისუფლად შეეძლოს მონაცემთა ბაზის მიმწოდებლის ცვლილება (იხ., მომწოდებლთან მიჯაჭვულობა).
  • მომხმარებლები უპირატესობას ანიჭებენ ბაზის მაღალ წარმადობას, ვიდრე სტანდარტებთან შესაბამისობას.

SQL სტანდარტად აღიარებულ იქნა ამერიკის ეროვნული სტანდარტების ინსტიტუტის მიერ 1986 წელს როგორც SQL-86, ხოლო სტანდარტიზაციის საერთაშორისო ორგანიზაციის მიერ 1987 წელს. მის მხარდაჭერას ახორციელებს ISO/IEC JTC 1/SC 32. სტანდარტი ჩვეულებრივ აღნიშნება შაბლონურად: ISO/IEC 9075-„ნომერი“:„წელი“ Part „ნომერი“: „სათაური“, ან შემოკლებით, ISO/IEC 9075.

ISO/IEC 9075 სტანდარტს დამატებულია ISO/IEC 13249: SQL Multimedia and Application Packages (SQL/MM), რომლეიც განსაზღვრავს SQL-ზე დაფუძნებულ ინტერფეისებსა და პაკეტებს ფართოდ გავრცელებული ფორმატებისთვის, როგორებიცაა ვიდეო, აუდიო და სივრცული მონაცემები.

1996 წლამდე, SQL მონაცემთა ბაზების მართვის სისტემების სერტიფიცირებას SQL სტანდარტთან შესაბამისობაზე ახდენდა სტანდარტების და ტექნოლოგიების ეროვნული ინსტიტუტი (NIST). ამჟამად მომწოდებლები თავად ახდნენ საკუთარი ნაწარმის სერტიფიცირებას შესაბამისობაზე.

სტანდარტი განსაზღვრავს SQL-ის სახელწოდების ოფიციალურ წარმოთქმას როგორც /ˌɛsˌkjuːˈɛl/ („ეს-ქიუ-ელ“) და ამბობობს, რომ მოცემული სახელი არის აბრევიატურა. მიუხედავად ამისა, დარგის ბევრი ინგლისურენოვანი სპეციალისტი (მათ შორის თავად SQL-ის შემმუშავებელი დევიდ ჩემბერლინი) სახელწოდებას წარმოთქვამს როგორც აკრონიმს /ˈskwəl/ („სიქველ“), რაც არის SQL-ის წინამორბედი პროდუქტის, SEQUEL-ის ანარეკლი.

SQL სტანდარტმა დროთა განმავლობაში გარკვეული ცვლილებები განიცადა:

წელი სახელი კოდი შენიშვნა
1986 SQL-86 SQL-87 პირველადი სტანდარტი, ფორმირებულ იქნა ANSI-ს მიერ.
1989 SQL-89 FIPS 127-1 უმნიშვნელო ცვლილებები, რომელმაც მთლიანობის შეზღუდვები დაამატა. მიღებულ იქნა როგორც FIPS 127-1.
1992 SQL-92 SQL2, FIPS 127-2 მნიშვნელოვანი ცვლილებები (ISO 9075), SQL-92-ის Entry Level დონე მიღებულ იქნა როგორც FIPS 127-2.
1999 SQL:1999 SQL3 დაემატა რეგულარული გამოსახულებების მხარდაჭერა, რეკურსიული მოთხოვნები, ტრიგერები, პროცედურული და ნაკადის კონტროლის ინსტრუქციების მხარდაჭერა, მონაცემთა არასკალური ტიპები და გარკვეული ობიექტზე-ორიენტირებული შესაძლებლობები. SQL-ში Java-ს (SQL/OLB) და პირიქით (SQL/JRT) ჩაშენების მხარდაჭერა.
2003 SQL:2003 გაჩნდა XML-თან მუშაობის მხარდაჭერა (SQL/XML), ფანჯრული ფუნქციები (OLAP ბაზებთან სამუშაოდ), მიმდევრობების გენერატორები და სვეტები ავტომატურად გენერირებადი მნიშვნელობებით.
2006 SQL:2006 ISO/IEC 9075-14:2006-ში განისაზღვრა SQL-ის XML-თან გამოყენების სპეციფიკა. განისაზღვრა XML-მონაცემების იმპორტის და SQL-ბაზაში შენახვის წესები, მასზე მნიპულირების შესაძლებლობები და როგორც XML- ისევე ჩვეულებრივი SQL-მონაცემების XML ფორმატში გამოქვეყნების გზები. გაჩნდა შესაძლებლობა მოთხოვნებში გაერთიანდეს SQL-კოდი და XQuery.
2008 SQL:2008 სტარტიზებულ იქნა კურსორს მიღმა ORDER BY გამოყენება. დაემატა INSTEAD OF ტრიგერი, TRUNCATE ინსტრუქცია, FETCH-წინადადება.
2011 SQL:2011 დაემატა დროებითი მონაცემები (PERIOD FOR). გაუმჯობესებები „ფანჯრული ფუნქციებისთვის“ და FETCH-წინადადებისთვის.
2016 SQL:2016 დაემატა დაცა სტრიქონის დონეზე, პოლიმორფული ცხრილის ფუნქციები, JSON.

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

SQL სტანდარტი იყოფა ცხრა ნაწილად:

  • ISO/IEC 9075-1:2016 Part 1: Framework (SQL/Framework). აღწერს ლოგიკურ კონცეპტს.
  • ISO/IEC 9075-2:2016 Part 2: Foundation (SQL/Foundation). შეიცავს ენის მთავარი ლემენტებს და შედგება აუცილებელი და ნებაყოფლობითი შესაძლებლობებისგან.
  • ISO/IEC 9075-3:2016 Part 3: Call-Level Interface (SQL/CLI). აღწერს ურთიერთმოქმედ კომპონენტებს (სტრუქტურებს, პროცედურებს, ცვლადებს), რომლებიც შესაძლებელია გამოყენებულ იქნან SQL ინსტრუქციების შესრულებისთვის აპლიკაციებიდან, რომლებიც დაწერილია Ada-ზე, C-ზე, C++, COBOL, Fortarn, MUMPS, Pascal ან PL/I-ზე. Java-ზე წერია მეათე ნაწილში. SQL/CLI აღწერილი იმგვარად, რომ SQL-ინსტრუქცია და SQL/CLI-პროცედურის გამოძახებები მუშავდება გამომძახებელი აპლიკაციის წყაროს კოდისგან განცალკევებული სახით. SQL/CLI-ს ფართოდ ცნობილი გაფართოებული კომპლექტია Open Database Connectivity. სტანდარტის ეს ნაწილი შეგება მხოლოდ სავალდებულო ფუნქციებისაგან.
  • ISO/IEC 9075-4:2016 Part 4: Persistent stored modules (SQL/PSM). ეს ნაწილი აყალიბებს SQL-ის პროცუდურული გაფართოებების სტანდარტებს, მათ შორის, კონტროლის ნაკადი, მდგომარეობის მართვის, ინსტრუქციის მდგომარეობის სიგნალებიდა რესიგნალები, კურსორები და ადგილობრივი ცვლადები, ცვლადებისთვის და პარამეტრებისთვის გამოსახულებების მინიჭება. დამატებით, SQL/PSM-ში ფორმალიზებულია მონაცემთა ბაზების მუდმივი ქვეპროგრამები (მაგ., „დაცული პროცედურები“). სტანდარტის ეს ნაწილი შედგება მხოლოდ ნებაყოფლობითი შესაძლებლობებისგან.

სქოლიო[რედაქტირება | წყაროს რედაქტირება]

  1. IBM PureData System for Analytics, Version 7.0.3.
  2. Invantive Procedural SQL.
  3. CREATE PROCEDURE. წაკითხვის თარიღი: 2019-04-23
მოძიებულია „https://ka.wikipedia.org/w/index.php?title=SQL&oldid=3688448“-დან