- •Оано впо «волжский университет им. В.Н. Татищева»
- •Содержание
- •Используемые сокращения
- •1 Основные понятия системы баз данных
- •2 История развития систем управления базами данных
- •3 Модели данных
- •3.1 Иерархическая модель
- •3.2 Сетевая модель
- •3.3 Реляционная модель
- •3.3.1 Терминология и базовые понятия реляционных бд
- •3.3.2 Целостность и сохранность баз данных
- •4 Архитектура субд
- •4.1 Типовая организация современной субд
- •4.2 Основные функции субд.
- •5 Язык sql
- •5.1 Оператор select
- •5.1.1 Особенности использования предложения select
- •5.1.2 Особенности использования предложения where
- •5.1.3 Сортировка результатов запроса
- •5.1.4 Группировка записей
- •5.1.5 Ограничение на группировку записей
- •5.2 Объединение однотипных запросов
- •5.3 Структурированные, или вложенные, запросы
- •5.4 Запросы на удаление
- •5.5 Запросы на обновление данных
- •5.6 Запросы на добавление данных
- •6.2 Теоретико-множественные отношения
- •6.3 Соединения
- •6.4 Деление
- •7 Проектирование реляционной базы данных
- •7.1 Существующие подходы к проектированию баз данных
- •7.2 Этапы проектирования баз данных
- •7.2.1 Формирование и анализ требований к системе
- •7.2.1.1 Функциональное моделирование
- •7.2.1.2 Состав функциональной модели
- •7.2.1.3 Типы связей между функциями
- •7.2.1.4 Декомпозиция отношений
- •7.2.2 Проектирование с использованием метода «сущность-связь»
- •7.2.3 Переход от er–модели к реляционной
- •7.3 Проектирование реляционных баз данных с использованием нормализации
- •7.3.1 Функциональные зависимости
- •7.3.2 Пример нормализации отношений
- •Накладная № 123
- •8 Физическая организация базы данных
- •8.1 Структура данных в файлах с различной организацией
- •8.1.1 Основные понятия
- •8.1.2 Неупорядоченные и упорядоченные файлы
- •8.1.3 Хешированные файлы
- •8.2 Индексированные файлы
- •9 Защита баз данных
- •9.1 Потенциальные опасности
- •9.2 Основные типы угроз
- •9.3 Контрмеры – компьютерные средства контроля
- •Вопросы для самоконтроля
- •Используемая литература
5.1.2 Особенности использования предложения where
1. Сравнение значения столбца с константой, где в качестве оператора могут выступать операторы отношения, приведенные в таблице 2.
Таблица 2 - Операторы отношения
Оператор |
Описание |
< |
Меньше |
<= |
Меньше или равно |
<> |
Не равно |
= |
Равно |
> |
Больше |
>= |
Больше или равно |
Пример. Показать информацию о товарах, цена которых более 100.
SELECT Товары.КодТовара, Товары.ТипТовара, Товары.МаркаТовара, Товары.Цена
FROM Товары
WHERE Товары.Цена>100;
2. Использование диапазона значений возможно через операторы отношения или через оператор BETWEEN.
Пример. Показать информацию о товарах, цена которых от 100 до 1000 включительно.
SELECT Товары.*
FROM Товары
WHERE Товары.Цена>=100 and Товары.Цена<=1000;
или
SELECT Товары.*
FROM Товары
WHERE Товары.Цена BETWEEN 100 and 1000;
3. Использование логических операций NOT, OR, AND.
Пример. Показать информацию о директорах и менеджерах.
SELECT Сотрудники.*
FROM Сотрудники
WHERE (Сотрудники.Должность="Директор") OR (Сотрудники. Должность = "Менеджер");
Порядок выполнения логических операций NOTANDOR.
4. Использование выражения 'IS NOT NULL', означающего, что соответствующая колонка результирующего набора данных не может содержать пустых значений.
Пример. Показать всех сотрудников, имеющих домашние телефоны.
SELECT Сотрудники.Фамилия, Сотрудники.Имя, Сотрудники.Должность, Сотрудники.ДомашнийТелефон
FROM Сотрудники
WHERE Сотрудники.ДомашнийТелефон Is Not Null;
Пример. Показать всех сотрудников, не имеющих домашних телефонов.
SELECT Сотрудники.Фамилия, Сотрудники.Имя, Сотрудники.Должность, Сотрудники.ДомашнийТелефон
FROM Сотрудники
WHERE Сотрудники.ДомашнийТелефон Is Null;
5. Использование оператора сравнения с указанным образцом LIKE для создания запросов с масками. Символы замещения:
* замещает несколько символов;
? замещает один символ.
Пример. Показать всех сотрудников, фамилии которых начинаются на букву К.
SELECT Сотрудники.*
FROM Сотрудники
WHERE Сотрудники.Фамилия Like "К*";
6. Использование оператора IN для сравнения значения поля со списком.
Пример. Показать всех покупателей, которые приобрели товары типа журнал, книга, комикс.
SELECT Заказ.НазваниеКомпании, Товары.ТипТовара
FROM Товары INNER JOIN Заказ ON Товары.КодТовара = Заказ.КодТовара
WHERE Товары.ТипТовара In ("книга","комикс","журнал");
7. Использование агрегирующих функций для расчета итоговых значений.
Таблица 3 - Агрегирующие функции
Функция |
Назначение |
AVG |
Вычисляет среднее значение |
COUNT |
Вычисляет количество непустых значений |
MAX |
Вычисляет наибольшее значение |
MIN |
Вычисляет наименьшее значение |
SUM |
Вычисляет сумму значений |
Пример. Показать доход за услугу Доставка.
SELECT Sum(Заказ.СтоимостьДоставки) AS [Общая стоимость доставки]
FROM Заказ;
5.1.3 Сортировка результатов запроса
Определение сортировки происходит при помощи предложения ORDER BY. По умолчанию данные сортируются в порядке возрастания (ключевое слово ASC) можно не ставить. Для изменения сортировки в порядке убывания ставится слово DESC.
Пример. Показать все товары в порядке возрастания цены.
SELECT Товары.*
FROM Товары
ORDER BY Товары.Цена;
Пример. Показать все товары в порядке убывания цены.
SELECT Товары.*
FROM Товары
ORDER BY Товары.Цена DESC;