Реляционная модель
Реляционная модель базы данных была предложена американским математиком Kоддом (Dr. Codd.). в 1969 году
В настоящее время это самая распространенная модель баз данных.
Основными преимуществами указанной модели являются простота, наглядность и строгое математическое обоснование.
В основе реляционной модели базы данных лежит следующее определение:
Пусть заданы множества D1 , D2 , … Dn (n³ 1) необязательно различных.
N – арным отношением R называют подмножество декартова произведения указных множеств D1 x D2 x … Dn.
Исходные множества D1 , D2 , … Dn называются в модели доменами.
R Í D1 x D2 x … Dn (1)
где D1 x D2 x … Dn - полное декартово произведение
Полное декартово произведение – это набор всевозможных сочетаний из n элементов, где каждый элемент берется из своего домена.
Пример:
D1 содержит номера трех заказов, D2 содержит набор из двух шифров фирм, D3 содержит три веса заказов.
D1 - {1021, 1022, 1023}
D2 - {АА, АС}
D3 - {100, 300, 120}
В этом случае полное декартово произведение содержит набор из 18 троек, где первый элемент – это один из номеров заказов, второй – это один из шифров фирмы, а третий – один из весов заказа.
<1021. АА. 100> <1021. АА. 300> <1021. АА. 120>
<1022. АА. 100> <1022. АА. 300> <1022. АА. 120>
<1023. АА. 100> <1023. АА. 300> <1023. АА. 120>
<1021. АC. 100> <1021. АC. 300> <1021. АC. 120>
<1022. АC. 100> <1022. АC. 300> <1022. АC. 120>
<1023. АC. 100> <1023. АC. 300> <1023. АC. 120>
Вхождение домена в отношение называется атрибутом. Строки отношения называются кортежами. Количество кортежей в отношении называется мощностью отношения.
Отношение имеет более простую графическую интерпретацию и может быть представлена в виде таблицы,столбцы (поля) которой соответствуют вхождениям доменов в отношении, а строки (записи) – наборам из n – значений, взятых из исходных доменов, которые расположены в строгом порядке в соответствии с заголовками.
Таблица 1 Таблица 2
R R1
Ном_заказ | Шифр_к | Вес_з | Ном_заказ | Шифр_к | Вес_з | ||
АА | АА | ||||||
АА | АА | ||||||
АА | АС | ||||||
АС | АС | ||||||
АС | АС | ||||||
АС | |||||||
АА | |||||||
АА | |||||||
АА | |||||||
АС | |||||||
АС | |||||||
АС | |||||||
АА | |||||||
АА | |||||||
АА | |||||||
АС | |||||||
АС | |||||||
АС |
Теоретически всевозможные сочетания встречаются на практике редко, поэтому отношения могут моделировать реальную ситуацию. Например, отношение R может содержать только 5 строк (Сравним Таблицу 1- полное декартово произведение и реальную Таблицу 2).
Таким образом, существуют следующие соответствия в терминологии:
Отношение- таблица
Атрибут– поле
Кортеж - запись
Поскольку отношение – это подмножество декартова произведения, где все наборы различны, поэтому в отношении (таблице) не может быть одинаковых кортежей (записей).
В соответствии со свойством декартова произведения два отношения, отличающиеся порядком атрибутов (полей), будут интерпретироваться в рамках реляционной модели как одинаковые.
Любая таблица реляционной (relation- отношение) базы данных состоит из строк называемых также записями, и столбцов, называемых полями.
Строки таблицы содержат сведения о представленных в ней фактах (документах, людях, т.е об однотипных объектах). На пресечении столбца и строки находятся конкретные значения содержащихся в таблице данных.
Пример:
|
![]() |
![]() ![]() | Клиент | Город | Улица |
АА | БелТур | Минск | Правды 11 |
АБ | Сименс | Мюнхен | Лейбница 8 |
АС | ПМК –23 | Пуховичи | Широкая 1 |
АД | Атлант | Минск | Захарова 20 |
… | … | … | … |
Данные в таблице удовлетворяют следующим принципам:
1. Каждое значение, содержащееся на пересечении строки и столбца должно быть атомарным, т.е. не расчленяться на несколько значений
2. Значения данных в одном и том же столбце должны принадлежать к одному и тому же типу, доступному для использования в данной СУБД. Т.е каждое поле имеет свой тип – символьный, числовой, дата и т.д.
3. Каждая запись уникальна, т.е. в таблице не существует двух полностью совпадающих записей
4. Каждое поле имеет уникальное имя
5. Последовательность полей в таблице не существенна
6. Последовательность записей в таблице не существенна
Несмотря на, то что строки таблиц считаются неупорядоченными, СУБД позволяет сортировать строки и столбцы в нужном для пользователя порядке.
Так как последовательность столбцов (полей) в таблице не существенна, то обращение к ним производится по имени, поэтому имена полей для данной таблицы являются уникальными и не могут повторяться.