Π”ΠΈΠΏΠ»ΠΎΠΌ, курсовая, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°
ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚

Π―Π·Ρ‹ΠΊ SQL: общая характСристика, интСрфСйс с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ языками программирования

Π”ΠΎΠΊΠ»Π°Π΄ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

НСкоторой ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ способа являСтся использованиС «Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ» языка SQL. Π’ ΡΡ‚ΠΎΠΌ случаС Π² Ρ‚Скст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ поколСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π° Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ прСдлоТСния SQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΡΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ «EXEC SQL». ΠŸΠ΅Ρ€Π΅Π΄ компиляциСй Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ такая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обрабатываСтся прСпроцСссором, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ транслируСт смСсь ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² «ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΠ³ΠΎ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π―Π·Ρ‹ΠΊ SQL: общая характСристика, интСрфСйс с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ языками программирования (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ агСнтство ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ ГосударствСнноС ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования ΠŸΠ΅Ρ‚Ρ€ΠΎΠ·Π°Π²ΠΎΠ΄ΡΠΊΠΈΠΉ государствСнный унивСрситСт Кольский Ρ„ΠΈΠ»ΠΈΠ°Π» ΠšΠ°Ρ„Π΅Π΄Ρ€Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π”ΠΎΠΊΠ»Π°Π΄ Π½Π° Ρ‚Π΅ΠΌΡƒ:

«Π―Π·Ρ‹ΠΊ SQL — общая характСристика, интСрфСйс с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ языками программирования»

студСнта 5 курса (Π³Ρ€. 2)

ΠΎΡ‡Π½ΠΎΠ³ΠΎ отдСлСния Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π° ИПМ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ 230 102 — АвтоматизированныС систСмы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ

Бамсонова Антона Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ΠΎΠ²ΠΈΡ‡Π° Апатиты

1 Π₯арактСристики

2 Вопросы практичСского программирования

3 Вопросы совмСстимости

4 Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ SQL

5 Π’ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄ SQL

6 ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ языка SQL

6.1 ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°

6.2 НСдостатки Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. Π₯арактСристики

Π’ Π½Π°Ρ‡Π°Π»Π΅ 1970;Ρ… Π³ΠΎΠ΄ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ IBM Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ рСляционная Π‘Π£Π‘Π” IBM System R, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Ρ‚Π΅ΠΌ Π±Ρ‹Π» создан ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык SEQUEL, позволявший ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просто ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΡΡ‚ΠΎΠΉ Π‘Π£Π‘Π”. АббрСвиатура SEQUEL Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π»Π°ΡΡŒ ΠΊΠ°ΠΊ Structured English QUEry Language — «ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ английский язык запросов». ПозТС ΠΏΠΎ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΌ сообраТСниям язык SEQUEL Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² SQL.

ЦСлью Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Ρ‹Π»ΠΎ созданиС простого Π½Π΅ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠ³ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ любой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π½Π°Π²Ρ‹ΠΊΠΎΠ² программирования. БобствСнно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ языка запросов занимались Π”ΠΎΠ½Π°Π»ΡŒΠ΄ Чэмбэрлин (Donald D. Chamberlin) ΠΈ Π ΡΠΉ Бойс (Ray Boyce). ΠŸΡΡ‚ Π‘Π΅Π»ΠΈΠ½Π΄ΠΆΠ΅Ρ€ (Pat Selinger) занималась Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ стоимостного ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° (cost-based optimizer), Рэймонд Π›ΠΎΡ€ΠΈ (Raymond Lorie) занимался компилятором запросов.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌΠΈ Π‘Π£Π‘Π”, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ Π½ΠΎΠ²Ρ‹ΠΉ язык, стали Π² 1979 Π³ΠΎΠ΄Ρƒ Oracle V2 для машин VAX ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Relational Software Inc. (впослСдствии ΡΡ‚Π°Π²ΡˆΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Oracle) ΠΈ System/38 ΠΎΡ‚ IBM, основанная Π½Π° System/R. Π’ΠΎΠΏΡ€Π΅ΠΊΠΈ ΡΠ»ΠΎΠΆΠΈΠ²ΡˆΠ΅ΠΌΡƒΡΡ мнСнию, ΠΏΠ΅Ρ€Π²ΠΎΠΉ стала ΠΈΠΌΠ΅Π½Π½ΠΎ Π‘Π£Π‘Π” Oracle.

Рост количСства Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΡ… Ρ…ранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ стандартного языка Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠ³ Π±Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠ½ΠΎΠ³ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… систСмах Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ². Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π»ΠΈ ΠΎΠ½ΠΈ Π½Π° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, сСтСвой Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ станции ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ Π­Π’Πœ.

SQL (Π°Π½Π³Π». Structured Query Language — «ΡΠ·Ρ‹ΠΊ структурированных запросов») — ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ-логичСский язык, появившийся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, примСняСмый для создания, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ, SQL Π±Ρ‹Π» основным способом Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚авлял собой Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²) Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… созданиС Ρ‚Π°Π±Π»ΠΈΡ†, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½ΠΎΠ²Ρ‹Ρ… записСй, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ записСй ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ† (Π² ΡΠΎΠΎΡ‚вСтствии с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ условиСм), ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структур Ρ‚Π°Π±Π»ΠΈΡ†. Π’ ΡΠ²ΡΠ·ΠΈ с ΡƒΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ΠΌ язык SQL стал Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ языком программирования, Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ построитСли запросов.

SQL ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ отличаСтся ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… алгоритмичСских языков программирования ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΡ‚носится ΠΊ Π½Π΅ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΌ языкам. На ΡΠ·Ρ‹ΠΊΠ΅ Ρ‚ΠΈΠΏΠ° Кобол ΠΈΠ»ΠΈ Π‘ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ шаг Π·Π° ΡˆΠ°Π³ΠΎΠΌ всС инструкции, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π―Π·Ρ‹ΠΊ SQL позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, «Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ», Π° ΡΠ°ΠΌΠΎ исполнСниС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ («ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ») возлагаСтся нСпосрСдствСнно Π½Π° Π‘Π£Π‘Π”. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ опрСдСляСтся самой философиСй рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π£Π‘Π” Π² Π΄Π°Π½Π½ΠΎΠΌ случаС рассматриваСтся ΠΊΠ°ΠΊ «Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ ящик», ΠΈ Ρ‡Ρ‚ΠΎ происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ. Π•Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ внСсСниС Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π·Π°ΠΏΡ€ΠΎΡ.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ SQL являСтся Ρ‚Π°ΠΊ называСмая трСхзначная Π»ΠΎΠ³ΠΈΠΊΠ°. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков Π±ΡƒΠ»Π΅Π²ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° значСния: истина ΠΈ Π»ΠΎΠΆΡŒ. Π―Π·Ρ‹ΠΊ SQL позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL (пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅). NULL — это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ помСщаСтся Π² ΡΡ‚ΠΎΠ»Π±Π΅Ρ† Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ссли ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π² Π½Π΅ΠΌ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅. Когда Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL участвуСт Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΡ… сравнСния, Π±ΡƒΠ»Π΅Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈ ΠΈΡΡ‚ΠΈΠ½Π° ΠΈ Π½ΠΈ Π»ΠΎΠΆΡŒ, Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎ.

ВсС языки манипулирования Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, созданныС для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π‘Π£Π‘Π” Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Π±Ρ‹Π»ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, прСдставлСнными Π² Π²ΠΈΠ΄Π΅ логичСских записСй Ρ„Π°ΠΉΠ»ΠΎΠ². РазумССтся, это Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ знания ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… усилий для указания Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹, Π³Π΄Π΅ ΠΎΠ½ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ.

Благодаря Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ сСрвСрами Π‘Π£Π‘Π”, мноТСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ доступ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. УпрощаСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм управлСния организациями. Однако ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ вся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° запросов ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ»ΠΈ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π­Π’Πœ Π½Π° Π½ΠΈΡ… ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся, поэтому для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°ΠΆΠ΅ простого запроса Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ Ρ†Π΅Π»Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° ΡΡ‚ΠΎ Π²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹ΠΌ ситуациям ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ΅ сСти. Для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… нСдостатков Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° тСхнология ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, Π½ΠΎ ΠΏΡ€ΠΈ этом понадобился Π΅Π΄ΠΈΠ½Ρ‹ΠΉ язык общСния с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ — Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Π» Π½Π° SQL.

РассматриваСмый язык SQL ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, прСдставлСнными Π² Π²ΠΈΠ΄Π΅ логичСски взаимосвязанных совокупностСй Ρ‚Π°Π±Π»ΠΈΡ†-ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ. Π’Π°ΠΆΠ½Π΅ΠΉΡˆΠ°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ структур — ориСнтация Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ этой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π―Π·Ρ‹ΠΊ SQL сам опрСдСляСт, Π³Π΄Π΅ находятся Π΄Π°Π½Π½Ρ‹Π΅, индСксы ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивныС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для получСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ эти Π΄Π΅Ρ‚Π°Π»ΠΈ Π² Π·Π°ΠΏΡ€ΠΎΡΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Ρ‚рСбуСтся.

SQL Π² Π½Π°ΡΡ‚оящСС врСмя ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС ΠΈ Ρ„актичСски прСвратился Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ язык рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ Π½Π° ΡΠ·Ρ‹ΠΊ SQL Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ АмСриканским Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ институтом стандартов (ANSI) Π² 1986 Π³., Π° Π² 1987 Π³. ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Π°Ρ организация стандартов (ISO) приняла Π΅Π³ΠΎ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ языка поставщиками Π‘Π£Π‘Π” ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ принятия Π² 1992 Π³ΠΎΠ΄Ρƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ стандарта (ANSI SQL-92 ΠΈΠ»ΠΈ просто SQL2). Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ стандартом стал SQL:1999 (SQL3). Π’ Π½Π°ΡΡ‚оящСС врСмя дСйствуСт стандарт, принятый Π² 2003 Π³ΠΎΠ΄Ρƒ (SQL:2003) с Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ модификациями, внСсёнными ΠΏΠΎΠ·ΠΆΠ΅.

2. Вопросы практичСского программирования

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, любой поставщик Π‘Π£Π‘Π” прСдоставляСт вмСстС со ΡΠ²ΠΎΠ΅ΠΉ систСмой внСшнюю ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ, которая позволяСт Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ SQL Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ это сдСлано Π½Π° ΡΡ‚ΠΎΠΉ страничкС, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ доступ ΠΊ Π‘Π” publications). НСдостатки Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ SQL, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ схСму Π‘Π”, отсутствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ просмотра Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² выполнСния запросов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ стали инструмСнтами администраторов Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π΄Π»Ρ создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки программирования. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, написанныС Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ собствСнных Π·Π°Π΄Π°Ρ‡, Π° Π½Π΅ Π½Π° структурах Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ‡Ρ‚ΠΈ всС способы ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… основаны Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ «ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр». Π’. Π΅. прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π±ΠΈΡ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Π½Π° Π΄Π²Π΅ части:

ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса

сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ собствСнно Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ запросы ΠΈ ΠΏΠΎΡΡ‹Π»Π°Π΅Ρ‚ ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ для отобраТСния

ΠŸΡ€ΠΈ этом прСдполагаСтся, Ρ‡Ρ‚ΠΎ каТдая Ρ‡Π°ΡΡ‚ΡŒ прилоТСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚. Π΅. ΠΊ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ сСрвСру Π‘Π” с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ локальной сСти ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹). Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярная сСгодня схСма ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСды.

Π―Π·Ρ‹ΠΊ SQL позволяСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π½ΠΎ Π² Π½Π΅ΠΌ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ срСдства создания экранного интСрфСйса, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Для создания этого интСрфСйса слуТат ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ языки Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ поколСния (C, C++, Pascal) ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ поколСния (xBase, Informix 4Gl, Progress, Jam,…). Π­Ρ‚ΠΈ языки содСрТат Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ структурного программирования (Ρ†ΠΈΠΊΠ»Π°, вСтвтСлСния ΠΈ Ρ‚. Π΄.). Π’Π°ΠΊΠΆΠ΅ эти языки Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ структур, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… записям Ρ‚Π°Π±Π»ΠΈΡ† ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ языка SQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ исполнСния ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ сСрвСру Π‘Π”, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ собствСнно ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния сСрвСром SQL-запросов, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, которая заполняСт строками этих ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ структуры. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π° клиСнтской ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° записСй) вСдСтся с ΡΡ‚ΠΈΠΌΠΈ структурами.

КаТдая Π‘Π£Π‘Π” ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ SQL-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ доступа ΠΈ Π½Π°Π±ΠΎΡ€ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° доступа — это, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», исходный ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ создан Π½Π° ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΌ языкС Ρ‚ΠΈΠΏΠ° C. Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° содСрТит Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ соСдинятся с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ запросы сСрвСру ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‚Π°ΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ зависят ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ):

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΠ΅Ρ‚Π΅Π²Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ся сСтСвым ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€.

На ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ происходит ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ процСсс прСобразования: сСтСвыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ -> Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ -> SQL-запросы, запросы ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ, ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ.

Как Π²ΠΈΠ΄ΠΈΠΌ, Ρ‚Π°ΠΊΠΎΠΉ способ создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π³ΠΈΠ±ΠΎΠΊ, позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ практичСски любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΈΠΌΠ΅Π΅Ρ‚ явныС нСдостатки:

Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° клиСнтской ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ Π½Π° Ρ‚ΠΎΠΌ языкС программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ поддСрТиватСся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт допустимыС Ρ‚ΠΈΠΏΡ‹ сСтСвых интСрфСйсов, большой объСм кодирования, нСстандартизованныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ привязано ΠΊΠ°ΠΊ ΠΊ ΡΠ΅Ρ‚Π΅Π²ΠΎΠΉ срСдС, Ρ‚Π°ΠΊ ΠΈ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

НСкоторой ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ способа являСтся использованиС «Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ» языка SQL. Π’ ΡΡ‚ΠΎΠΌ случаС Π² Ρ‚Скст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ поколСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π° Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ прСдлоТСния SQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΡΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ «EXEC SQL». ΠŸΠ΅Ρ€Π΅Π΄ компиляциСй Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ такая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обрабатываСтся прСпроцСссором, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ транслируСт смСсь ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² «ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΠ³ΠΎ» языка Π‘Π£Π‘Π” ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² SQL Π² «Ρ‡ΠΈΡΡ‚Ρ‹ΠΉ» исходный ΠΊΠΎΠ΄. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ΄Ρ‹ SQL Π·Π°ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ исполняСмых ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, слуТащих для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π‘Π£Π‘Π”.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» нСсколько ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ привязанности ΠΊ Π‘Π£Π‘Π”, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ сСрвСром Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… достаточно Π±Ρ‹Π»ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΅Π΅ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст Π½ΠΎΠ²Ρ‹ΠΌ прСпроцСссором ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

3. Вопросы совмСстимости

По Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΈ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ стандартами Π² IT-индустрии, с ΡΠ·Ρ‹ΠΊΠΎΠΌ SQL Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ этапС ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ SQL ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ (Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ) вСрсии стандарта нСдостаточСн, ΠΈ Π΅Π³ΠΎ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ систСм управлСния Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π£Π‘Π”) Π² Ρ…ΠΎΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹Π΅ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Ρ‹ SQL, Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΌΠ΅ΠΆΠ΄Ρƒ собой нСсовмСстимыС.

Π‘Ρ€Π΅Π΄ΠΈ нСдостатков использования стандартов оказываСтся ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ гибкости ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Под Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ языка SQL понимаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ SQL ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ производитСля. Для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ принятых стандартов, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ ΠΊ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΌΡƒ языку SQL Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ.

ВсС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языка нСсколько ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Π’ ΠΈΠ½Ρ‚СрСсах самих ΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ соотвСтствовала соврСмСнным стандартам ANSI Π² Ρ‡Π°ΡΡ‚ΠΈ пСрСносимости ΠΈ ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ каТдая рСализация SQL содСрТит ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ трСбованиям Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ сСрвСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ языка SQL ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ добавлСниями ΠΊ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π”ΠΎ 1996 Π³ΠΎΠ΄Π° вопросами соотвСтствия коммСрчСских Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ SQL стандарту занимался Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ институт стандартов ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ (NIST), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π» ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ соотвСтствия стандарту. ПозднСмС ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅, занимавшССся Π‘Π£Π‘Π”, Π±Ρ‹Π»ΠΎ расформировано, ΠΈ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ всС усилия ΠΏΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π‘Π£Π‘Π” Π½Π° ΡΠΎΠΎΡ‚вСтствиС стандарту лоТатся Π½Π° Π΅Ρ‘ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Сля.

ПолоТСниС измСнилось с Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ стандарта SQL:1999. ΠžΡ‚Π½Ρ‹Π½Π΅ стандарт ΠΏΡ€ΠΈΠΎΠ±Ρ€Ρ‘Π» ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΡƒΡŽ структуру — основная Ρ‡Π°ΡΡ‚ΡŒ стандарта Π±Ρ‹Π»Π° вынСсСна Π² Ρ€Π°Π·Π΄Π΅Π» «SQL/Foundation», всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. БоотвСтствСнно, остался Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ совмСстимости — Core, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ этой основной части. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй оставлСна Π½Π° ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ Π‘Π£Π‘Π”.

Π’ Π½Π°ΡΡ‚оящСС врСмя язык SQL поддСрТиваСтся ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ дСсятками Π‘Π£Π‘Π” Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

4. Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ SQL

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, SQL Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся языком программирования согласно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°. SQL прСдставляСт собой ΡΡƒΠ±ΡŠΡΠ·Ρ‹ΠΊ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для использования Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ интСрфСйса с Π‘Π”. Π‘Π°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ SQL Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ‚Π΅Ρ… срСдств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒΡΡ Π»ΠΈΠ±ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языков программирования ΠΈΠ»ΠΈ управлСния заданиями, Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ дСйствий, выполняСмых самим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. По ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΡΡ‚ΠΈ Π² ΠΏΠ»Π°Π½Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ процСсса язык SQL ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ:

1. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ (ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ) SQL Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ нСпосрСдствСнно ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π±Π°Π·Ρ‹ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π½Π΅Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, получаСмая ΠΏΠΎ Π·Π°ΠΏΡ€ΠΎΡΡƒ SQL, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π΄Π°Π½Π° Π½Π° ΡΠΊΡ€Π°Π½, пСрСадрСсована Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π° ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€.

2. БтатичСский SQL позволяСт Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ фиксированный исполняСмый ΠΊΠΎΠ΄ SQL, ΠΎΠ½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ… Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… языках.

Π•ΡΡ‚ΡŒ Π΄Π²Π΅ разновидности статичСского SQL: встроСнный ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ.

ВстроСнный SQL ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ SQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанной Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС программирования. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚мичСских языка (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘ΠΈ ΠΈΠ»ΠΈ Кобол), ΠΎΠ΄Π½Π°ΠΊΠΎ для обращСния ΠΊ Π‘Π” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ встроСнный SQL.

Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ SQL записаны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… модулях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΡƒΡŽΡ‚ΡΡ с ΠΌΠΎΠ΄ΡƒΠ»ΡΠΌΠΈ основного языка. Π’ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ стандарт — SQL86 — Π±Ρ‹Π» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ SQL, Π° Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΉ SQL Π½Π΅ Π½Π°ΡˆΠ΅Π» сСбС мСста Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ части стандарта, хотя ΠΈ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. БСгодня встроСнный SQL ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большСй ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‡Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ, ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ SQL92 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Π΅ вСрсии статичСского SQL.

3. ДинамичСский SQL Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ SQL Π²ΠΎ Π²Ρ€Π΅ΠΌΡ исполнСния прилоТСния ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся вмСсто статичСского SQL Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прилоТСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ SQL Π΅Ρ‰Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΈΠ»ΠΈ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ сдСлаСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ динамичСского SQL ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… срСдах для построСния запросов ΠΈ Π² Π³Ρ€Π°Ρ„ичСских срСдствах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π‘Π”.

5. Π’ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄ SQL

РСализация Π² SQL ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ язык с Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π―Π·Ρ‹ΠΊ SQL ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ для выполнСния запросов ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΈ Π΄Π»Ρ построСния ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ языка SQL ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для выполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ построСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠΈ, Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ доступом ΠΊ Π½Π΅ΠΉ ΠΈ Π΅Π΅ ΠΎΠ±Ρ‰Π΅Π΅ администрированиС.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ языка SQL:

DDL — язык опрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ…;

DML — язык манипулирования Π΄Π°Π½Π½Ρ‹ΠΌΠΈ;

DQL — язык запросов;

DCL — язык управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ;

ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ администрирования Π΄Π°Π½Π½Ρ‹Ρ…;

ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния транзакциями

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ структур Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (DDL)

Π―Π·Ρ‹ΠΊ опрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… (Data Definition Language, DDL) позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ структуру ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ языка DDL ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, ALTER INDEX, DROP INDEX.

ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (DML)

Π―Π·Ρ‹ΠΊ манипулирования Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Data Manipulation Language, DML) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для манипулирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² рСляционной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… посрСдством Ρ‚Ρ€Π΅Ρ… основных ΠΊΠΎΠΌΠ°Π½Π΄: INSERT, UPDATE, DELETE.

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… (DQL)

Π―Π·Ρ‹ΠΊ запросов DQL Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстСн ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ рСляционной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всСго ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ SELECT. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° вмСстС со ΡΠ²ΠΎΠΈΠΌΠΈ многочислСнными опциями ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для формирования запросов ΠΊ Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π―Π·Ρ‹ΠΊ управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (DCL - Data Control Language)

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ доступом ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, находящСйся Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², связанных с Π΄ΠΎΡΡ‚ΡƒΠΏΠΎΠΌ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ слуТат для контроля Π½Π°Π΄ распрСдСлСниСм ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅: GRANT, REVOKE.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ администрирования Π΄Π°Π½Π½Ρ‹Ρ…

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ администрирования Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ осущСствляСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΌΠΈ дСйствиями ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…; ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы. НС ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΡƒΡ‚Π°Ρ‚ΡŒ администрированиС Π΄Π°Π½Π½Ρ‹Ρ… с Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт собой ΠΎΠ±Ρ‰Π΅Π΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ использованиС ΠΊΠΎΠΌΠ°Π½Π΄ всСх ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния транзакциями

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ транзакциями Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION.

6. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ языка SQL

6.1 ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°

Π―Π·Ρ‹ΠΊ SQL являСтся основой ΠΌΠ½ΠΎΠ³ΠΈΡ… Π‘Π£Π‘Π”, Ρ‚.ΠΊ. ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ„изичСскоС структурированиС ΠΈ Π·Π°ΠΏΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π΄ΠΈΡΠΊ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с Π΄ΠΈΡΠΊΠ°, позволяСт ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ SQL-запросы ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π‘Π£Π‘Π” ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, SQL — ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ систСмам доступ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, содСрТащСйся Π² Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ достоинства языка SQL Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΡΡ‚ΡŒ — ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, использованиС языка SQL Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… стандартизировано ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ организациями;

Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π‘Π£Π‘Π” — всС распространСнныС Π‘Π£Π‘Π” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ SQL, Ρ‚.ΠΊ. Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ пСрСнСсти с ΠΎΠ΄Π½ΠΎΠΉ Π‘Π£Π‘Π” Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ;

Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСноса с ΠΎΠ΄Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ — Π‘Π£Π‘Π” ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмы, ΠΎΠ΄Π½Π°ΠΊΠΎ прилоТСния, созданныС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SQL, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ использованиС ΠΊΠ°ΠΊ для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π‘Π”, Ρ‚Π°ΠΊ ΠΈ Π΄Π»Ρ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… систСм;

рСляционная основа языка — SQL являСтся языком рСляционных Π‘Π”, поэтому ΠΎΠ½ ΡΡ‚Π°Π» популярным Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС рСляционная модСль прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…. Вабличная структура рСляционной Π‘Π” Ρ…ΠΎΡ€ΠΎΡˆΠΎ понятна, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ язык SQL прост для изучСния;

Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… запросов — SQL обСспСчиваСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΏΡ€ΠΈ этом Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса Π·Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя Π±Π΅Π· написания слоТной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ доступа ΠΊ Π‘Π” — язык SQL Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Одни ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ SQL ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ доступа, поэтому части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, содСрТащиС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π‘Π”, ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ;

обСспСчСниС Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… — с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SQL ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΈΡ… ΠΏΡ€Π΅Π΄ΡΡ‚авлСния. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… частСй Π‘Π” ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скомбинированы ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΉ простой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, прСдставлСния ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ для усилСния Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π‘Π” ΠΈ Π΅Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ трСбования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ;

Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ динамичСского измСнСния ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ структуры Π‘Π” — язык SQL позволяСт ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структурой Π‘Π”, Ρ‚Π΅ΠΌ самым обСспСчивая Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния приспособлСнности Π‘Π” ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΌΡΡ трСбованиям ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области;

ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр — SQL — ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… срСдств для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр. SQL слуТит ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΠΌ Π·Π²Π΅Π½ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ клиСнтской систСмой ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΠΎΠΉ систСмой, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π‘Π”, позволяя ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ своих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π―Π·Ρ‹ΠΊ SQL ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ ΠΊΡ€ΡƒΠ³ΠΎΠΌ спСциалистов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ администраторов Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… программистов ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π―Π·Ρ‹ΠΊ SQL — ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ ΠΏΠΎΠΊΠ° СдинствСнный стандартный язык для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» достаточно ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π‘Π£Π‘Π” Π² Π½Π°ΡΡ‚оящСС врСмя ΡΠΎΠ·Π΄Π°ΡŽΡ‚ свои ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ языка SQL Π»ΠΈΠ±ΠΎ с SQL-интСрфСйсом.

6.2 НСдостатки

- НСсоотвСтствиС рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π­Π΄Π³Π°Ρ€ Кодд, ΠšΡ€ΠΈΡΡ‚ΠΎΡ„Π΅Ρ€ Π”Π΅ΠΉΡ‚ ΠΈ ΠΈΡ… ΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠΊΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ SQL Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся истинно рСляционным языком. Π’ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠšΡ€ΠΈΡΡ‚ΠΎΡ„Π΅Ρ€ΠΎΠΌ Π”Π΅ΠΉΡ‚ΠΎΠΌ ΠΈ Π₯ью Π”Π°Ρ€Π²Π΅Π½ΠΎΠΌ Π’Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚Π΅ΠΎΠ½ΠΈ ΠΈΠ·Π»Π°Π³Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π‘Π£Π‘Π” ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ поколСния ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ язык Tutorial D, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎ рСляционным.

- Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

Π₯отя SQL ΠΈ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΡΡ ΠΊΠ°ΠΊ срСдство Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΎΠ½ ΡΡ‚Π°Π» Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ слоТным, Ρ‡Ρ‚ΠΎ прСвратился Π² ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ программиста.

- ΠžΡ‚ΡΡ‚ΡƒΠΏΠ»Π΅Π½ΠΈΡ ΠΎΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΎΠ²

НСсмотря Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ стандарта ANSI SQL-92, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π‘Π£Π‘Π” (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Oracle, Sybase, Microsoft, MySQL AB), вносят измСнСния Π² ΡΠ·Ρ‹ΠΊ SQL, примСняСмый Π² Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π‘Π£Π‘Π”, Ρ‚Π΅ΠΌ самым отступая ΠΎΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ спСцифичныС для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π‘Π£Π‘Π” Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Ρ‹ языка SQL.

- Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ΅Ρ€Π°Ρ€Ρ…ичСскими структурами

БПИБОК Π˜Π‘ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠΠΠ«Π₯ Π˜Π‘Π’ΠžΠ§ΠΠ˜ΠšΠžΠ’

ВикипСдия — Ρ€Π΅ΠΆΠΈΠΌ доступа: http://ru.wikipedia.org/wiki/SQL

Вопросы практичСского програмирования — Ρ€Π΅ΠΆΠΈΠΌ доступа: http://www.mstu.edu.ru/education/materials/zelenkov/ch4_7.html

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π² ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык запросов SQL — Ρ€Π΅ΠΆΠΈΠΌ доступа: http://www.intuit.ru/department/database/sql/1/

Всё ΠΏΡ€ΠΎ Sql — Ρ€Π΅ΠΆΠΈΠΌ доступа: http://www.sql.ru/

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ языка Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… SQL — Ρ€Π΅ΠΆΠΈΠΌ доступа: http://citforum.ru/database/sqlbook/index.shtml

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ