Файл: 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 состоит из шести элементов:
● Ключ — самый главный столбец, который связывает таблицы данных.
Ключи разного уровня в таблицах с данными
Они бывают:
- первичными — содержат уникальный идентификатор для каждого объекта, например, артикул;
- потенциальными — содержат альтернативный идентификатор;
- внешними — содержат ссылку, которая позволяет связать две таблицы, при этом значения ключей в одной таблице соответствуют первичному ключу в другой.
● Отношение — таблица с данными, представленными в строках и столбцах.
● Атрибут — столбец, который содержит наименование, тип, цену или другой параметр.
● Домен — значения, которые допустимы для данного атрибута: например, стоимость в рублях или название кириллическими символами.
● Кортеж — пронумерованная строка, где содержатся все данные о каком-либо объекте.
● Значение — содержимое ячейки в таблице.