Преимущества и недостатки языка SQL. PostgreSQL: перспективы для разработчика

В настоящее время существует достаточно много различных серверных СУБД – это MS SQL Server, Oracle, IBM DB2, Interbase, MySQL т.д. Но широкое распространение и применение на практике для крупных систем получили 3 системы – MS SQL, Oracle и IBM DB2.

Для выбора СУБД сравним их по следующим параметрам: производительность, цена, доступность, удобство использования, возможности. При выборе СУБД использовались данные приведенные на сайтах www.tpc.org и www.sql.ru .

На сайте www.tpc.org опубликованы данные TPC тестов и сравнение цен серверов. По данным этого сайта, первое место по производительности, которое определяется как количеству произведенных бизнес транзакций в минуту, занимает MS SQL Server 2000 с показателем tpmC=505302, далее следует IBM DB2 UDB 7.1 с tpmC=440879. СУБД Oracle 8i Enterprise Edition v. 8.1.7 занимает только пятую позицию (tpmC=220807). Кроме того MS SQL Server 2000 лидирует и по показателю стоимости системы на одну транзакцию. Стоимость системы в пересчете на одну транзакцию для систмеы MS SQL Server 2000 составляет около $20, что в 1.5 ниже, чем для системы DB2, и в 2 раза ниже, чем для Oracle.

Однако следует отметить, что подобного рода тесты не могут дать однозначного ответа на вопрос, какая из СУБД будет производительнее при решении конкретной задачи: в одних случаях производительность СУБД Oracle превосходит производительность SQL Server, а в других наоборот. Реально проверить это можно только с помощью тестирования, основанного на запросах, типичных именно для конкретной задачи.

Сайт www.sql.ru приводит результаты опроса (см. рис 3.3) пользователей по вопросу о том, какие СУБД используются наиболее часто. Результаты этого опроса опять в пользу MS SQL Server – более 30% всех участников голосования предпочли эту СУБД всем остальным. Более широкое использования MS SQL Server обеспечит меньшую стоимость внедрения и поддержки, т.к. есть большая вероятность, что MS SQL Server уже используется в данной компании.

Рис. Процент использования СУБД

Таблица. Сравнительные характеристики СУБД.

В таблице приведены основные достоинства и недостатки рассматриваемых СУБД. Для разрабатываемой системы будет использоваться СУБД MS SQL 2000. Данный выбор обосновывается широким распространением данной системы, высокой производительностью при низкой стоимости сервера и простотой поддержки системы. Кроме того, серверный компьютер будет работать под управлением операционной системы из семейства Windows NT, что обеспечивает еще одно преимущество MS SQL Server 2000, т.к. именно данная СУБД наилучшим образом оптимизирована для операционной системы Windows.

Выбор и обоснование использования MS Visual Studio и MS Visual C++, в качестве средств разработки.

В связи с тем, что сегодня уровень сложности программного обеспечения очень высок, разработка приложений Windows с использованием только какого-либо языка программирования (например, языка C) значительно затрудняется. Программист должен затратить массу времени на решение стандартных задач по созданию многооконного интерфейса. Реализация технологии связывания и встраивания объектов - OLE - потребует от программиста еще более сложной работы.

Современные интегрированные средства разработки приложений Windows позволяют автоматизировать процесс создания приложения. Для этого используются генераторы приложений. Программист отвечает на вопросы генератора приложений и определяет свойства приложения - поддерживает ли оно многооконный режим, технологию OLE, трехмерные органы управления, справочную систему. Генератор приложений, создаст приложение, отвечающее требованиям, и предоставит исходные тексты. Пользуясь им как шаблоном, программист сможет быстро разрабатывать свои приложения.

На сегодняшний день существует большое разнообразие и изобилие средств разработки. Рассмотрим основные достоинства и недостатки трех из них, как наи – Delphi, С++ Builder и MS Visual C++/Visual Studio.

Delphi является мощным и универсальным средством разработки приложений. Его RAD-оболочка считается одной из лучших. Ее вместе с библиотекой VCL, на которой оболочка основана и написана, можно назвать действительно революционной. Delphi предоставляет программисту широкие возможности по разработке графического интерфейса приложений (GUI). Он оптимально подходит для небольших проектов, тогда, когда на первое место ставится скорость разработки. Delphi очень популярен в нашей стране, однако за рубежом его популярность гораздо ниже, и при реализации крупных проектов предпочтения отдаются С++.

Достоинства:

………………………

Недостатки

………………………

C++ Builder

Некий "гибрид" Delphi и C++, о чем говорит хотя бы то, что C++ Builder использует ту же библиотеку VCL, что и Delphi, причем написанную на Delphi. В свете этого логичной выглядит совместимость C++ Builder с Delphi на уровне компонентов и исходного кода.

Достоинства:

…………………..

Недостатки:

……………………

MS Visual C++

Продукт Microsoft Visual C++ .NET – мощное средство разработки, позволяющее создавать программы на базе Microsoft Windows, с поддержкой технологии Microsoft .NET, динамические web-приложения и web-службы XML с использованием языка программирования C++. Библиотека классов MFC, входящая в состав Visual C++ позволяет существенно облегчить создание графического интерфейса приложений. Однако от программистов VC++ требуется гораздо большая квалификация, нежели от программистов Delphi, т.к. MFC, несмотря на всю свою «мощность», является всего лишь тонкой «оберткой» над WinApi, и поэтому при написании приложений многое приходится делать вручную. С одной стороны это является минусом, т.к. сильно снижается скорость разработки. С другой стороны это дает более широкие возможности и гибкость при реализации крупных проектов и позволяет добиться их максимальной производительности.

Преимущества:

…………………………

Недостатки:

SQL Server и Visual FoxPro две базы данных в настоящее время поддерживаются Microsoft. SQL Server был разработан Microsoft как база для распределенных клиентов в клиент-серверной архитектуре. Visual FoxPro была куплена Microsoft и первоначально разрабатывалась для операционной системы DOS, преимущественно для монопольного использования.

SQL Server

SQL Server является надежной базой данных для любых целей, может продолжать расширяться по мере наполнения информацией, без заметного ументшения быстродействия операций с записями в многопользовательском режиме. П ользователи могут быть добавлены путем модернизации оборудования. В последнем тесте поддерживалось до 4600 пользователей базы данных .
Обеспечивается максимальная безопасность. Ваши данные защищены от несанкционированного доступа за счет интеграции сетевой безопасности с сервером безопасности. Поскольку безопасность на уровне пользователя, пользователи могут иметь ограниченный доступ к записи данных, тем самым защищая их от модификации или поиска, указав доступ на уровне пользовательских привилегией. Кроме того, с данными, хранящимися на отдельном сервере, сервер работает как шлюз, который ограничивает несанкционированный доступ.

SQL Server обрабатывает запросы от пользователей и только отправляет пользователю результаты запроса. Таким образом, минимальная информация передается по сети. Это улучшает время отклика и устраняет узкие места в сети. Это также позволяет использовать SQL Server в качестве идеальной базы данных для интернет.

Техническое обслуживание SQL Server очень простое и не требует больших знаний. Возможны изменения в структуре данных а так же резервное копирование во время работы сервера, без остановки.

Два основных языка разработки приложений используется для извлечения информации из данных SQL Server. Это C++ и Visual Basic. Эти языки являются частью Visual Studio.Net, интегрированной среды разработки Microsoft . Покупка приложений, разработанных с помощью этих продуктов гарантирует, что программное обеспечение будет модернизироваться и расширятся и развиваться в будущем .

SQL Server является приложением базы данных при работе на . Net, новейшие разработки Microsoft. Выбрав Microsoft SQL Sever в качестве базы данных информации для компании, приложение может расширяться и адаптироваться по мере изменения бизнес-климата.

Visual FoxPro

Visual FoxPro является адекватной базой для небольших сетей со средним количеством пользователей около 50. FoxPro представляет собой файл-сервер приложений, который был введен в операционной системе DOS. Первоначально он был использован на отдельных компьютерах или в домашней локальной сети. Структура данных проста в использовании, обслуживании и с минимальным уровнем безопасности. Тем не менее, они не имеют обеспечения или расширения для использования в больших сетях.

Сетевая безопасность представляется как "все или ничего". Когда пользователи имеют доступ к данным, они могут добавлять, изменять или удалять информацию. П рикладная программа, используя пользователей, может добавить больше защиты, но если пользователь имеет возможность обхода, то есть полный доступ к любым изменениям по желанию. Если данные хранятся в локальной сети, запрос от пользователя отправляет данные на компьютер пользователя. Затем запрос обрабатывается на пользовательской системе. При этом происходит передача большого количества информации (фактически вся база) на локальный компьютер пользователя по сети, что вызывает медленное реагирование обработки данных базы, обоснованное в результате узкого канала линии передачи.

Резервное копирование и изменение структуры можно производить, только когда система (клиенты) базы отключены.

Применение языка FoxPro. Файл-серверная архитектура так же используется в визуально й среде разработки FoxPro, преимущественно для небольших, локальных проектах. Технически Visual FoxPro можно использовать для извлечения данных из SQL Server. Тем не менее, любое приложение, ранее написанных для FoxPro под файл-серверную архитектуру требуют переписания больших участков кода для оптимизации SQL Server, извлечения и управления данными. Поскольку Visual FoxPro не является частью Visual Studio.Net это может быть не идеальным выбором для создания нового приложения .

На Visual FoxPro достаточно много рабочих приложений. Однако м ногие эксперты предсказывают, что долгосрочная поддержка со стороны Microsoft может быть ограничена.

Подведем небольшой итог по вопросу - Базы данных: Microsoft SQL Server и Visual FoxPro - плюсы и минусы

FoxPro минусы:
-- это файл-серверная СУБД, соответственно, все обрабатываемые данные сначала читаются по сети клиентом, потом обрабатываются им. Раньше (90 годы) приложения на таких СУБД укладывали сеть при работе сколько-нибудь существенного числа пользователей, ну, скажем, 100. Теперь есть сверхбыстрые сети, вроде бы это уже не так критично, но потенциально сеть -- узкое место таких систем, и в них изначально заложен потолок производительности.
Потому что Etherner не способен конструктивно работать в высоконагруженном состоянии, а файл-серверная СУБД именно сеть и грузит более всего.

В FoxPro нет поддержки ACID-транзакций и она там практически невозможна.
Почти невозможна теоретически.

При сбое хотя бы одного клиента рушатся индексы и заголовки таблиц.
-- Обработка ошибок на низком уровне

DBF занимает много места. Но это не очень важно.

Плюсы FoxPro - приложения может быть только то, что оно написано и работает.
А главное правило программиста гласит: "Работает - не лезь". Аргумент довольно существенный, поэтому если досталось такое наследство - легче обслужить, нежели пве переписать - это однозначно.

У MSSQL никаких особых минусов нет, кроме патологической моноплатформенности, но это вроде бы как уже особенно никого не парит, потому как все платформы окромя wintel помирают понемногу.

Если Вы хотите перейти на SQL, говоря что это более надежно и быстрее. Какие аргументы привести перед руководством для перехода к MS SQL Server?

Ну, как бы особых аргументов и не надо, просто файл-серверные СУБД изжили себя морально, хотя конкретно FOX может быть даже и поинтереснее как средство разработки был. Кстати, именно был, ибо Fox -- всё, закрылся. Не будет его более MS развивать и выпускать. Тоже кстати аргумент за переход.

Да, и FOX отлично может работать как клиент MSSQLServer или другой клиент-серверной СУБД, так что приложение можно переписывать так:

Данные перенести на MSSQL
-- основные запросы перевести на MSSQL путём обращения к MSSQL.
В результате запроса получается всегда обычный временный DBF -- курсор.
-- все формы, отчёты и т.д. просто используют возвращённые курсоры, как ранее данные DBF-ов.

Ложка дегтя.
Необходимо учесть, что переход помимо всего прочего потянет дополнительные материальные затраты на лицензии.

Очень грубая оценка:
Собственно MS SQL 2008 - около 50 тысяч
Лицензия на одно подключение - около 8 тысяч (10 рабочих мест = 80 тысяч)

MS SQL сервер, конечно, можно поставить и "забыть". Но, по хорошему, нужен администратор. Не сисадмин, а именно администратор собственно SQL-сервера. Администратор базы данных. А это еще минимум 100 тыс в месяц. Если админа нет, то все рассуждения о надежности и скорости очень быстро превратятся в просто слова.

При этом, скорее всего, интерфейс приложения сильно изменится. Значит - надо потратить некоторое время на обучение персонала.

Вы изначально не правильно поставили вопрос. Точнее, вы сформулировали вопрос с точки зрения программиста. А это заботит руководителя в последнюю очередь. Руководитель поставит вполне банальные вопросы:

1. Существующее приложение справляется с решаемыми задачами?
2. Сколько еще времени приложение будет адекватно решать задачи без принципиальной переделки?
3. Что именно делает новая версия такого, чего не может делать старая версия? Не обязательно программные нововведения. Возможно технические. Но такие, которые препятствуют дальнейшей адекватной работе старой версии.
4. Сколько будет стоить переход на новую версию и сопровождение этой новой версии?

Что принципиально изменится при переходе на MS SQL?

1. Будет снято ограничение на размер таблицы в 2 ГБ (около 40..60 миллионов записей в одном DBF-файле) - это важно для вашего приложения?
2. Упростится интеграция приложения с другими приложениями также работающими с MS SQL-сервером - это важно для вашего приложения?
3. Существенно (в разы) возрастет стоимость сопровождения вашего приложения (зарплата админа, лицензии) - если админ и лицензии уже есть, то можно не считать.

Насчет стоимости модификаций приложения под "хотелки" руководства - тоже вопрос. Сколько стоит сейчас и сколько будет стоит при переходе на MS SQL?

Все программные тонкости и заморочки, которые тут активно обсуждают программисты, руководителю глубоко чужды. Это ваши проблемы, а не проблемы руководителя.

Желательно изначально учесть все нюансы, а потом принимать решение о переходе с баз Foxpro на SQL

Преимущества

Язык SQL является основой многих СУБД, т.к. отвечает за физическое структурирование и запись данных на диск, а также за чтение данных с диска, позволяет принимать SQL-запросы от других компонентов СУБД и пользовательских приложений. Таким образом, SQL – мощный инструмент, который обеспечивает пользователям, программам и вычислительным системам доступ к информации, содержащейся в реляционных базах данных.

Основные достоинства языка SQL заключаются в следующем:

− стандартность – как уже было сказано, использование языка SQL в программах стандартизировано международными организациями;

− независимость от конкретных СУБД – все распространенные СУБД используют SQL, т.к. реляционную базу данных можно перенести с одной СУБД на другую с минимальными доработками;

− возможность переноса с одной вычислительной системы на другую – СУБД может быть ориентирована на различные вычислительные системы, однако приложения, созданные с помощью SQL, допускают использование как для локальных БД, так и для крупных многопользовательских систем;

− реляционная основа языка – SQL является языком реляционных БД, поэтому он стал популярным тогда, когда получила широкое распространение реляционная модель представления данных. Табличная структура реляционной БД хорошо понятна, а потому язык SQL прост для изучения;

− возможность создания интерактивных запросов – SQL обеспечивает пользователям немедленный доступ к данным, при этом в интерактивном режиме можно получить результат запроса за очень короткое время без написания сложной программы;

− возможность программного доступа к БД – язык SQL легко использовать в приложениях, которым необходимо обращаться к базам данных. Одни и те же операторы SQL употребляются как для интерактивного, так и программного доступа, поэтому части программ, содержащие обращение к БД, можно вначале проверить в интерактивном режиме, а затем встраивать в программу;

− обеспечение различного представления данных – с помощью SQL можно представить такую структуру данных, что тот или иной пользователь будет видеть различные их представления. Кроме того, данные из разных частей БД могут быть скомбинированы и представлены в виде одной простой таблицы, а значит, представления пригодны для усиления защиты БД и ее настройки под конкретные требования отдельных пользователей;

− возможность динамического изменения и расширения структуры БД – язык SQL позволяет манипулировать структурой БД, тем самым обеспечивая гибкость с точки зрения приспособленности БД к изменяющимся требованиям предметной области;

− поддержка архитектуры клиент-сервер – SQL – одно из лучших средств для реализации приложений на платформе клиент-сервер. SQL служит связующим звеном между взаимодействующей с пользователем клиентской системой и серверной системой, управляющей БД, позволяя каждой из них сосредоточиться на выполнении своих функций.

Язык SQL может использоваться широким кругом специалистов, включая администраторов баз данных, прикладных программистов и множество других конечных пользователей.

Язык SQL – первый и пока единственный стандартный язык для работы с базами данных, который получил достаточно широкое распространение. Практически все крупнейшие разработчики СУБД в настоящее время создают свои продукты с использованием языка SQL либо с SQL-интерфейсом.

Недостатки

Несоответствие реляционной модели данных . Создатели реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В опубликованном Кристофером Дейтом и Хью Дарвеном Третьем Манифестеони излагают принципы СУБД следующего поколения и предлагают язык Tutorial D, который является подлинно реляционным.

Сложность . Хотя SQL и задумывался как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.

Отступления от стандартов. Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД (например, Oracle, Sybase, Microsoft, MySQL AB), вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.

− Сложность работы с иерархическими структурами

Система управления базами данных MS SQL Server

Microsoft SQL Server обладает всеми качествами, необходимыми для реализации ключевых требований к СУБД, предъявленными заказчиком, а именно – производительностью, стабильностью и возможностью масштабирования.

Так же, как и DB2, Microsoft SQL Server имеет бесплатный выпуск - SQL Server Express для разработчиков и независимых поставщиков.

Для предприятия среднего бизнеса, каким является рассматриваемое предприятие, целесообразно выбрать платное решение. Одним из преимуществ является то, что не требуется плата за дополнительные функции или продукты, такие как средства обеспечения высокой доступности, удаленного аварийного восстановления, секционирования, сжатия данных и прозрачного шифрования данных, инструменты для работы с пространственными данными, управления основными данными и обработки сложных событий, технологии ETL и OLAP, службы интеллектуального анализа данных и подготовки отчетности, инструменты бизнес-аналитики (BI) с поддержкой самообслуживания. Отказ от UNIX в пользу Windows позволит существенно сократить расходы на инфраструктуру.

В отличие от остальных СУБД, SQL Server обеспечивает интеграцию с Microsoft Office, гарантирует повышенную безопасность и производительность средств разработки, содержит более мощные инструменты бизнес-аналитики по сравнению с решением Oracle. Кроме того, SQL Server имеет более низкую совокупную стоимость владения.

Среди основных преимуществ MS SQL Server можно выделить следующие:

    Масштабируемость и производительность

    База данных менее уязвима

    Инструменты бизнес-аналитики с поддержкой самообслуживания

MS SQL Server предоставляет такие опции, как высокая доступность, усиленная безопасность, улучшенное сжатие данных, сервисы интеграции.

Высокая доступность обеспечивается в первую очередь за счёт отказоустойчивой кластеризации. Отказоустойчивая кластеризация обеспечивает защиту не только базы данных, но и сервера. Данная функция позволяет предотвратить любую потерю данных, что является важным аспектом для заказчика.

Кроме того, высокая доступность обеспечивается за счёт зеркалирования базы данных. В случае сбоя на главном сервере, клиенты автоматически перенаправляются на зеркальный сервер.

В MS SQL Server особое внимание уделяется безопасности.

    Базовые выпуски SQL Server обладают расширенными функциями обеспечения безопасности.

    Стандартные и корпоративные выпуски Oracle обеспечивают лишь базовую безопасность.

    Центр обновления Windows позволяет снизить риски в области безопасности, а также свести к минимуму простой системы во время установки пакетов исправлений.

Одним из видимых недостатков Oracle является то, что требуется отдельная оплата за опции и дополнительные программы.

В качестве обобщения можно привести нижеследующую сравнительную таблицу.

Таблица 1 – Сравнительные характеристики MS SQL Server и Oracle

Oracle предоставляет лишь ограниченный функционал в данных областях и требует приобретения дополнительных лицензий.

Важнейшими характеристиками MS SQL Server являются:

    Простота администрирования,

    Возможность подключения к Web,

    Быстродействие и функциональные возможности механизма сервера СУБД,

    Наличие средств удаленного доступа,

В комплект средств административного управления данной СУБД входит целый набор специальных мастеров и средств автоматической настройки параметров конфигурации. Также данная БД оснащена средствами тиражирования, позволяющими синхронизировать данные ПК с информацией БД и наоборот. Входящий в комплект поставки сервер OLAP дает возможность сохранять и анализировать все имеющиеся у пользователя данные. Данная СУБД представляет собой современную полнофункциональную база данных, которая идеально подходит для средних организаций, каким и является рассматриваемый заказчик. Выбор MS SQL Server в качестве СУБД удовлетворит все требования заказчика, так как обладает всеми необходимыми характеристиками и средствами для разрешения проблем заказчика.

Список использованных ресурсов

    Сравнение совокупной стоимости владения для СУБД EnterpriseDB, Oracle, IBM DB2 иMSSQL // http://www.bureausolomatina.ru/ru/themes_in_progress/dbms/2

    Сравнительные характеристики SQL СУБД // http://www.realcoding.net/article/view/1534

    SQL Server Gives You More Advanced Features (Out-Of-The-Box)// SQL Server White Paper

    MS SQL Server Сравнение с конкурентами//http://www.microsoft.com/sqlserver/ru/ru/product-info/competitor-compare.aspx

Команды управления транзакциями

Существуют следующие команды, позволяющие управлять транзакциями базы данных : COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION.

Язык SQL является основой многих СУБД , т.к. отвечает за физическое структурирование и запись данных на диск, а также за чтение данных с диска, позволяет принимать SQL- запросы от других компонентов СУБД и пользовательских приложений. Таким образом, SQL – мощный инструмент, который обеспечивает пользователям, программам и вычислительным системам доступ к информации, содержащейся в реляционных базах данных .

Основные достоинства языка SQL заключаются в следующем:

  • стандартность – как уже было сказано, использование языка SQL в программах стандартизировано международными организациями;
  • независимость от конкретных СУБД – все распространенные СУБД используют SQL, т.к. реляционную базу данных можно перенести с одной СУБД на другую с минимальными доработками;
  • возможность переноса с одной вычислительной системы на другую – СУБД может быть ориентирована на различные вычислительные системы, однако приложения, созданные с помощью SQL, допускают использование как для локальных БД, так и для крупных многопользовательских систем;
  • реляционная основа языка – SQL является языком реляционных БД , поэтому он стал популярным тогда, когда получила широкое распространение реляционная модель представления данных. Табличная структура реляционной БД хорошо понятна, а потому язык SQL прост для изучения;
  • возможность создания интерактивных запросов – SQL обеспечивает пользователям немедленный доступ к данным, при этом в интерактивном режиме можно получить результат запроса за очень короткое время без написания сложной программы;
  • возможность программного доступа к БД – язык SQL легко использовать в приложениях, которым необходимо обращаться к базам данных . Одни и те же операторы SQL употребляются как для интерактивного, так и программного доступа, поэтому части программ, содержащие обращение к БД, можно вначале проверить в интерактивном режиме, а затем встраивать в программу;
  • обеспечение различного представления данных – с помощью SQL можно представить такую структуру данных, что тот или иной пользователь будет видеть различные их представления. Кроме того, данные из разных частей БД могут быть скомбинированы и представлены в виде одной простой таблицы , а значит, представления пригодны для усиления защиты БД и ее настройки под конкретные требования отдельных пользователей;
  • возможность динамического изменения и расширения структуры БД – язык SQL позволяет манипулировать структурой БД, тем самым обеспечивая гибкость с точки зрения приспособленности БД к изменяющимся требованиям предметной области;
  • поддержка архитектуры клиент-сервер – SQL – одно из лучших средств для реализации приложений на платформе клиент-сервер . SQL служит связующим звеном между взаимодействующей с пользователем клиентской системой и серверной системой, управляющей БД, позволяя каждой из них сосредоточиться на выполнении своих функций.

Любой язык работы с базами данных должен предоставлять пользователю следующие возможности:

  • создавать базы данных и таблицы с полным описанием их структуры;
  • выполнять основные операции манипулирования данными, в частности, вставку, модификацию и удаление данных из таблиц ;
  • выполнять простые и сложные запросы , осуществляющие преобразование данных.

Кроме того, язык работы с базами данных должен решать все указанные выше задачи при минимальных усилиях со стороны пользователя, а структура и синтаксис его команд – достаточно просты и доступны для изучения. И наконец, он должен быть универсальным, т.е. отвечать некоторому признанному стандарту , что позволит использовать один и тот же синтаксис и структуру команд при переходе от одной СУБД к другой. Язык SQL удовлетворяет практически всем этим требованиям.

Язык SQL является примером языка с трансформирующейся ориентацией, или же языка, предназначенного для работы с таблицами с целью преобразования входных данных к требуемому выходному виду. Он включает только команды определения и манипулирования данными и не содержит каких-либо команд управления ходом вычислений. Подобные задачи должны решаться либо с помощью языков программирования или управления заданиями, либо интерактивно, в результате действий, выполняемых самим пользователем. По причине подобной незавершенности в плане организации вычислительного процесса язык SQL может использоваться двумя способами. Первый предусматривает интерактивную работу, заключающуюся во вводе пользователем с терминала отдельных SQL-операторов. Второй состоит во внедрении SQL-операторов в программы на процедурных языках . Язык SQL относительно прост в изучении. Поскольку это не процедурный язык , в нем необходимо указывать, какая информация должна быть получена, а не как ее можно получить. Иначе говоря, SQL не требует указания методов доступа к данным. Как и большинство современных языков, он поддерживает свободный формат записи операторов. Это означает, что при вводе отдельные элементы операторов не связаны с фиксированными позициями экрана. Язык SQL может использоваться широким кругом специалистов, включая администраторов баз данных , прикладных программистов и множество других конечных пользователей.

Язык SQL – первый и пока единственный стандартный язык для работы с базами данных , который получил достаточно широкое распространение. Практически все крупнейшие разработчики СУБД в настоящее время создают свои продукты с использованием языка SQL либо с SQL-интерфейсом. В него сделаны огромные инвестиции как со стороны разработчиков, так и со стороны пользователей. Он стал частью архитектуры приложений, является стратегическим выбором многих крупных и влиятельных организаций.

Язык SQL используется в других стандартах и даже оказывает влияние на разработку иных стандартов как инструмент определения (например, стандарт Remote Data Access, RDA). Создание языка способствовало не только выработке необходимых теоретических основ, но и подготовке успешно реализованных технических решений. Это особенно справедливо в отношении оптимизации запросов , методов распределения данных и реализации средств защиты. Начали появляться специализированные реализации языка, предназначенные для новых рынков: системы управления обработкой транзакций (OnLine Transaction Processing, OLTP ) и системы оперативной аналитической обработки или системы поддержки принятия решений (OnLine Analytical Processing, OLAP ). Уже известны планы дальнейших расширений стандарта , включающих поддержку распределенной обработки, объектно-ориентированного программирования, расширений пользователей и мультимедиа.




Top