- •1 . Архитектуры обработки данных. 1
- •Архитектура файл/сервер.
- •Архитектура клиент/сервер.
- •Многозвенная архитектура.
- •Способы организации данных.
- •Сетевая модель данных
- •Реляционная модель данных.
- •ЯзыкSqLкак язык работы с реляционными базами.
- •Данные и взаимосвязи.
- •Объекты.
- •Первичные ключи. Что выбрать в качестве первичных ключей для каждой из таблиц?
- •Нормализация данных.
- •Первая нормальная форма.
- •Вторая нормальная форма.
- •Третья нормальная форма.
- •Типы данных.
- •Числовые целые типы данных.
- •Числовые типы данных с плавающей точкой.
- •Символьные типы данных.
- •. Типы данных date, time и datetime.
- •Специальные типы данных.
- •Структура запроса, основные ключевые слова и операторы
- •Список основных операторовSql
- •Список основных ключевых словSql
- •ОператорSelect
- •ПредложениеSelect
- •ПредложениеFrom
- •Повторяющиеся строки (ключевое слово distinct).
- •ПредложениеWhere
- •Условия поиска.
- •Составные условия поиска (and, or и not)
- •Проверка на принадлежность диапазону значений (between)
- •Проверка на членство в множестве (in)
- •Проверка на равенство значению null (is null)
- •Проверка на соответствие шаблону (like)
- •Подстановочные знаки
- •Сортировка результатов запроса (предложениеOrder by)
- •Агрегатные функции
- •Вычисление суммы столбца (sum)
- •Вычисление экстремумов (min и max)
- •Вычисление среднего значения (avg)
- •Вычисление количества значений в столбце (count)
- •Запросы с группировкой (предложениеGroup by)
- •Условия поиска групп having
- •Работа с несколькими таблицами
- •Вложенные запросы
- •Исходная база данных
- •Вложение запросов.
- •Оператор exists
- •Объединение множества запросов в один
- •Когда можно выполнить объединение запросов ?
- •Использование union с order by.
- •Команды модификации данных
- •Ввод значений (insert)
- •Вставка пустых указателей (null)
- •Именование названий столбцов для вставки
- •Вставка результатов запроса
- •Удаление строк из таблиц (delete)
- •Изменение значений поля (update)
- •Использование подзапросов для команд модификации данных
- •Использование подзапросов в insert
- •Использование подзапросов с delete
- •Модификация структуры данных
- •Команда сreate table
- •Команда alter table.
- •Команда drop table
ПредложениеFrom
Предложение FROM состоит из ключевого слова FROM, за которым следует список спецификаторов таблиц, разделенных запятыми. Каждый спецификатор таблицы идентифицирует таблицу, содержащую данные, которые считывает запрос. Такие таблицы называются исходными таблицами запроса (и оператора SELECT), поскольку все данные, содержащиеся в таблице результатов запроса, берутся из них.
SELECT * FROM ГОРОДА
Это означает, что все данные для запроса будут взяты из таблицы ГОРОДА.
Повторяющиеся строки (ключевое слово distinct).
Если в списке возвращаемых столбцов запроса на чтение указать первичный ключ таблицы, то каждая строка результатов запроса будет уникальной (из-за того, что значения первичного ключа во всех строках разные). Если первичный ключ не указан, результаты запроса могут содержать повторяющиеся строки.
Предположим, что если у нас в один день 10 документов, то для исключения дублирующихся элементов применяется ключевое слово DISTINCT.
SELECT DISTINCT ДАТА FROM ДОКУМЕНТ
ПредложениеWhere
SQLзапросы, считывающие из таблицы все строки, полезны при просмотре базы данных и создании отчетов, однако редко применяются для чего-нибудь еще. Обычно требуется выбрать из таблицы несколько строк и включить в результаты запроса только их. Чтобы указать, какие строки требуется отобрать, следует использовать предложение WHERE. Ниже покажем несколько запросов, в которых используется это предложение.
Нам нужно достать все IDN_КЛИЕНТА за 7 мая: (5.2.3 - 1)
SELECT IDN_КЛИЕНТА
FROM ДОКУМЕНТ
WHERE ДАТА=’7.05.2000’
Нам нужно достать все документы, полученные за март месяц: (5.2.3 - 2)
SELECT *
FROM ДОКУМЕНТ
WHERE ДАТА > ’1.03.2000’ AND ДАТА <= ’31.03.2000’
Нам нужно достать все IDN_КЛИЕНТА, у которых IDN_СКЛАДА=1: (5.2.3 - 3)
SELECT IDN_КЛИЕНТА
FROM ДОКУМЕНТ
WHERE IDN_СКЛАДА=1
Условия поиска.
В SQL используется множество условий поиска, позволяющих эффективно и естественным образом создавать различные типы запросов. Ниже рассматриваются пять основных условий поиска:
Сравнение. Значение одного выражения сравнивается со значением другого выражения. Например, такое условие поиска используется для выбора всех документов, дата которых больше, чем 1.03.2000.
Проверка на принадлежность диапазону значений. Проверяется, попадает ли указанное значение в определенный диапазон значений. Например, тот же пример. Что и у сравнения , только к этому еще добавляется : но меньше, чем 9.03.2000.
Проверка на членство в множестве. Проверяется, совпадает ли значение выражения с одним из значений из заданного множества. Например, такое условие поиска используется для выбора клиентов у которых IDNСКЛАДА=1.
Проверка на соответствие шаблону. Проверяется, соответствует ли строковое значение, содержащееся в столбце, определенному шаблону. Например, такое условие поиска используется для выбора клиентов на букву «А».
Проверка на равенство значению NULL. Проверяется, содержится ли в столбце значение NULL .Например, такое условие поиска используется для нахождения всех клиентов, для которых город еще не определен.
Сравнение (=,<>,<,<=,>,>=)
Наиболее распространенным условием поиска в SQL является сравнение. При сравнении SQL вычисляет и сравнивает значения двух выражений для каждой строки данных. Выражения могут быть как очень простыми, например содержать одно имя столбца или константу, так и более сложнымиарифметическими выражениями. В SQL имеется шесть различных способов сравнения двух выражений:
Синтаксическая диаграмма сравнения
выражение 1 = выражение 2
<>
<
<=
>
>=
Когда SQL сравнивает значения двух выражений, могут получиться три результата:
если сравнение истинно, то результат проверки имеет значение TRUE;
если сравнение ложно, то результат проверки имеет значениеFALSE;
если хотя бы одно из двух выражений имеет значение NULL, то результатом проверки будет значение NULL.
Запросы на сравнение вы можете посмотреть в пункте «Предложение WHERE».