Реляционная модель данных базируется на более сложном понятии отношения, чем модель свойство-связь.
Введем следующие понятия:
Отношение – это плоская таблица, состоящая из столбцов и строк.
Атрибут – это поименованный столбец отношения.
Домен – это набор допустимых значений для одного или нескольких атрибутов.
Кортеж – это строка отношения.
Степень отношения определяется количеством атрибутов, которое оно содержит.
Кардинальность – это количество кортежей, которое содержит отношение.
Реляционная база данных (РБД) – набор нормализованных отношений.
.Математическое определение
Пусть имеется n множеств Декартово произведение для этих множеств можно определить следующим образом:
Подмножество этого множества и будет называться отношением.
Схема отношения – это имя отношения, за которым заключенное в скобки следует множество пар имен доменов и атрибутов.
Отношение обладает следующими свойствами:
· Отношение имеет имя, которое отличается от имен других отношений.
· Каждая ячейка отношения содержит атомарное (неделимое) значение.
· Каждый атрибут имеет уникальное присущее только ему имя.
· Значения атрибутов берутся из одного и того же домена.
· Порядок кортежей не важен.
· Каждый кортеж уникален, то есть дублирование значений кортежей не допускается.
· Порядок атрибутов важен и определяется следованием доменов в операции декартового произведения (Не верьте утверждению некоторых учебников, что он не важен. Это справедливо для табличных БД, одной таблице соответствует количество отношений равное числу сочетаний комбинаций столбцов отношений).
Эти утверждения являются результатом свойств определения понятий множеств и кортежей.
Вероятный или потенциальный ключ – атрибут или множество атрибутов, которое единственным образом определяет кортеж данного отношения.
Первичный или основной ключ – это потенциальный ключ, который выбран для уникальной идентификации кортежей отношения.
.Реляционная целостность
Определитель NULL указывает, что значение атрибута в настоящий момент неизвестно или неприемлемо для данного кортежа.
В отношении ни один атрибут первичного ключа не может содержать значение NULL.
.Нормализация
Нормализация – метод создания набора отношений с заданными свойствами на основе требований к данным, установленном в некотором приложении. Необходимость нормализации вызвана избыточностью данных и аномалиями обновления.
.Избыточность данных и аномалии обновления
Одна из целей проектирования РБД заключается в группировании атрибутов в отношениях так, чтобы минимизировать избыточность данных и таким образом повысить эффективность БД.