Sql что это такое простыми словами

Для чего нужен SQL: основные сведения и функции этого языка

Sql что это такое простыми словами. business database iot artificial.e9a742c309fb3c693fdbf8ca4dc938ed. Sql что это такое простыми словами фото. Sql что это такое простыми словами-business database iot artificial.e9a742c309fb3c693fdbf8ca4dc938ed. картинка Sql что это такое простыми словами. картинка business database iot artificial.e9a742c309fb3c693fdbf8ca4dc938ed

SQL(Structured Query Language) — язык, при помощи которого пишутся структурированные представления к data base, необходимые для взаимодействия с информацией, хранящейся в самой БД.

Для чего нужен SQL, простыми словами

Итак, мы пока поверхностно уже сказали, что SQL — это язык программирования для БД. Но фактически он никак не взаимодействует с data base напрямую. Описываемый инструментарий посылает представления-инструкции на СУБД. СУБД — это система управления базой данных. Теперь давайте по порядку.

Какие бывают СУБД

СУБД могут быть разными, некоторые из них будут у вас в дальнейшем постоянно на слуху, а о некоторы х вы возможно уже слышали. Несколько самых популярных СУБД:

Какие бывают виды SQL

SQL — это единый стандарт для реляционных баз данных. Но для каждой отдельной системы управления базами данных есть собственный апгрейд этого языка, который используется только для взаимодействия с этой конкретной СУБД. Среди программистов, такой апгрейд SQL называется «диалектом».

Различают следующие диалекты SQL:

Таких диалектов SQL очень много, как и различных СУБД, где под каждую будет свой диалект. При этом какие-нибудь простые запросы на «чистом» SQL будут выполняться в каждой СУБД. Диалекты нужны, когда вы хотите профессионально взаимодействовать с какой-либо СУБД и полноценно использовать ее возможности. Если вы напишите какое-нибудь специфическое представление на одном из диалектов и запустите ее не на «родной» СУБД, то такое представление не исполнится.

Конкретные действия, для чего нужен SQL

SQL — это следующие функциональные возможности:

В общем, SQL является очень мощным языком программирования для работы с СУБД и базами данных.

Вообще называть SQL языком программирования нужно очень осторожно, потому что фактически он не попадает под определения «язык программирования». Внутри него заложено всего лишь около 40 инструкций, которые предназначены исключительно для взаимодействия с СУБД. Эти инструкции легко встраиваются в различные языки программирования уровня Java или семейства С.

Главное отличие SQL от прочих языков программирования — это то, что его инструкции описывают «что разработчик хочет от компьютера», а языки программирования описывают «что компьютер должен выполнить, чтобы получилось то, что хочет разработчик». То есть SQL описывает конкретно что нужно сделать с информацией из БД, а как и когда это будет выполняться контролирует СУБД.

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

Но при всем при этом, SQL приходится единственным стандартным языком для работы с базами данных. Все появляющиеся новые СУБД, если не поддерживают SQL, то обречены на провал.

Заключение

Отвечая на вопрос, для чего нужен SQL, можно сказать так. Если вы планируете связывать свою будущую IT-деятельность с проектами, где присутствует работа с базами данных, то вам без знаний SQL не обойтись. Это довольно простой язык, который учится достаточно легко, но при работе с БД просто незаменим.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

SQL — что это такое простым языком

Sql что это такое простыми словами. terms20191115 0. Sql что это такое простыми словами фото. Sql что это такое простыми словами-terms20191115 0. картинка Sql что это такое простыми словами. картинка terms20191115 0

SQLпростыми словами, это язык программирования структурированных запросов (SQL, Structured Query Language), который используется в качестве эффективного способа сохранения данных, поиска их частей, обновления, извлечения из базы и удаления.

Произносится как «Эскуэль/ЭсКьюЭль», реже «СиКуЭль/СиКьюЭль», но чаще всего можно услышать жаргонное «Сиквэл/Сиквел».

Главный инструмент оптимизации и обслуживания базы данных — вот, для чего нужен SQL, хотя он и не ограничен этими целями. Возможности обработки охватывают команды определения представлений, указания прав доступа, схем отношений (в том числе, их удаления и изменения), взаимодействие с другими языками программирования, проверку целостности, задание начала и завершения транзакций.

Sql что это такое простыми словами. terms20191115 1. Sql что это такое простыми словами фото. Sql что это такое простыми словами-terms20191115 1. картинка Sql что это такое простыми словами. картинка terms20191115 1

Для чего нужен SQL на конкретном примере

Чтобы непрофессионалу понять, что значит SQL для ИТ-отрасли, приведём простой пример.

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

Как только все данные будут внесены в таблицу, каждая из записей попадает в разные категории (столбцы или «аттрибуты»). Это и есть организованная база данных. Вся организованная внутри неё информация, которой можно управлять, называется Database Schema (схема данных).

Если вы захотите выдать стипендии учащимся, которые получают оценку 90% или выше, то выполняется запрос данных в SQL, что простыми словами значит «попросить базу данных предоставить информацию о студентах, получающих 90% и более баллов».

Команда будет иметь синтаксический вид:

SELECT * FROM Student WHERE Percentage>=90;

Когда количество данных мало (скажем, 10 студентов), то можно всё легко посчитать и написать на клочке бумаге. Но когда объём данных увеличивается до тысяч записей, становится нужен SQL — он помогает управлять огромными данными эффективно, то есть быстро получать расчёты на их основе.

Как используется SQL и в чём его польза?

С 1974 года, когда язык структурированных запросов только появился, он обеспечивает взаимодейтсвие с системами управления базами данных (СУБД) во всём мире.

SQL, как простой и лёгкий в изучении язык из области свободного программного обеспечения, сегодня активно применяется:

Язык универсален и обладает чётко определённой структурой за счёт устоявшихся стандартов. Взаимодействие с базами данных происходит быстро даже в ситуациях, когда объёмы данных велики (Big Data). Кроме того, эффективное управление возможно даже без особых познаний кода.

Sql что это такое простыми словами. terms20191115 2. Sql что это такое простыми словами фото. Sql что это такое простыми словами-terms20191115 2. картинка Sql что это такое простыми словами. картинка terms20191115 2

Области применения и где используется SQL:

SQL DDL

В качестве языка определения данных (DDL) он даёт возможность независимо создавать базу данных, определять её структуру, использовать, а затем cбрасывать по завершению манипуляций.

SQL DML

В качестве языка управления данными (DML) — для поддержки уже существующих баз данных на эффективном с точки зрения трудозатрат и производительности языке ввода, изменения и извлечения данных в отношении базы данных.

SQL DCL

Как язык контроля данных (DCL), когда нужно защитить свою базу данных от повреждения и неправильного использования.

SQL клиент/сервер

Открывают единую систему входа (SSO) с проверкой подлинности пользователя в нескольких веб-приложениях в рамках единого сеанса.

SQL трёхуровневой архитектуры

Гарантирует защиту информационной составляющей от несанкционированного использования и копирования в цифровом виде.

Почти все реляционные базы данных используют SQL. Некоторые из них даже включают аббревиатуру языка в своём названии: Microsoft SQL Server, MySQL, PostgreSQL, Non Stop SQL, SQLite. Но есть и те, кто именуется независимо, как Oracle, DB/2, Ingres. Есть ещё «NoSQL» — это собирательный термин, который относят ко всем нереляционным базам данных без SQL (либо, когда это не единственный язык запросов).

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

Обратитесь в компанию ИТ-аутсорсинга для дальнейшей экспертной поддержки и консультации по этой теме и любым другим техническим вопросам.

Источник

Access SQL. Основные понятия, лексика и синтаксис

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

Понимание принципов работы SQL помогает создавать более точные запросы и упрощает исправление запросов, которые возвращают неправильные результаты.

Это статья из цикла статей о языке SQL для Access. В ней описаны основы использования SQL для выборки данных и приведены примеры синтаксиса SQL.

В этой статье

Что такое SQL?

SQL — это язык программирования, предназначенный для работы с наборами фактов и отношениями между ними. В программах управления реляционными базами данных, таких как Microsoft Office Access, язык SQL используется для работы с данными. В отличие от многих языков программирования, SQL удобочитаем и понятен даже новичкам. Как и многие языки программирования, SQL является международным стандартом, признанным такими комитетами по стандартизации, как ISO и ANSI.

На языке SQL описываются наборы данных, помогающие получать ответы на вопросы. При использовании SQL необходимо применять правильный синтаксис. Синтаксис — это набор правил, позволяющих правильно сочетать элементы языка. Синтаксис SQL основан на синтаксисе английского языка и имеет много общих элементов с синтаксисом языка Visual Basic для приложений (VBA).

Например, простая инструкция SQL, извлекающая список фамилий контактов с именем Mary, может выглядеть следующим образом:

Примечание: Язык SQL используется не только для выполнения операций над данными, но еще и для создания и изменения структуры объектов базы данных, например таблиц. Та часть SQL, которая используется для создания и изменения объектов базы данных, называется языком описания данных DDL. Язык DDL не рассматривается в этой статье. Дополнительные сведения см. в статье Создание и изменение таблиц или индексов с помощью запроса определения данных.

Инструкции SELECT

Чтобы описать набор данных с помощью SQL, нужно написать заявление SELECT. Инструкция SELECT содержит полное описание набора данных, которые вы хотите получить из базы данных. К ним относятся файлы со следующими элементами:

таблицы, в которых содержатся данные;

связи между данными из разных источников;

поля или вычисления, на основе которых отбираются данные;

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

необходимость и способ сортировки.

Предложения SQL

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

Определяет поля, которые содержат нужные данные.

Определяет таблицы, которые содержат поля, указанные в предложении SELECT.

Определяет условия отбора полей, которым должны соответствовать все записи, включаемые в результаты.

Определяет порядок сортировки результатов.

В инструкции SQL, которая содержит статистические функции, определяет поля, для которых в предложении SELECT не вычисляется сводное значение.

Только при наличии таких полей

В инструкции SQL, которая содержит статистические функции, определяет условия, применяемые к полям, для которых в предложении SELECT вычисляется сводное значение.

Термины SQL

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

Сопоставимая часть речи

Имя, используемое для идентификации объекта базы данных, например имя поля.

глагол или наречие

Ключевое слово, которое представляет действие или изменяет его.

Значение, которое не изменяется, например число или NULL.

Сочетание идентификаторов, операторов, констант и функций, предназначенное для вычисления одного значения.

Основные предложения SQL: SELECT, FROM и WHERE

Общий формат инструкций SQL:

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

Каждая инструкция SELECT заканчивается точкой с запятой (;). Точка с запятой может стоять как в конце последнего предложения, так и на отдельной строке в конце инструкции SQL.

Пример в Access

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

Sql что это такое простыми словами. c54ab29c 713d 46ce 8d05 2d58ff4f57fa. Sql что это такое простыми словами фото. Sql что это такое простыми словами-c54ab29c 713d 46ce 8d05 2d58ff4f57fa. картинка Sql что это такое простыми словами. картинка c54ab29c 713d 46ce 8d05 2d58ff4f57fa

1. Предложение SELECT

2. Предложение FROM

3. Предложение WHERE

Эту инструкцию SQL следует читать так: «Выбрать данные из полей «Адрес электронной почты» и «Компания» таблицы «Контакты», а именно те записи, в которых поле «Город» имеет значение «Ростов».

Разберем пример по предложениям, чтобы понять, как работает синтаксис SQL.

Предложение SELECT

SELECT [E-mail Address], Company

Это предложение SELECT. Оно содержит оператор (SELECT), за которым следуют два идентификатора («[Адрес электронной почты]» и «Компания»).

Если идентификатор содержит пробелы или специальные знаки (например, «Адрес электронной почты»), он должен быть заключен в прямоугольные скобки.

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

В инструкции SELECT предложение SELECT всегда стоит перед предложением FROM.

Предложение FROM

Это предложение FROM. Оно содержит оператор (FROM), за которым следует идентификатор (Контакты).

В предложении FROM не указываются поля для выборки.

Предложение WHERE

Это предложение WHERE. Оно содержит оператор (WHERE), за которым следует выражение (Город=»Ростов»).

Примечание: В отличие от предложений SELECT и FROM, предложение WHERE является необязательным элементом инструкции SELECT.

С помощью предложений SELECT, FROM и WHERE можно выполнять множество действий. Дополнительные сведения об использовании этих предложений см. в следующих статьях:

Сортировка результатов: ORDER BY

Как и в Microsoft Excel, в Access можно сортировать результаты запроса в таблице. Используя предложение ORDER BY, вы также можете указать способ сортировки результатов при выполнении запроса. Если используется предложение ORDER BY, оно должно находиться в конце инструкции SQL.

Предложение ORDER BY содержит список полей, для которых нужно выполнить сортировку, в том же порядке, в котором будут применена сортировка.

Предположим, например, что результаты сначала нужно отсортировать по полю «Компания» в порядке убывания, а затем, если присутствуют записи с одинаковым значением поля «Компания», — отсортировать их по полю «Адрес электронной почты» в порядке возрастания. Предложение ORDER BY будет выглядеть следующим образом:

ORDER BY Company DESC, [E-mail Address]

Примечание: По умолчанию Access сортирует значения по возрастанию (от А до Я, от наименьшего к наибольшему). Чтобы вместо этого выполнить сортировку значений по убыванию, необходимо указать ключевое слово DESC.

Дополнительные сведения о предложении ORDER BY см. в статье Предложение ORDER BY.

Работа со сводными данными: предложения GROUP BY и HAVING

Иногда возникает необходимость работы со сводными данными, такими как итоговые продажи за месяц или самые дорогие товары на складе. Для этого в предложении SELECT к полю применяется агрегатная функция. Например, если в результате выполнения запроса нужно получить количество адресов электронной почты каждой компании, предложение SELECT может выглядеть следующим образом:

SELECT COUNT([E-mail Address]), Company

Возможность использования той или иной агрегатной функции зависит от типа данных в поле и нужного выражения. Дополнительные сведения о доступных агрегатных функциях см. в статье Статистические функции SQL.

Задание полей, которые не используются в агрегатной функции: предложение GROUP BY

При использовании агрегатных функций обычно необходимо создать предложение GROUP BY. В предложении GROUP BY указываются все поля, к которым не применяется агрегатная функция. Если агрегатные функции применяются ко всем полям в запросе, предложение GROUP BY создавать не нужно.

Предложение GROUP BY должно следовать сразу же за предложением WHERE или FROM, если предложение WHERE отсутствует. В предложении GROUP BY поля указываются в том же порядке, что и в предложении SELECT.

Продолжим предыдущий пример. Пусть в предложении SELECT агрегатная функция применяется только к полю [Адрес электронной почты], тогда предложение GROUP BY будет выглядеть следующим образом:

Дополнительные сведения о предложении GROUP BY см. в статье Предложение GROUP BY.

Ограничение агрегированных значений с помощью условий группировки: предложение HAVING

Если необходимо указать условия для ограничения результатов, но поле, к которому их требуется применить, используется в агрегированной функции, предложение WHERE использовать нельзя. Вместо него следует использовать предложение HAVING. Предложение HAVING работает так же, как и WHERE, но используется для агрегированных данных.

Предположим, например, что к первому полю в предложении SELECT применяется функция AVG (которая вычисляет среднее значение):

SELECT COUNT([E-mail Address]), Company

Если вы хотите ограничить результаты запроса на основе значения функции COUNT, к этому полю нельзя применить условие отбора в предложении WHERE. Вместо него условие следует поместить в предложение HAVING. Например, если нужно, чтобы запрос возвращал строки только в том случае, если у компании есть несколько адресов электронной почты, можно использовать следующее предложение HAVING:

HAVING COUNT([E-mail Address])>1

Примечание: Запрос может включать и предложение WHERE, и предложение HAVING, при этом условия отбора для полей, которые не используются в статистических функциях, указываются в предложении WHERE, а условия для полей, которые используются в статистических функциях, — в предложении HAVING.

Дополнительные сведения о предложении HAVING см. в статье Предложение HAVING.

Объединение результатов запроса: оператор UNION

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

Оператор UNION позволяет объединить две инструкции SELECT в одну. Объединяемые инструкции SELECT должны иметь одинаковое число и порядок выходных полей с такими же или совместимыми типами данных. При выполнении запроса данные из каждого набора соответствующих полей объединяются в одно выходное поле, поэтому выходные данные запроса имеют столько же полей, сколько и каждая инструкция SELECT по отдельности.

Примечание: В запросах на объединение числовой и текстовый типы данных являются совместимыми.

Используя оператор UNION, можно указать, должны ли в результаты запроса включаться повторяющиеся строки, если таковые имеются. Для этого следует использовать ключевое слово ALL.

Запрос на объединение двух инструкций SELECT имеет следующий базовый синтаксис:

Предположим, например, что имеется две таблицы, которые называются «Товары» и «Услуги». Обе таблицы содержат поля с названием товара или услуги, ценой и сведениями о гарантии, а также поле, в котором указывается эксклюзивность предлагаемого товара или услуги. Несмотря на то, что в таблицах «Продукты» и «Услуги» предусмотрены разные типы гарантий, основная информация одна и та же (предоставляется ли на отдельные продукты или услуги гарантия качества). Для объединения четырех полей из двух таблиц можно использовать следующий запрос на объединение:

Дополнительные сведения об объединении инструкций SELECT с помощью оператора UNION см. в статье Просмотр объединенных результатов нескольких запросов с помощью запроса на объединение.

Источник

Sql что это такое простыми словами. SQL definition large. Sql что это такое простыми словами фото. Sql что это такое простыми словами-SQL definition large. картинка Sql что это такое простыми словами. картинка SQL definition large

SQL является инструментом, предназначенным для организации, управления, выборки и обработки информации, содержащейся в базе данных. Изначально в IBM этому языку было дано имя Structured English Query Language, сокращенно SEQUEL. Однако в тот момент владельцем торговой марки SEQUEL была компания Hawker Siddeley Aircraft Company из Великобритании, так что название языка было сокращено до SQL (Structured Query Language, язык структурированных запросов), а слово English было удалено из названия (для соответствия названия аббревиатуре). В настоящее время аббревиатура SQL читается либо как «сиквел», либо как «эс-кю-эль», причем корректны оба произношения, хотя предпочтительно второе. Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. На самом деле SQL работает только с базами данных определенного типа, называемыми реляционными базами данных, которые представляют собой основной способ организации данных в широком диапазоне приложений.

На рис. 1. показана схема работы SQL. Согласно этой схеме, в вычислительной системе имеется база данных, в которой хранится важная информация. Если вычислительная система относится к сфере бизнеса, то в базе данных могут содержаться сведения о материальных ценностях, выпускаемой продукции, объемах продаж и зарплате. В базе данных на персональном компьютере может находиться информация о выписанных чеках, телефонах и адресах или информация, извлеченная из более крупной вычислительной системы. Компьютерная программа, которая управляет базой данных, называется системой управления базой данных, или СУБД.

Sql что это такое простыми словами. SQL 1. Sql что это такое простыми словами фото. Sql что это такое простыми словами-SQL 1. картинка Sql что это такое простыми словами. картинка SQL 1

Рис. 1. Применение SQL для обращения к базе данных

Для того чтобы получить информацию из базы данных, вы запрашиваете ее у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и возвращает их вам. Процесс запроса данных у базы данных и получения результата называется запросом к базе данных (вот почему в названии языка имеется слово «запрос» — язык структурированных запросов).

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

Таким образом, SQL является достаточно мощным языком для управления СУБД и взаимодействия с ней.

Во-вторых, SQL — это не полноценный компьютерный язык типа COBOL, С, C++ или Java. SQL является подъязыком баз данных, в который входит около сорока инструкций, предназначенных для решения задач управления базами данных. Эти инструкции SQL могут быть встроены в другой язык, такой как COBOL или С, и расширяют его, давая возможность получать доступ к базам данных. Кроме того, из такого языка, как С, C++ или Java, инструкции SQL можно посылать СУБД в явном виде, используя интерфейс на уровне вызовов функций (call-level interface) или отправляя сообщения по вычислительной сети.

SQL отличается от других языков программирования, поскольку он описывает, что пользователь хочет от компьютера, а не как компьютер должен это сделать. (Говоря технически, SQL является декларативным, или описательным, а не процедурным языком.) В SQL нет инструкции IF для проверки выполнения условия, нет инструкций GOTO, DO или FOR для управления потоком выполнения. Инструкции SQL описывают, как организован набор данных или какие данные должны быть

выбраны или добавлены в базу данных. Последовательность шагов для решения этих задач определяется самой СУБД.

Наконец, SQL — это слабо структурированный язык, особенно по сравнению с такими высокоструктурированными языками, как С, Pascal или Java. Инструкции SQL напоминают обычные предложения естественного языка и содержат «слова-пустышки», не влияющие на смысл инструкции, но облегчающие ее чтение. В SQL почти нет нелогичностей, к тому же имеется ряд специальных правил, предотвращающих создание инструкций, которые выглядят как абсолютно правильные, но не имеют смысла.

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

Роль SQL

Сам по себе SQL не является ни системой управления базами данных, ни отдельным программным продуктом. Приобрести SQL нельзя ни в магазине, ни на сайте. SQL — это неотъемлемая часть СУБД, язык и инструмент для связи с ней. На рис. 2. показаны некоторые компоненты типичной СУБД и как SQL объединяет их в единое целое.

Сердцем СУБД является механизм базы данных (database engine, часто называемый просто движком); он отвечает за структурирование данных, сохранение и получение их из базы данных. Он принимает SQL-запросы от других компонентов СУБД (таких, как генератор отчетов или модуль запросов), от пользовательских приложений и даже от других вычислительных систем. Как видно из рисунка, SQL выполняет много различных функций.

Sql что это такое простыми словами. SQL 2. Sql что это такое простыми словами фото. Sql что это такое простыми словами-SQL 2. картинка Sql что это такое простыми словами. картинка SQL 2

Рис. 2. Компоненты типичной системы управления базой данных

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

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

SQL является чрезвычайно успешной информационной технологией. Вспомните, каким был рынок компьютеров в средине 1980-х годов, когда SQL только начинался. Тогда доминировали корпоративные мэйнфреймы и мини-компьютеры. Первый персональный компьютер IBM был создан всего лишь несколько лет назад, а его пользовательским интерфейсом была командная строка MS DOS. Мэйнфреймы IBM работали под управлением операционных систем от Digital Equipment, Data General, Hewlett-Packard и др. Компьютеры соединялись друг с другом при помощи закрытых сетей типа IBM SNA или DECnet от Digital Equipment. Интернет был не более чем инструментом, облегчавшим совместную работу исследовательских лабораторий, а веба не было и в помине. Доминирующими языками программирования были COBOL, С и Pascal; объектно-ориентированное программирование только-только делало первые шаги, a Java еще предстояло изобрести.

Во всех областях информационных технологий — от аппаратного обеспечения до операционных систем, сетей и языков программирования — ключевые технологии средины 1980-х годов уступили место новым решениям и методам. Но в мире управления данными реляционные базы данных и SQL никому не уступили свое место под солнцем. Они развивались, чтобы соответствовать новому аппаратному и программному обеспечению, операционным системам, сетям и языкам программирования. Несмотря на массу попыток свергнуть их с престола, реляционная модель и SQL преуспевают и остаются единственной доминирующей силой в области управления данными. Вот некоторые основные свойства SQL, обеспечивающие такой небывалый его успех в течение последних десятилетий.

Ниже эти факторы рассмотрены более подробно.

Независимость от конкретных СУБД

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

Межплатформенная переносимость

Реляционные СУБД выполняются на различных вычислительных системах — от мэйнфреймов и систем среднего уровня до персональных компьютеров, рабочих станций и переносных ПК. Они функционируют на отдельных компьютерах, в локальных и корпоративных сетях и даже на уровне Интернета. Приложения, созданные с помощью SQL и рассчитанные на однопользовательские системы, по мере своего развития могут быть перенесены на более крупные системы. Информация из корпоративных реляционных баз данных может быть загружена в базы данных отдельных подразделений или в персональные базы данных пользователей. Наконец, экономичные персональные компьютеры могут использоваться для тестирования прототипа приложения базы данных с использованием SQL, перед тем как перенести его на дорогую многопользовательскую систему.

Стандарты языка SQL

Официальный стандарт языка SQL был опубликован Американским национальным институтом стандартов (American National Standards Institute, ANSI) и Международной организацией по стандартизации (International Standards Organization, ISO) в 1986 году, после чего был расширен в 1989 году, а затем— в 1992, 1999, 2003 и 2006 годах. Кроме того, SQL является федеральным стандартом США в области обработки информации (Federal Information Processing Standard, FIPS), и, следовательно, соответствие ему является одним из основных требований, содержащихся в больших правительственных контрактах на разработки в компьютерной промышленности. В течение многих лет свой вклад в стандартизацию различных составляющих SQL, таких как интерфейсы программирования и объектно-ориентированные расширения, вносили многие международные, правительственные и промышленные группы. Со временем часть подобных инициатив стала составной частью стандарта ANSI/ISO. Все эти стандарты служат как бы официальной печатью, одобряющей SQL, и они ускорили завоевание им рынка.

Поддержка со стороны IBM

Изначально SQL разрабатывался исследователями IBM и быстро стал стратегическим продуктом, подтверждением чему служит флагманская СУБД DB2 компании IBM. Поддержка SQL имеется для всех основных семейств компьютеров компании IBM — от персональных компьютеров до мощных мэйнфреймов. Работа IBM ясно указала направление развития для других поставщиков баз данных и программных систем. Позже поддержка IBM существенно ускорила принятие SQL рынком. В 1970-х годах IBM была доминирующей силой на рынке вычислительной техники, так что ее поддержку SQL трудно переоценить.

Поддержка со стороны Microsoft

Основанность на реляционной модели

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

Высокоуровневая структура, напоминающая естественный язык

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

Интерактивные запросы

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

Программный доступ к базе данных

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

Различные представления данных

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

Полноценный язык для работы с базами данных

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

Динамическое определение данных

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

Архитектура “клиент/сервер”

SQL — естественное средство для реализации приложений, использующих распределенную архитектуру «клиент/сервер». В этой роли SQL служит связующим звеном между клиентской системой, взаимодействующей с пользователем, и серверной системой, управляющей базой данных, позволяя каждой из них сосредоточиться на выполнении своих функций. Кроме того, SQL дает возможность персональным компьютерам функционировать в качестве клиентов по отношению к сетевым серверам или более крупным базам данных, установленным на мэйнфреймах; это позволяет получать доступ к корпоративным данным из приложений, работающих на персональных компьютерах.

Поддержка приложений уровня предприятия

Все крупные приложения уровня предприятия, поддерживающие ежедневную деятельность больших компаний и организаций, используют для хранения и организации информации SQL-базы данных. В 1990-х годах, в связи с так называемой «проблемой 2000 года», большие фирмы массово перешли от собственных доморощенных систем к приложениям от таких производителей, как SAP, Oracle, PeopleSoft, Siebel и др. Данные, обрабатываемые такими приложениями (заказы, продажи, клиенты, склады и т.п.), обычно имеют структурированный вид записей с полями, который легко преобразуется в формат строк и столбцов SQL. Создавая свои приложения на базе SQL-баз данных уровня предприятия, производители программного обеспечения избегают необходимости разрабатывать собственные системы управления данными и пользуются всеми преимуществами существующих инструментов и опытом программистов. Поскольку все основные приложения уровня предприятия для своей работы требуют SQL-базы данных, увеличение продаж таких приложений автоматически влечет повышение спроса на новое программное обеспечение баз данных.

Расширяемость и поддержка объектно-ориентированных технологий

Основным вызовом доминированию языка SQL в качестве стандарта баз данных стало появление объектно-ориентированного программирования и языков программирования наподобие Java и C++. Как следствие общей направленности компьютерного рынка в сторону объектно-ориентированных технологий, появились объектные базы данных. В ответ на это поставщики реляционных СУБД начали постепенно расширять и модернизировать SQL, добавляя в него различные обьектные возможности. Появившиеся в результате »объектно-реляционные» базы данных, основанные, как и ранее, на SQL, стали более популярной альтернативой «чисто объектным» базам данных, обеспечив тем самым дальнейшее доминирование SQL в течение последнего десятилетия. Новейшие веяния объектных технологий, воплотившиеся в XML и архитектурах веб-служб, вновь «покусились» на доминирование SQL посредством «XML- баз данных» и альтернативных языков запросов в начале 2000-х годов. И вновь ведущие производители сумели отреагировать на угрозу путем добавления в язык XML- расширений. Пока что история SQL дает основания надеяться, что так же будут преодолены и новые вызовы, которые могут появиться в будущем.

Возможность доступа к данным в Интернете

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

Интеграция с языком Java (протокол JDBC)

Основной областью разработки SQL в последние пять-десять лет являлась интеграция SQL с Java. Осознав необходимость связи языка программирования Java с существующими реляционными базами данных, Sun Microsystems (создатель Java) предложил интерфейс JDBC (Java Database Connectivity), стандартный интерфейс прикладного программирования, позволяющий программистам на Java пользоваться SQL для обращения к базам данных. JDBC получил дальнейшую поддержку, когда был принят в качестве стандарта доступа к данным в спецификации Java2 Enterprise Edition (J2EE), которая определяет операционную среду, предоставляемую большинством ведущих серверов приложений Интернета. В дополнение к роли Java в качестве языка программирования, имеющего доступ к базам данных, многие ведущие производители реализовали поддержку Java в своих системах баз данных, тем самым обеспечив применение Java в качестве языка хранимых процедур и бизнес-логики в самих базах данных. Такая тенденция интеграции Java и SQL обеспечивает важность SQL и в новую эру Java-программирования.

Поддержка открытого кода

Одним из новейших важных событий в компьютерной индустрии стало применение подхода «открытого кода» в построении сложных программных систем. При этом подходе исходный текст является открытым и доступным бесплатно, так что многие программисты могут вносить в него свой вклад, добавлять в него новые возможности, исправлять ошибки, улучшать функциональность и т.п. Такое сообщество программистов, которые могут работать в различных организациях по всему миру, при определенной координации становится мощным двигателем новой технологии. Программное обеспечение с открытым кодом обычно доступно по невысокой цене (или вовсе бесплатно), что только добавляет ему привлекательности. В течение последнего десятилетия разработан ряд успешных проектов SQL- баз данных с открытым кодом, одна из которых, MySQL, стала стандартным компонентом набора программного обеспечения с открытым кодом LAMP, в который, кроме MySQL, входят операционная система Linux, веб-сервер Apache и язык сценариев РНР. Широкая доступность бесплатных SQL-баз данных с открытым кодом способствует дальнейшему росту популярности SQL.

Промышленная инфраструктура

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

Давайте теперь поговорим, как работать с SQL? Рассмотрим синтаксис языка, основные операторы и команды.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *