- •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
Когда можно выполнить объединение запросов ?
Для того чтобы запросы можно было объединить (выполнить команду UNION),их столбцы, входящие в состав выходных данных, должны быть совместимыми по объединению (union compatible). Это значит, что в каждом из запросов может быть указано одинаковое количество столбцов, причем, первые столбцы каждого из запросов являются сравнимыми , вторые столбцы --- также сравнимы и т.д. по всем столбцам , включаемых в состав выходных данных.
‘Столбцы сравнимые’ значит:
числовые поля полностью совпадает тип и размер
символьные поля точно совпадающее количество
(это значит, что одинаковое количество выделено, но не обязательно заполнено)
Есть таблицы клиентов и банков, сделать таблицу объединения с указанием
типа: банк юридическое ( юр.) лицо, клиент физическое (физ.).
SELECT ‘ физ.’, ИМЯ FROM КЛИЕНТ
UNION
SELECT ‘ юр.’, РЕКВИЗИТЫ FROM БАНКИ
в кавычках, после юр., необходимо поставить пробел т.к. столбцы должны быть сравнимыми
т.е. выделено одинаковое количество символов.
Выходные данные:
Физ. |
Петров |
Физ. |
Кузнецов |
Физ. |
Иванов |
Физ. |
Золин |
Физ. |
Киров |
Физ. |
Павлов |
Физ. |
Петренко |
Юр. |
МММ |
Юр. |
Менатеп |
Юр. |
Западуралбанк |
Юр. |
Альфа-банк |
Юр. |
Сбербанк |
Использование union с order by.
В предыдущем разделе порядку представления выходных данных значения не придавалось. Сначала представлялись выходные данные для первого запроса, затем - для второго. Такой способ расположения выходных данных выбран для более простого восприятия результатов выполнения команды.
Предложение ORDER BY применяется для упорядочения выходных данных объединения, так же как это делалось для отдельных запросов. Для этого необходимо после запроса указать:
ORDER BY A,
где А целое число, задающее номер столбца по которому будет производиться упорядочивание. Т.к. столбцы выходных данных , полученных в результате выполнения объединения, без имени, на столбец можно сослаться только по номеру, определяющему его место расположения среди столбцов выходных данных.
Е
Обращение
к таблице Клиент
SELECT ‘физ.’, ИМЯ FROM КЛИЕНТ
UNION
SELECT ‘юр.’, РЕКВИЗИТЫ ИМЯ FROM БАНКИ
ORDER BY 2
В кавычках после «юр.» необходимо поставить пробел, т.к. столбцы должны быть сравнимыми, т.е. должно быть выделено одинаковое количество символов.
Выходные данные:
юр. |
Альфа – банк |
юр. |
Западуралбанк |
.физ. |
Золин |
физ. |
Иванов |
физ. |
Киров |
физ. |
Кузнецов |
юр. |
Менатеп |
юр. |
МММ |
физ. |
Павлов |
физ. |
Петров |
Физ. |
Петренко |
Юр. |
Сбербанк |