
- •Введение
- •Общая схема банка данных в системе
- •Основные понятия
- •Базы данных
- •Банк данных как система управления основные понятия
- •Банк данных как автоматизированная система
- •Субд с включающим языком
- •Информационные системы
- •Документальные аис основные понятия дескриптор
- •Фактографические аис
- •Основные понятия
- •Основные данные
- •Уровни моделей
- •Классификация моделей
- •Роль подсхемы
- •Этапы проектирования базы данных
- •Архитектура банка данных
- •Последовательность действий при чтении записи
- •Инфологическое проектирование базы данных
- •Модели данных и подъязыки данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Реляционные базы данных
- •Алгебра отношений
- •Преимущества реляционных бд
- •Отношения
- •Нормализация отношений
- •Функциональная зависимость
- •Полная функциональная зависимость.
- •Проектирование баз данных.
- •Специальные операции над отношениями
- •Операции над отношениями.
- •Централизация и децентрализация процессов обработки данных.
- •Традиционный набор операций
- •Нормализация отношений
- •Исчисление отношений
- •Вторая и третья нормальные формы.
- •26. Язык запросов sql
- •1 Основы sql
- •Многотабличные запросы на чтение (объединения)
- •Сортировка результатов запроса (предложение order by)
- •Объединение результатов нескольких запросов (union)*
- •Запрос на объединение и сортировка *
- •Многотабличные запросы на чтение (объединения)
- •Простое объединение таблиц (объединение по равенству)
- •Запросы с использованием отношения предок/потомок
- •Объединения с условием для отбора строк
- •Несколько связанных столбцов
- •Запросы на чтение к трем и более таблицам
- •Чтение всех столбцов
- •Самообъединения
- •Псевдонимы таблиц
- •Правила выполнения многотабличных запросов
- •Внешнее объединение таблиц *
- •Итоговые запросы на чтение
- •Агрегатные функции
- •Агрегатные функции в списке возвращаемых столбцов
- •Запросы с группировкой (предложение group by)
- •Несколько столбцов группировки
- •Ограничения на запросы с группировкой
- •Вложенные запросы на чтение
- •Внешние ссылки
- •Вложенные запросы и объединения
- •Связанные вложенные запросы
- •Однострочный оператор insert
- •В интерактивном режиме удобно не включать в оператор insert список столбцов, так как это уменьшает длину оператора. В случае программного
- •Многострочный оператор insert
- •Удаление существующих данных
- •Удаление всех строк
- •Оператор delete с вложенным запросом *
- •Обновление существующих данных
-
Специальные операции над отношениями
Селекция Оператор для построения «горизонтального» подмножества отношения, т.е подмножества кортежей внутри отношения, удовлетворяющих определенному условию, принимающему значение «истина» или «ложь» для каждого кортежа.
σ4=’ЛОНДОН’ (ПОСТАВЩИК)
п1 Смит 20 Лондон
п4 Кларк 20 Лондон
σВЕС<14 (ДЕТАЛЬ)
д1 Гайка красный 12 Лондон
д5 штифт синий 12 Париж
σП# =’п1’ AND Д# =’д1’ (ПОСТАВКА)
п1 д1 300
Проекция – оператор для построения «вертикального» подмножества отношения, т.е. подмножества, получаемого путем выбора определенных атрибутов и исключения других (повторяющиеся кортежи).
П4 (ПОСТАВЩИК) ГОРОД
-
Лондон
Париж
Афины
П пост, город, стат
-
Пост
Город
Стат
Смит
Лондон
20
Джонсон
Париж
10
Блейк
Париж
30
Кларк
Лондон
20
Адамс
Афины
30
Соединение ДЕТАЛЬ > < ПОСТАВЩИК
ГОР=ГОРОД
g1 |
гайка |
красный |
12 |
Лондон |
n1 |
Смит |
20 |
Лондон |
g1 |
гайка |
красный |
12 |
Лондон |
n4 |
Кларк |
20 |
Лондон |
g2 |
болт |
зеленый |
17 |
Париж |
n2 |
Джонсон |
10 |
Париж |
g2 |
болт |
зеленый |
17 |
Париж |
n3 |
Блейк |
30 |
Париж |
g4 |
винт |
красный |
14 |
Лондон |
n1 |
Смит |
20 |
Лондон |
g4 |
винт |
красный |
14 |
Лондон |
n4 |
Кларк |
20 |
Лондон |
g5 |
штифт |
синий |
12 |
Париж |
n2 |
Джонсон |
10 |
Париж |
g5 |
штифт |
синий |
12 |
Париж |
n3 |
Блейк |
30 |
Париж |
g6 |
шестерня |
красный |
19 |
Лондон |
n1 |
Смит |
20 |
Лондон |
g6 |
шестерня |
красный |
19 |
Лондон |
n4 |
Кларк |
20 |
Лондон |
Степень отношения = n+m 9
Кардинальное число = 10
g3 и n5 не участвуют.
Соединением по условию Ө отношения А по атрибуту Х с отношением В по атрибуту Y называется множество всех кортежей t таких, что t есть конкатенация кортежа аА и кортежа вВ: х Өу (х-Х- компонента а, у- Y – компонента в). Х и Y должны строится из одного домена.
Теоретически введено 4 уровня нормализации схем отношений и 4 нормальных формы.
< Рис. >
1НФ все атрибуты атомарные. нет повторяющихся записей.
Для работы языка запросов достаточно, чтобы отношение находилось в 1НФ.
Последующие нормализации необходимы для исключения аномалий.
2НФ Если Х-ключ отношения R (первичный) Y С Х, А – непрерывный атрибут отношения R и имеет место функциональная зависимость ХА и Y А, то в отношении имеет место неполная функциональная зависимость. Если это условие не выполняется, то атрибут А функционально полно зависит от Х в отношении R.
Каждый непрерывный атрибут функционально полно зависит от первичного ключа.
Отношение во 2НФ может обладать аномалиями.
3НФ Если не существует в отношении R ключа Х, множества атрибутов Y и непервичного атрибута А таких, что справедливы функциональные зависимости Х®Y, Y®А.
Схема отношения находится в 3НФ, если она находится в 2НФ и каждый ее непервичный атрибут нетранзитивно зависит от первичного ключа.
Если в отношении нет многозначных зависимостей, то 3НФ снимаются все аномалии манипулирования.
4НФ Если в отношении присутствуют многозначные зависимости, то схема отношения должна находиться в 4НФ, чтобы не возникли снова аномалии.
Схема отношения R находится в 4 НФ, если из существования многозначной зависимости Х®®Y, где Y не является подмножеством Х, а объединение множеств Х*Y состоит не из всех атрибутов отношения R вытекает существование многофункциональной зависимости Х®А, для любых АÎR-Х*Y.
Нормализация отношений выполняется путем декомпозиции их схем.
Декомпозицией схемы отношения R = А1, ……Аn называется замена схемы совокупностью схем R1,…… Rkтаких, что R1 R2….. Rk = R
При этом не требуется, чтобы схемы Rj был непересекающимися.