SQL
SQL | |
---|---|
бағдарламалау парадигмасы | Multi-paradigm |
Пайда болды | 1974 |
Дамытушы/дизайнері | Donald D. Chamberlin Raymond F. Boyce |
Бағдарламалық жасақтама дамытушысы | ISO/IEC |
Бағдарламалық жасақтама рилизі | SQL:2011/ 2011 |
Теру жүйесі | Static, strong |
Имплементациялары | Many |
Бағдарламалық жасақтама тілінің диалекттері | SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2008, SQL:2011 |
Бұған ықпал етті | Datalog |
Ықпалы | CQL, LINQ, Windows PowerShell[1] |
Операциялық жүйесі | Cross-platform |
Веб-сайты | ISO/IEC 9075-1:2008: Information technology – Database languages – SQL – Part 1: Framework (SQL/Framework). |
SQL | |
---|---|
Файл кеңейтімі: | .sql |
MIME түрі: | application/x-sql |
Дамытқан мекеме атауы: | ISO/IEC |
Формат типі: | Database |
Қалып(тар)ы: | ISO/IEC 9075 |
SQL (ағылш. Structured Query Language, «құрылымдық сұрау тілі») — тиісті дерекқорды басқару жүйесімен басқарылатын реляциялық дерекқорда деректерді құру, өзгерту және басқару үшін қолданылатын декларативті бағдарламалау тілі.
Бұл, ең алдымен, реляциялық мәліметтер базасында сақталған деректерді сипаттауға, өзгертуге және алуға арналған ақпараттық-логикалық тіл. Жалпы жағдайда, SQL (бірқатар заманауи кеңейтімдерсіз) тьюрингте толық емес бағдарламалау тілі болып саналады, бірақ сонымен бірге SQL/PSM спецификациясының тіл стандарты оның процедуралық кеңейтілу мүмкіндігін қарастырады.
Бастапқыда SQL пайдаланушының дерекқормен жұмыс істеуінің негізгі әдісі болды және келесі операциялар жиынтығын орындауға мүмкіндік берді:
- деректер базасында жаңа кесте құру;
- кестеге жаңа жазбалар қосу;
- жазбаларды өзгерту;
- жазбаларды жою;
- бір немесе бірнеше кестеден жазбаларды іріктеу (берілген шартқа сәйкес);
- кесте құрылымдарын өзгерту.
Уақыт өте келе SQL күрделене түсті — жаңа конструкциялармен байытылды, жаңа сақталған объектілерді сипаттауға және басқаруға мүмкіндік берді (мысалы, индекстер, көріністер, триггерлер және сақталған процедуралар) — және бағдарламалау тілдеріне тән белгілерді ала бастады.
Барлық өзгерістерімен SQL қолданбалы бағдарламалық жасақтаманың мәліметтер базасымен өзара әрекеттесуінің ең кең таралған лингвистикалық құралы болып қала береді. Сонымен қатар, қазіргі заманғы ДҚБЖ, сондай-ақ ДҚБЖ қолданатын Ақпараттық жүйелер пайдаланушыға сұраныстарды визуалды құрудың дамыған құралдарын ұсынады[2].
Тарихы
Алғашқы әзірлемелер
Дональд Чемберлин (Дональд Д. Чемберлин) және Раймонд Бойс 1972 жылы Нью-Йорктегі симпозиумда кездескеннен кейін Э.Коддтан реляциялық модель туралы білгеннен кейін реляциялық мәліметтер базасының тілінде жұмыс істей бастады. Чемберлиннің естеліктеріне сәйкес, бұл «аян» болды. Авторлар күрделі сұрауларды ұсыну үшін Э.Кодд ұсынған реляциялық алгебра мен реляциялық есептеудің экспрессивтілігі мен компамдылығына таң қалды. Код операциялардың математикалық белгілері бар символдық жазбаны қолданды, бірақ Чемберлен мен Бойс тілді кез-келген қолданушы тіпті бағдарламалау дағдылары мен математика білімі жоқ адамдар қолдана алатындай етіп жасағысы келді[3][4].
Кодда симпозиумынан кейін Чемберлин мен Бойс келесі жылды тіл дизайнындағы эксперименттерде өткізді. Олардың алғашқы әрекеті SQUARE тілі болды (Relational Environment - тегі арнайы сұраулар), бірақ ол жоғарғы және төменгі математикалық белгілерге байланысты практикалық қолдануда күрделі болды.
1973 жылы Сан-Хосе ғылыми-зерттеу зертханасына көшкеннен кейін Чемберлин мен Бойс SEQUEL деп аталатын мүлдем жаңа тілде жұмыс істей бастады (құрылымдық Structured English QUEry Language ағылшын тілінен, «құрылымдық сұраныстардың ағылшын тілі»). Авторлар кішкене тәжірибеден кейін тіпті қарапайым қолданушылар (мысалы, бухгалтерлер, инженерлер, сәулетшілер, қала жоспарлаушылар[5]) сұраныстарды қарапайым ағылшын тілінде жазылғандай оқи алады деп үміттенді. Тіл «декларативті» деп аталды, өйткені ол осы ақпаратты іздеудің егжей-тегжейлі жоспарын емес, қажетті нәтижені сипаттады. Декларативті сұранысты егжей-тегжейлі орындау жоспарына аударумен арнайы оңтайландырушы компилятор айналысуы керек еді[3].
SEQUEL туралы алғашқы жалпыға қол жетімді мақала 1974 жылы жарық көрді[6]. Бір айдан кейін Рэй Бойс қайтыс болды. Ол қайтыс болғаннан кейін SEQUEL тілі IBM System R жобасының бөлігі ретінде дамуын жалғастырды. Пэт Селингер (Pat Selinger) құндылық оптимизаторын (cost-based optimizer) әзірлеумен айналысты, Раймонд Лори (Raymond Lorie) сұраныстарды құрастырумен айналысты.
1977 жылы авторлар Ұлыбританияның Hawker Siddeley авиакомпаниясының заңгерінен осы компанияның «SEQUEL» сауда маркасына иелік ететіндігі туралы хат алды. Тіл атауын SQL-ге дейін қысқарту туралы шешім қабылданды (Structured Query Language, «құрылымдық сұрау тілі»)[7]. Дегенмен, SEQUEL-дің бастапқы атауы SQL аббревиатурасының қазіргі айтылуына әсер етті.
Жаңа тілді қолдайтын алғашқы ДҚБЖ 1979 жылы Relational Software компаниясының (кейіннен компаниейacle компаниясы болған) VAX машиналары үшін Oracle V2 және System/R негізіндегі IBM фирмасының system/38 болды.
Бастапқыда SQL термині аббревиатура болды, бірақ 1986 жылғы ANSI бірінші ресми стандартында «құрылымдық тіл» деген тіркес еш жерде айтылмаған және тіл «Database Language — SQL» деп аталған[8]. Келесі ISO/IEC 9075:1989 және ISO/IEC 9075:1992 стандарттарында «Database Language — SQL» орнына «Database Language SQL» немесе жай «language SQL» атауы қолданылған[9]. Алайда ISO/IEC 9075-1:2011 стандартының сипаттамасында ISO сайтында «ISO/IEC 9075 defines Structured Query Language (SQL)» көрсетілген.
SQL мұндай мақсаттағы жалғыз тіл емес еді. Калифорния Беркли университетінде Коммерциялық емес Ingres ДҚБЖ (қазіргі уақытта танымал коммерциялық емес PostgreSQL ДҚБЖ-ның алыс атасы) әзірленді, ол реляциялық ДҚБЖ болды, бірақ өзінің QUEL тілін қолданды, ол SQL тілімен салыстырғанда оны қолдайтын ДҚБЖ саны бойынша бәсекелестікке төтеп бере алмады. Пайдаланушының дерекқорға қол жетімділігін қамтамасыз етудің балама тәсілі ретінде 1970 жылдары пайда болған QBE әдісі де қарастырылды, кейіннен бірқатар интеграцияланған деректерді басқару орталарында модификацияланған түрде пайда болды, бірақ ешқашан АЛМАСТЫРЫЛМАДЫ, тек SQL-ді толықтырды.
Тіл элементтері

SQL тілі келесі тіл элементтеріне бөлінген:
- Clauses
- Expressions
- Predicates
- Queries
- Statements
- Insignificant whitespace
Сипаттамасы
SQL тілі келесі бөлімдердің жиынтығынан құралады:
- операторлар;
- инструкциялар;
- және есептуіш функциялары.
Дереккөздер
- ↑ Paul, Ryan A guided tour of the Microsoft Command Shell. Ars Technica. Тексерілді, 10 сәуір 2011.
- ↑ https://peter.eisentraut.org/blog/2023/06/01/sql-2023-is-out
- ↑ a b Chamberlin, Donald (2012). "Early History of SQL". IEEE Annals of the History of Computing. 34 (4): 78—82.
- ↑ https://api.semanticscholar.org/CorpusID:1322572
- ↑ Donald D. Chamberlin, Raymond F. Boyce. SEQUEL: A structured English query language // Proceedings of the SIGFIDET '74. — N. Y.: AC, 1974. — С. 249—264.
- ↑ https://dx.doi.org/10.1145%2F800296.811515
- ↑ Andy Oppel. Databases Demystified. — San Francisco, CA: McGraw-Hill Osborne Media. — С. 90—91. — ISBN 0-07-146960-5.
- ↑ https://archive.org/details/federalinformati127nati/
- ↑ http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
|
|
|