
- •Введение
- •Общая схема банка данных в системе
- •Основные понятия
- •Базы данных
- •Банк данных как система управления основные понятия
- •Банк данных как автоматизированная система
- •Субд с включающим языком
- •Информационные системы
- •Документальные аис основные понятия дескриптор
- •Фактографические аис
- •Основные понятия
- •Основные данные
- •Уровни моделей
- •Классификация моделей
- •Роль подсхемы
- •Этапы проектирования базы данных
- •Архитектура банка данных
- •Последовательность действий при чтении записи
- •Инфологическое проектирование базы данных
- •Модели данных и подъязыки данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Реляционные базы данных
- •Алгебра отношений
- •Преимущества реляционных бд
- •Отношения
- •Нормализация отношений
- •Функциональная зависимость
- •Полная функциональная зависимость.
- •Проектирование баз данных.
- •Специальные операции над отношениями
- •Операции над отношениями.
- •Централизация и децентрализация процессов обработки данных.
- •Традиционный набор операций
- •Нормализация отношений
- •Исчисление отношений
- •Вторая и третья нормальные формы.
- •26. Язык запросов sql
- •1 Основы sql
- •Многотабличные запросы на чтение (объединения)
- •Сортировка результатов запроса (предложение order by)
- •Объединение результатов нескольких запросов (union)*
- •Запрос на объединение и сортировка *
- •Многотабличные запросы на чтение (объединения)
- •Простое объединение таблиц (объединение по равенству)
- •Запросы с использованием отношения предок/потомок
- •Объединения с условием для отбора строк
- •Несколько связанных столбцов
- •Запросы на чтение к трем и более таблицам
- •Чтение всех столбцов
- •Самообъединения
- •Псевдонимы таблиц
- •Правила выполнения многотабличных запросов
- •Внешнее объединение таблиц *
- •Итоговые запросы на чтение
- •Агрегатные функции
- •Агрегатные функции в списке возвращаемых столбцов
- •Запросы с группировкой (предложение group by)
- •Несколько столбцов группировки
- •Ограничения на запросы с группировкой
- •Вложенные запросы на чтение
- •Внешние ссылки
- •Вложенные запросы и объединения
- •Связанные вложенные запросы
- •Однострочный оператор insert
- •В интерактивном режиме удобно не включать в оператор insert список столбцов, так как это уменьшает длину оператора. В случае программного
- •Многострочный оператор insert
- •Удаление существующих данных
- •Удаление всех строк
- •Оператор delete с вложенным запросом *
- •Обновление существующих данных
Традиционный набор операций
Для операций объединения, пересечения и вычитания оба участвующих отношения должны быть совместимы по объединению, т.е. они должны иметь одну и ту же степень n и j-й атрибут одного из них дожжен быть из того же домена, что и j-й атрибут другого (1 ≤ j ≤ n).
Объединением отношений A и B (A U B) называется множество всех кортежей t, принадлежащих или A, или B, или обоим вместе.
A – множество поставщиков, находящихся в Лондоне.
В – множество поставщиков, поставляющих деталь д1.
A U B – п1 Смит 20 Лондон
п4 Кларк 20 Лондон
п2 Джонсон 10 Париж
Пересечением отношений A и B (A ∩ B) называется множество всех кортежей t, принадлежащих как A, так и B.
A ∩ B – п1 Смит 20 Лондон
Разностью отношений (A-B) называется множество всех кортежей t, принадлежащих A, но не принадлежащих B.
A - B – п4 Кларк 20 Лондон
Расширенным декартовым произведением отношений A и B (A*B) является множество всех кортежей t, таких что t есть конкатенация кортежей aA, и кортежей bB.
a=(a1,…,am) b=(bm+1,…,bm+n)
t=(a1,…,am,bm+1,…,bm+n)
-
Нормализация отношений
При проектировании реляционных баз данных важно уметь группировать атрибуты в различные отношения.
Рациональные варианты группировки должны отвечать требованиям:
-
Выбранные в отношении первичные ключи должны содержать минимальное число элементов.
-
Выбранный состав отношений базы должен обладать минимальной избыточностью атрибутов.
-
Должны выполняться без аномалий операции включения, удаления и модификации данных в базе.
-
Должна быть минимальная перестройка набора отношений при введении новых типов данных.
-
Разброс времени ответа на различные запросы к базе данных должен быть небольшим.
Рассмотрим на примере аномалии при выполнении операций включения, удаления и модификации данных при нерациональном проекте базы данных.
Поставки (название поставки, адрес поставщика для любого товара, товар, количество, цена)
-
Аномалия модификации заключается в том, что если у поставщика изменяется адрес, то необходимо заменить это данное во всех кортежах, где оно есть.
Если по каким-то причинам это данное изменено не во всех кортежах, база данных становится противоречивой, нарушается целостность данных.
-
Аномалия удаления возникает при попытке удаления всех кортежей, в которых поставщик не поставляет ни одного типа товара. В базе может быть потерян адрес и название поставщика, даже если с ним в дальнейшем может быть заключен договор на поставку.
-
Аномалия включения – возникает в случае, когда с поставщиком только что заключили договор, но еще нет поставки, нельзя включить в базу.
Чтобы исключить аномалии, выполняется нормализация исходных схем отношений проекта БД путем их декомпозиции и назначения ключей для каждого отношения по определенным правилам нормализации.
В отношении ключи возможные и первичные. Если некоторый атрибут Аi входит в состав первичного ключа, он называется первичным (остальные атрибуты – непервичные).