- •Базы данных
- •Лекция 1 Хранение данных Данные, информация
- •Системы хранения данных на основе файлов
- •База данных
- •Требования к субд
- •Администратор бд (абд)
- •Лекция 2 Модели данных Независимость данных
- •Модель, схема
- •Лекция 3 Ранние модели Иерархическая модель
- •Сетевая модель
- •Лекция 4 Пример базы данных, построенной на сетевой модели Постановка задачи
- •Диаграмма
- •Описание на яод
- •Лекция 5 Реляционная модель Принципы
- •Уточнения
- •Лекция 6 Методы хранения данных и доступа к ним
- •Последовательный метод
- •Прямой метод
- •Индексные методы
- •Индексно-последовательный метод
- •Индексно-произвольный метод
- •Инвертированные списки
- •Хеширование
- •Лекция 7 Реляционная алгебра: определения, изменение отношений
- •Изменение отношений во времени.
- •Лекция 8 Операции реляционной алгебры
- •Булевы операции
- •Выбор; свойства выбора
- •Проекция; свойства проекции
- •Лекция 9 Операции реляционной алгебры (продолжение) Соединение
- •Свойства соединения
- •Лекция 10 Операции реляционной алгебры (продолжение)
- •Деление
- •Постоянные отношения. Переименование атрибутов
- •Эквисоединение, естественное и -соединение
- •Реляционная алгебра. Полнота ограниченного множества операторов
- •Операторы расщепления и фактора
- •Лекция 11 Язык структурных запросов sql
- •Начальные понятия
- •Стандарт ansi
- •Типы данных
- •Интерактивный и встроенный sql
- •Синтаксис
- •Подразделы sql
- •Простейшие действия
- •Функции агрегирования
- •Группировка
- •Возможности форматирования
- •Лекция 12 Язык структурных запросов sql (продолжение) Соединение
- •Вложенные запросы
- •Связанные запросы
- •Предикаты, определенные на подзапросах
- •Объединение
- •Изменение базы данных
- •Лекция 13 Понятие о нормальных формах
- •1 Нормальная форма (1нф)
- •2 Нормальная форма (2нф)
- •3 Нормальная форма (3нф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •4 Нормальная форма (4нф)
- •5 Нормальная форма (5нф) – проекция/соединение
- •Лекция 13 Проектирование данных Процессы проектирования
- •Концептуальное проектирование
- •Логическое проектирование
- •Средства создания модели
- •Лекция 14 Функциональные зависимости
- •Аксиомы вывода
- •Ориентированный ациклический граф вывода
- •Определение реляционной базы данных
- •Представление множества функциональных зависимостей
- •Лекция 15 Покрытия функциональных зависимостей
- •Лемма об эквивалентности фз
- •Неизбыточные покрытия
- •Посторонние атрибуты
- •Канонические покрытия
- •Структура неизбыточных покрытий
- •Оптимальные покрытия
- •3 Нормальная форма
- •Нормализация через декомпозицию и посредством синтеза
- •Нормальная форма Бойса-Кодда
- •Литература
Возможности форматирования
Возможности форматирования отображаемых данных в SQL довольно слабые. Можно вместо атрибута использовать выражения или константы, а также упорядочивать и группировать записи.
Если вместо атрибута использовать выражение или константу, соответствующий столбец в выборке, согласно стандарту, становится безымянным (в FoxPro столбец получает специальное имя). В случае константы все записи в этой позиции будут иметь значение, равное этой константе. Нельзя задать выборку с единственным столбцом, определенным константой.
Пример
Select Имя_прод, город, Комиссия*100, ‘%’ From продавцы;
-
Имя_прод
Город
Иванов
Москва
12
%
Петров
Тула
13
%
Сидоров
Москва
11
%
Борисов
Киров
15
%
Титов
Пенза
10
%
Конец примера
Для упорядочивания записей в выборке используется фраза Order by, в которой, как и в случае группировки, задается список атрибутов. Процесс упорядочивания начинается с самого правого атрибута списка и заканчивается самым левым. Каждый атрибут может быть снабжен признаком Asc для возрастающего порядка или Desc для убывающего. По умолчанию записи упорядочиваются по возрастанию значения указанного атрибута. Атрибут из списка Order by должен быть указан в выборке. Вместо имени, в списке может быть задан номер атрибута из списка выбора, это важно, если столбец задан агрегатной функцией или вообще безымянный. Однако гораздо лучше переименовать выбираемые данные так, чтобы имена столбцов были понятными. Переименование выполняется конструкцией <выбираемое выражение> As <имя>.
Упорядочивание может сочетаться с группировкой, в этом случае Order by выполняется последним.
Особый случай возникает, когда атрибут принимает значение null. Стандарт упорядочивания не определяет его положение в списке, в некоторых реализациях считается, что это значение наименьшее, в других – что наибольшее.
Пример
Select ном_зак, сумма, дата From Заказы
Order By дата, сумма Desc ;
-
Ном_зак
Сумма
Дата
305
5160,4
03.10
302
1900,1
03.10
306
1098,1
03.10
303
767,2
03.10
301
18,7
03.10
309
1713,2
04.10
307
75,7
04.10
308
4723,0
05.10
311
3891,8
06.10
310
1309,9
06.10
Select ном_прод, MAX(сумма) As макс_сумма From Заказы
Group By ном_прод Order By ном_прод;
-
Ном_прод
макс_сумма
11
4723,0
12
5160,4
13
1713,2
14
1900,1
17
1098,1
Select Ном_прод, Max(сумма) From Заказы
Group By Ном_прод Order By 2 Decs;
-
Ном_прод
12
5160,4
11
4723,0
14
1900,1
13
1713,2
17
1098,1
Конец примера