Декартовым (или прямым) произведением называется выборка всех возможных комбинаций строк из двух таблиц.
Отношение – произвольное конечное подмножество декартова произведения одного или нескольких доменов.
В практике реляционных баз данных отношение представляется в виде двумерной таблицы, в которой строки – кортежи, столбцы – домены.
Схема отношения представляется:
1. Перечнем имен отношения и атрибутов в виде R(A1,A2,…,Ak), где R – имя отношения, Ai – имена атрибутов
2. Описанием доменов для каждого атрибута
3. Условиями ограничения целостности.
Степень («арность») схемы отношения – мощность этого множества.
Кортеж схемы отношения – это множество пар (имя атрибута, имя домена), которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. Значение является допустимым значением домена данного атрибута.
Т.о. можно переопределить отношение – это множество кортежей, соответствующих экземпляру схемы отношения.
Схема БД (в структурном смысле) – это набор именованных схем отношений. В целом реляционная БД представляется набором взаимосвязанных отношений различного смыслового наполнения, а её схема – списком имен отношений, её образующих, и совокупностью схем каждого из этих отношений.
Отношение – это отображение некоторой сущности реального мира, а с точки зрения обработки данных представляет собой таблицу. В результате всех определений термины являются эквивалентными:
1. Отношение, таблица, файл
|
|
Кортеж, строка, запись
Атрибут, столбец, поле
Первичный ключ – атрибут (набор атрибутов), который может быть использован для однозначной идентификации конкретного кортежа. В каждом отношении должен быть первичный ключ, однако при определении ключа требуется обеспечение его “минимальности”, т.е. в набор атрибутов первичного ключа не должны входить атрибуты, которые можно убрать без ущерба для однозначного определения кортежей.
Фундаментальные свойства отношений:
1. Однородность атрибутов (элементы атрибута принимают значения на одном домене)
2. Отсутствие кортежей-дубликатов (т.е. нет одинаковых строк)
3. Отсутствие упорядоченности кортежей (при работе с такой таблицей её строки и столбцы могут просматриваться в любом порядке и любой последовательности)
4. Отсутствие упорядоченности атрибутов (для ссылки на значение атрибута в кортеже всегда указывается имя атрибута)
5. Атомарность значений атрибутов (все атрибуты отношения атомарны).
Принципы нормализации
Проектирование БД включает в себя: анализ объектов реального мира, формирование из этих объектов сущностей и списков характеристик этих сущностей; определение соответствующих отношений (таблиц) и атрибутов (столбцов); определение первичных ключей – атрибутов, которые уникально идентифицируют каждый объект; установка связей между объектами. После определения отношений, атрибутов и связей между отношениями следует проанализировать структуру построенной БД, используя Принцип Нормализации, с целью устранения логических ошибок. Главная цель нормализации – избавление от большой избыточности информации путем разбиения больших отношений на более мелкие.
|
|
В теории реляционных БД выделяют следующие НФ (нормальные формы):
- 1НФ
- 2НФ
- 3НФ
- нормальная форма Бойса-Кодда
- 4НФ
- 5НФ (нормальная форма проекции - соединения)
При переходе от одной НФ к другой сохраняются свойства предыдущих НФ и, каждая последующая НФ, улучшает свойства предыдущей.
Нормальные формы отношений на практике основываются на фундаментальном понятии в теории реляционных БД функциональной зависимости.
Пусть R(A1, …, An) схема отношения R. Функциональная зависимость означает, что атрибут Aj отношения R функционально зависит от атрибута Ai того же отношения, если в каждый момент времени каждому значению атрибута Ai соответствует не более чем одно значение атрибута Aj, связанного с Ai в отношении R (т.е. функциональная зависимость Aj от Ai означает, что если в любой момент времени известно значение Ai, то можно однозначно получить и значение Aj).
|
|
На практике достаточно первых трех форм.
1. Первая НФ (устранение повторяющихся групп)
Простой атрибут – атрибут, значения которого неделимы.
Сложный атрибут – атрибут, значения которого можно представить конкатенацией нескольких значений других атрибутов.
Отношение называет приведенным к 1НФ, если все его атрибуты являются атомарными (простыми). Т.е. на пересечении строки и столбца находится только одно значение.
(пример на презентации)
2. Вторая НФ (удаление частично зависимых атрибутов)
Отношение находится во второй НФ, если оно находится в 1НФ и все неключевые атрибуты функционально полно зависят от составного ключа.
(пример на презентации) Первичный ключ в отношении: {Код поставщика, Код товара}.
Как видим, отношение обладает большой избыточностью:
- в отношение нельзя добавить информацию о поставщике, который еще не поставил ни одного товара
- если от поставщика была только одна поставка, то при удалении информации о ней будет удалена информация о поставщике
- если необходимо изменить какую-то информацию о поставщике, то придется изменять значения атрибутов во всех записях о поставках от него.
Чтобы устранить это необходимо разбить наше отношение на проекции:
|
|
Функциональные зависимости:
{Код поставщика, Код товара} -> { Количество},
{Код поставщика} -> {Город},
{Код поставщика} -> {Статус},
{Город} -> {Статус}
Разбиваем исходное отношение на проекции…
3. Третья НФ (удаление транзитивно зависимых атрибутов)
Пусть X, Y и Z – три атрибута некоторого отношения. При этом X -> Y и Y -> Z, но обратное соответствие отсутствует Z->Y и Y -> X. Тогда говорят, что Z транзитивно зависит от X.
Отношение находится в 3НФ, если оно находится во 2НФ и в нем отсутствуют транзитивные зависимости неключевых атрибутов от ключа.
(пример на презентации)
Т.о разбиение информации на более мелкие компоненты с одной стороны, способствует повышению надежности и непротиворечивости БД, а с другой стороны, снижает её производительность, т.к. требуются дополнительные затраты процессорного времени.
Дата добавления: 2021-03-18; просмотров: 52; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!