ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.03.2021
Просмотров: 1657
Скачиваний: 26
8.
Язык
SQL
Язык
запросов
к
базам
данных
SQL
появился
в
70-
е
годы
.
Его
прототип
был
разработан
фирмой
IBM
и
известен
под
названием
SEQUEL (Structured
English QUEry Language). SQL
вобрал
в
себя
достоинства
реляционной
модели
,
в
частности
то
,
что
в
ее
основе
лежит
математический
аппарат
реляционной
зуя
при
этом
сравнительно
небольшое
число
операторов
и
простой
синтаксис
.
Благодаря
своим
качествам
язык
SQL
стал
вначале
«
де
-
факто
»,
а
затем
и
офиц
в
м ти
у
SQL
посвящено
большое
число
книг
,
в
том
числе
и
учебного
назначения
,
некоторые
из
них
приведены
в
списке
литературы
данного
пособия
в
частности
,
учебное
пособие
специально
посвящено
вопросам
практического
изучения
языка
SQL.
В
связи
с
эт
пособии
мы
,
имеющие
е
алгебры и
реляционного
исчисления
,
исполь
иально
утвержденным
в
качестве
стандарта
языка
для
работы
с
реляционными
базами
данных
,
поддерживаемого
всеми
ведущими
мировыми
фирмами
,
действующими
в
области
технологии
баз
данных
.
Использование
выразительного
и
эффективного
стандартного
языка
поз олило
в
настоящее
время
обеспечить
высокую
степень
независи ос
разрабатываемых
прикладных
программных
систем
от
конкретного
типа
используемой
СУБД
,
существенно
поднять
уровень
и
унификацию
инструментальных
средств
разработки
приложений
,
работающих
с
реляционными
базами
данных
.
Говоря
о
стандарте
языка
SQL,
следует
заметить
,
что
большинство
его
коммерческих
реализаций
имеют
большие
или
меньшие
отступления
от
стандарта
.
Это
,
конечно
,
ухудшает
совместимость
систем
,
использующих
различные
«
диалекты
» SQL.
С
другой
стороны
,
полезные
расширения
реализаций
языка
относительно
стандарта
являются
средством
развития
языка
и
со
временем
включаются
в
новые
редакции
стандарта
.
Язык
им
в
данном
рассмотрим
лишь
важные
общие
особенности
данного
языка
значени для
последующего
изложения
материала
.
72
8.1.
Отличие
SQL
от
процедурных
языков
ассу
непроцедурных
языков
программирования
.
е
также
могут
быть
ориентирован
не
на
пи
к
е в
8.2
Существуют
и
используются
две
формы
языка
SQL:
интерактивный
SQL
и
встроенный
SQL
Интерактивн
L
используется
для
непосредственного
ввода
и
получе
зульт
-
запросов
пользователем
в
интерактивном
режиме
.
Встроенный
тоит
из
команд
SQL,
встроенных
внутрь
программ
,
которы
чно
написаны
на
некотором
другом
языке
(
Паскаль
,
С
,
С
++
и
др
.).
Это
д
рогр
написанные
на
таких
языках
,
более
мощными
и
эффективными
,
об
ивая
возможность
работы
с
помощью
них
с
данными
,
хранящимися
в
онных
базах
данных
,
требуя
,
однако
,
введения
дополнительных
с
обеспечивающих
интерфейс
SQL
с
языком
,
в
который
он
встр
ется
.
быть
включены
также
средства
определения
ограничений
целостности
данных
,
программирования
Язык
SQL –
относится
к
кл
В
отличие
от
универсальных
процедурных
языков
,
которы
спользованы
для
работы
с
базами
данных
,
язык
SQL
и
за си
,
а
на
множества
.
Это
означает
следующее
.
В
ачеств
ходной
информации
для
формулируемого
на языке
SQL
запроса
к
базе
данных
используется
множество
кортежей
-
записей
одной
или
нескольких
таблиц
-
отношений
.
В
результате
выполнения
запроса
также
образуется
множество
кортежей
результирующей
таблицы
-
отношения
.
Другими
словами
в
SQL
результатом
любой
операции
над
отношениями
также
является
отношение
.
Запрос
SQL
задает
не
процедуру
,
т
.
е
.
последовательность
действий
,
необходимых
для
получения
результата
,
а
условия
,
которым
должны
удовлетворять
кортежи
результирующего
отношения
,
сформулированные
в
терм
го
(
или
входных
)
отношений
.
инах
входно
.
Формы
и
составные
части
SQL
.
ый
SQ
ния
ре
ата
SQL
SQL
сос
е
обы
елает
п
аммы
,
еспеч
реляци
редств
,
аива
И
интерактивный
,
и
встроенный
SQL
обычно
разделяют
на
следующие
составные
части
.
Язык
Определения
Данных
– DDL
(Data Definition Language),
дает
возможность
создания
,
изменения
и
удаления
различных
объектов
базы
данных
(
таблиц
,
индексов
,
пользователей
,
привилегий
и
т
.
д
.).
К
числу
дополнительных
функций
языка
определения
данных
DDL
могут
73
определения
орядка
в
структурах
ранения
данных
,
описания
элементов
физического
уровня
хра
п
х
нения
данных
.
нящейся
в
ней
данных
.
,
это
различных
языка
,
а
компоненты
единого
SQL.
8.3.
словия
и
терминология
Ключевые
слова
–
это
используемые
в
выражениях
SQL
слова
,
которые
имеют
ьное
назначение
.
Например
,
они
могут
обозначать
конкретные
команд
.
Ключевые
слова
нельзя
использовать
для
других
целей
,
наприм
естве
имен
объектов
базы
данных
.
Операторы
SQL
являются
инструкциями
,
с
помощью
которых
произв
бращение
SQL
к
базе
данных
.
Операторы
состоят
из
одной
или
более
отдельных
логических
частей
,
называемых
предложениями
.
Пред
ответственно
,
строка
и
SELECT-
запросы
Q
используемым
оператором
.
Он
предназначен
для
выборки
данных
.
Упрощенный
синтаксис
оператора
м
образом
.
Язык
Обработки
Данных
– DML (Data Manipulation Language),
предоставляет
возможность
выборки
информации
из
базы
данных
и
преобразования
хра
Тем
не
менее
не
два
У
специал
ы
SQL
ер
в
кач
одится
о
ложения
начинаются
соответствующим
ключевым
словом
и
состоят
из
ключевых
слов
и
аргументов
.
Следует
обратить
внимание
на
то
,
что
термины
,
используемые
в
языке
SQL,
несколько
отличаются
от
терминов
,
принятых
при
описании
реляционной
модели
.
В
частности
,
вместо
термина
отношение
в
нем
используется
термин
таблица
,
вместо
терминов
кортеж
и
атрибут
,
со
столбец
.
8.4.
Выборка
данных
.
Оператор
SELECT
Простейшие
Оператор
SELECT
(
ВЫБРАТЬ
)
языка
S L
является
самым
важным
и
самым
часто
информации
из
таблиц
базы
SELECT
выглядит
следующи
74
SEL
ператором
SELECT
>
]
;
казаны
элементы
,
которые
могут
в
запросе
Ключе
УБД
,
что
данное
предложение
является
запросом
на
извлечение
информации
.
После
слова
SELECT
через
запятую
перечисляются
наименования
полей
(
список
атрибутов
),
содержимое
х
ECT
является
слово
FR
исок
разделенных
запятыми
ормация
.
Напр
SELECT
NAME
,
SURNAME
FROM
STUDENT
;
ECT [DISTINCT]
<
список
атрибутов
>
FROM
<
список
таблиц
>
[WHERE
<
условие
выборки
>
]
[ORDER
BY
<
список
атрибутов
>
]
[GROUP
BY
<
список
атрибутов
>
]
[HAVING
<
условие
>
]
[UNION
<
выражение
с
о
В квад
у
ратных
скобках
отсутствовать
.
вое
слово
SELECT
сообщает
С
которы запрашивается
.
Обязательным
ключевым
словом
в
предложении
-
запросе
SEL
OM
(
из
).
За
ключевым
словом
FROM
указывается
сп
имен
таблиц
,
из
которых
извлекается
инф
имер
,
SQL-
запрос
должен
заканчиваться
символом
«
точка
с
запятой
».
Приведенный
запрос
осуществляет
выборку
всех
значений
полей
NAME
и
SURNAME
из
таблицы
STUDENT
.
Его
результатом
является
таблица
следующего
вида
NAME
SURNAME
Иван
Иванов
Петр
Петро
в
Вадим
Сидоров
Борис
Кузнецов
Ольга
Зайцева
Андрей
Павлов
Павел
Котов
Артем
Лукин
Антон
Петров
Вадим
Белкин
…… ……
Порядок
следова
NAME
и
SURNAME
,
ук
ния
столбцов
в
этой
таблице
соответствует
порядку
полей
азанному
в
запросе
,
а
не
их
порядку
во
входной
таблице
в
результате
SQL-
запроса
лению
реляционного
отношения
.
В
STUDENT
.
Обратим
внимание
на
то
,
что
получаемые
таблицы
не
в
полной
мере
отвечают
опреде
75
частности
в
них
могут
оказаться
дубликаты
кортежей
с
одинаковыми
названий
городов
,
в
которых
живут
но
записать
FROM
STUDENT
;
Е
ица
значениями
атрибутов
.
прос
: “
Получить
список
Например
,
за
студенты
,
сведения
о
которых
находятся
в
таблице
STUDENT
”,
мож
ующем
виде
в
след
SELECT
CITY
го
результатом
будет
табл
CITY
Орел
Курск
Москва
Брянск
Липецк
Воронеж
Белгород
Воронеж
NULL
Воронеж
……
Можно
видеть
,
что
в
этой
таблице
могут
встречаться
одинаковые
строки
.
ирным
шрифтом
.
овторяющихся
записей
Если
запрос
SELECT
ство
полей
,
то
DISTINCT
исключает
дубликаты
строк
,
в
ожения
,
определяемого
где
),
позволяет
вводить
выражение
условия
щее
значение
истина
или
ложь
для
значений
полей
строк
оператор
SELECT
.
Предложение
WHERE
должны
быть
выбраны
.
В
таблицу
,
ультатом
запроса
,
включаются
только
те
строки
,
для
которых
в
предложении
WHERE
,
принимает
значение
Пример
с
,
выполняющий
выборку
имен
(
NAME
)
всех
студентов
с
ения
о
которых
находятся
в
таблице
SURNAME
,
NAME
STUDENT
SURNAME
= ‘
Петров
’;
Они
выделены
ж
Для
исключения
из
результата
SELECT
-
запроса
п
чевое
слово
DISTINCT
(
отличный
).
используется
клю
кает
множе
извле
которых
значения
всех
выбранных
полей
идентичны
.
В
ператора
SELECT
,
предл
ведение
в
выражение
о
ключевым
словом
WHERE
(
(
предикат
),
принимаю
таблиц
,
к
которым
обращается
е
строки
указанных
таблиц
определяет
,
каки
являющуюся
рез
условие
(
предикат
),
указанное
истина
.
Написать
запро
фамилией
(
SURNAME
)
Петров
,
свед
STUDENT
SELECT
FROM
RE
WHE