Причины создания SQL
Сегодня практически на каждом шагу можно встретить применение баз данных: поиск работы онлайн, бронирование билетов, бухгалтерские системы учета. На заре применения реляционных баз данных пользователям нужно было детально знать организацию хранения данных, а также пошагово указывать не только то, какие данные нужны, но и как их получить.
Например, вы пришли в бухгалтерию за справкой о доходах. В первом случае вы сами указываете в каких зарплатных книгах нужно смотреть, где они хранятся, как оформлять справку и так далее. В другом случае вы указываете свою фамилию и период, за который вам нужна справка, все остальное бухгалтер сам знает, как делать.
Чтобы добиться такой «простоты» использования баз данных, специалистам потребовалось создать универсальный язык манипулирования данными. Им стал, де-факто, непроцедурный язык SQL - Structured Query Language (что в переводе означает «Структурированный язык запросов»). Главным преимуществом предложений SQL является то, что они нацелены в большей степени на результат (конечный) обработки данных, чем на саму процедуру этой обработки.
Конечно, за желанием сделать что-то хорошее стоял и коммерческий интерес. Это было время (семидесятые) резкого расширения круга пользователей, возможных рынков сбыта компьютеров и разнообразного программного обеспечения, спровоцированное снижением энергопотребления, а также размеров и стоимости самих компьютеров.
Что такое SQL?
В 1974 году IBM был разработан специальный язык SEQUEL (структурированный английский язык запросов) для экспериментальной реляционной СУБД System R. Позже, когда речь зашла о выходе на мировой рынок, он был переименован на SQL и прошел процедуру стандартизации (1987). Сегодня SQL – наиболее распространенный, универсальный компьютерный язык управления, создания, модификации данных в базах данных типа клиент-сервер.
SQL – это всего лишь язык (совокупность операторов, вычисляемых функций и инструкций), применяемый для «общения» с СУБД, сам по себе он не является ни базой данных, ни отдельным продуктом, но в тоже время они неразделимы.
Преимущества и недостатки SQL
Уже больше 30 лет SQL существует, продолжает развиваться, укрепляет свои позиции, благодаря основным своим достоинствам: независимость от конкретной СУБД, наличие стандартов, декларативность, возможность создания интерактивных запросов, поддержка архитектуры типа клиент-сервер.
Исходя из его преимуществ, складывается мнение: «Так как большая часть запросов пишется на SQL, тогда безразлично, что это за СУБД - был бы SQL».
Нельзя забывать и о недостатках, среди которых можно выделить:
- сложность - с момента создание до сегодня SQL прошел путь от «непроцедурного языка» до «инструмента программиста»;
- отступление от стандартов - наличие диалектов SQL с отсутствием полного (одно руководство) описания языка;
- несоответствие реляционной модели данных - колонки без имени и дублирующиеся имена колонок, повторяющиеся строки, высокая избыточность.
Поэтому исследователи трудятся не только над исправлением ошибок, но и рассматривают альтернативные варианты создания нового языка, который будет «подлинно реляционным».
Рождение SQL спровоцировано новым поколением баз данных на основе реляционной алгебры. В него вложены большие деньги со стороны инвесторов и пользователей, поэтому, если есть необходимость, его нужно учить. В этом разделе мы постараемся осветить основные моменты использования SQL, подскажем, как правильно создавать запросы, и продемонстрируем конкретные примеры.
Перечень статей из раздела «SQL программирование»
- История и реализации SQL
- Статья о истории возникновения и реализации языка запросов SQL, а также кто явился прародителем этого языка
- Реляционная модель и ANSI SQL
- В статье рассказывается, что такое реляционные базы данных, их преимущества и возможности
- Правила кода для систем реляционных баз данных
- Перечислены 12 основных правил построения баз данных, в соответствии с которыми должны строиться базы данных
- Структура данных
- Описание основ представления данных в базах, способы записи доступа к данным в различных системах баз данных
- Пустые данные
- Способы хранения пустых данных, отличие между значение NULL и арифметическим нулем
- SQL данные
- Описание метаданных, т.е служебной информации о базе, а также способы представления данных
- Операции с наборами данных
- В статье описываются основные операции которые можно производить с данными находящимися в базе
- Простые примеры с использованием инструкции SELECT
- Приведено описание использования инструкции SELECT для организации работы с базами данных
- История стандарта SOL
- Статья о истории возникновения языка запросов SQL, история стандартизации и появлении различных версий стандарта
- Что нового в SQL 2003
- Основные отличия стандарта SQL 2003, требования к платформам, изменение инструкций
- Базовые функции OLAP
- Описанные основные поправки внесенные в OLAP, улучшения обработки запросов и вычислений
- Улучшенные функции для числовых операций
- В статье описывается изменения и улучшения в стандартах для проведения числовых операций
- Уровни соответствия
- Описывается какие бывают уровни соответствия стандартам SQL, а также требования которые необходимо выполнить для соответствия стандарту
- Пакеты дополнительной функциональности стандарта SQL 2003
- Что такое дополнительная функциональность, ее соответствие стандарту, кто утверждал дополнительную функциональность
- SQL/Framework
- Описание что включено в различные части описания стандарта SQL, а также расшифровка составляющих частей
- SQL/Shemata
- Описывается основа описания метаданных которые хранятся в специальной схеме, взаимодействие языков программирования для использования метаданных
- Классы инструкций SQL 2003
- Описывается на какие группы, т.е классы разбиты основные инструкции для обработки данных в базах
- Диалекты SQL
- Описываются основные различия в написании баз данных (диалекты), их различия, преимущества и недостатки
- VpgSQL
- Описывается один из основных диалектов SQL - PostgreSQL, его особенности и отличия
- Основные понятия
- Какие основные понятия и функции описаны в стандарте SQL, их важность и значимость
- Платформы баз данных
- Приведено описание основных платформ для создания баз данных, их особенности и совместимость
- Категории синтаксических конструкций
- Описывается важность знания и понимания синтаксических конструкций, для создания баз данных
- Операторы
- Какие основные операторы используются в выражениях и/или инструкциях, ключевые слова
- Идентификаторы
- В статье описаны основные правила по созданию идентификаторов, а также причины появления этих правил
- Соглашения об именах
- Описывается какие имена можно давать таблицам или базам, а какие нельзя и почему
- Правила создания идентификаторов
- Описаны основные правила при создании идентификаторов для различных платформ баз данных
- Константы
- Какие бывают константы, как их правильно создавать и использовать, исключения и примеры
- Виды операторов
- Подробное описание видов операторов, правила их использования в различных платформах
- Приоритет операторов
- Правила использования различных операторов, значимость различных операторов, как избежать ошибок
- Системные ограничители и операторы
- Что такое системные ограничители, какие бывают ограничители и для чего используются
