Файл: Sql (сокращение от англ. Structured Query Language) это язык запросов, который применяют, чтобы.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 17

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

История

SQL (сокращение от англ. Structured Query Language) — это язык запросов, который применяют, чтобы работать с базами данных, структурированных особым образом. Главные задачи SQL — составлять запросы так, чтобы находить среди большого объёма информации ту, что нужна для конкретных целей, сортировать её, структурировать и представлять в наиболее простом и понятном виде.
Первые упоминания об этом языке датируются 1974 годом. SQL создавался в рамках проекта экспериментальной реляционной СУБД System R. Занималась этим проектом компания IBM.

Первоначально язык назывался SEQUEL (Structured English Query Language), но потом слово «English» пропало из этого словосочетания, а аббревиатура приобрела тот вид, к которому мы давно уже привыкли. Разработкой языка запросов занимались Дональд Чэмбэрлин и Рэй Бойс.

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

Первыми СУБД, поддерживающими новый язык, стали в 1979 году Oracle V2 для машин VAX компании Relational Software (впоследствии ставшей компанией Oracle) и System/38 фирмы IBM, основанная на System/R.

Изначально SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:

  • создание в базе данных новой таблицы;

  • добавление в таблицу новых записей;

  • изменение записей;

  • удаление записей;

  • выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);

  • изменение структур таблиц.

Первый международный стандарт языка SQL был принят в 1989 г. Иногда стандарт SQL1 также называют стандартом ANSI/ISO, и подавляющее большинство доступных на рынке СУБД поддерживают этот стандарт полностью. Однако развитие информационных технологий, связанных с базами данных, и необходимость реализации переносимых приложений потребовали в скором времени доработки и расширения первого стандарта SQL.

В конце 1992 г
. был принят новый международный стандарт языка SQL, который называется SQL/92 или SQL2. И он не лишен недостатков, но в то же время является существенно более точным и полным, чем SQL/89. В настоящий момент большинство производителей СУБД внесли изменения в свои продукты так, чтобы они в большей степени удовлетворяли стандарту SQL2.

В 1999 году появился новый стандарт, названный SQL3. Если отличия между стандартами SQL1 и SQL2 во многом были количественными, то стандарт SQL3 соответствует качественным серьезным преобразованиям. В SQL3 введены новые типы данных, при этом предполагается возможность задания сложных структурированных типов данных, которые в большей степени соответствуют объектной ориентации.

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

В конце 2003 года был принят и опубликован новый вариант международного стандарта SQL: 2003.В SQL:2003 специфицирован ряд новых и важных свойств, с небольшими модификациями, внесёнными позже в 2008 году.

У каждого объекта в базе данных есть уникальное имя. Имена используются в операторах SQL и указывают, над каким объектом базы данных оператор должен выполнить действие. В стандарте ANSI/ISO определено, что имена имеются у таблиц, столбцов и пользователей. Во многих реализациях SQL поддерживаются также дополнительные именованные объекты, такие как хранимые процедуры, именованные отношения "первичный ключ – внешний ключ" и формы для ввода данных.

В соответствии со стандартом ANSI/ISO, в SQL имена должны содержать от 1 до 18 символов, начинаться с буквы и не содержать пробелы или специальные символы пунктуации. В стандарте SQL2 максимальное число символов в имени увеличено до 128.

Каждый оператор SQL начинается с глагола, т.е. ключевого слова, описывающего действие, выполняемое оператором. Типичными глаголами являются SELECT (выбрать), CREATE (создать), INSERT (добавить), DELETE (удалить), COMMIT(завершить). После глагола идет одно или несколько предложений. Предложение описывает данные, с которыми работает оператор, или содержит уточняющую информацию о действии, выполняемом оператором. Каждое предложение также начинается с ключевого слова, такого как WHERE (где), FROM (откуда), INTO (куда) и HAVING (имеющий). Одни предложения в операторе являются обязательным, а другие – нет.



Вот основные типы операторов SQL:

DDL (Data Definition Language) — операторы определения данных, которые работают с целыми таблицами. Например: CREATE — чтобы создать таблицу (TABLE) или базу данных (DATABASE), DROP (TABLE/DATABASE) — чтобы удалить всю таблицу или базу данных, USE — чтобы выбрать нужную базу данных.

DML (Data Manipulation Language) — операторы манипуляции данными, которые работают с содержимым таблиц. Например, UPDATE — чтобы обновить данные, DELETE — чтобы удалить, INSERT — чтобы добавить новые, SELECT (FROM/WHERE) — чтобы выбрать нужные данные по заданному параметру.

DCL (Data Control Language) — оператор определения доступа к данным для разных пользователей. Например, GRANT — чтобы открыть доступ или DENY — чтобы запретить.

SQL клиент-сервер — для управления доступом к данных для разных пользователей.

SQL трёхуровневой архитектуры — для защиты данных от несанкционированного копирования и распространения.

Кроме операторов используют TCL (Transaction Control Language) — язык управления транзакциями, то есть сериями команд, которые выполняются поочередно.

Особенности языка SQL


Это язык запросов, а не программирования. Его используют в дополнение к Python, JavaScript или C++, но только для работы с базами данных. Написать на нём полноценный сайт или приложение невозможно.

Чёткая и понятная структура. Это делает язык SQL для работы с данными относительно простым для начинающих.

Универсальность. Есть единые стандарты построения запросов для любых баз данных и браузеров, которые позволяют обрабатывать даже очень большие объёмы информации.

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

Управление доступом. При помощи SQL можно предоставить, закрыть или ограничить доступ к данным для разных групп пользователей, а также выдать им определённый набор функций: чтение, изменение, создание, удаление, копирование. Это защищает базы данных от взлома или несогласованных изменений.

Сфера использования SQL


SQL используют в Facebook, Google, Amazon, Uber, Netflix, Airbnb. Например, для того, чтобы показывать пользователям персональные рекомендации на основе того, что они смотрят, читают и лайкают.

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

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

● Ключ — самый главный столбец, который связывает таблицы данных.
Ключи разного уровня в таблицах с данными

      Они бывают:

      - первичными — содержат уникальный идентификатор для каждого объекта, например,          артикул;

      - потенциальными — содержат альтернативный идентификатор;

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

● Отношение — таблица с данными, представленными в строках и столбцах.

● Атрибут — столбец, который содержит наименование, тип, цену или другой параметр.

● Домен — значения, которые допустимы для данного атрибута: например, стоимость в рублях или название кириллическими символами.

● Кортеж — пронумерованная строка, где содержатся все данные о каком-либо объекте.

● Значение — содержимое ячейки в таблице.