- •Тема. Модели данных
- •2.1. Трехуровневая модель организации баз данных
- •1. Иерархическая модель
- •2. Сетевая модель
- •3. Реляционная модель
- •3.1. Основные понятия реляционной модели данных
- •Одна запись главной таблицы может быть связана с одной или несколькими записями подчиненной таблицы. При этом значения первичного ключа уникальны, а внешнего – могут повторяться.
- •Нужно связать таблицы клиенты и заказы. Поле «Код клиента» таблицы клиенты является первичным ключом, а таблицы заказы – внешним.
- •3.3. Операции реляционной алгебры
- •3.4. Достоинства и недостатки реляционной модели данных
- •4. Постреляционная модель
- •5. Объектно-ориентированная и объектно-реляционная модели
- •6. Многомерная модель
3. Реляционная модель
3.1. Основные понятия реляционной модели данных
В основе реляционной модели данных – понятие отношения. Отношение отображает некоторый объект. Объект характеризуется набором атрибутов D1, D2 ,…, Dn, а каждый атрибут – набором допустимых значений, называемым доменом. Пусть
D1={х1, х2,…,хk}
D2={y1, y2,…,yl}
. . . . . . . . . . . . . .
Dn={z1, z2,…,zm}
Cписок имен атрибутов (D1, D2,…,Dn) называется схемой отношения, а количество атрибутов в отношении – степенью отношения.
Отношение – подмножество R декартова произведения D1 x D2 x … xDn,
т.е. R D1 x D2 x … xDn.
Декартово произведение – это набор всевозможных сочетаний из n значений, где каждое значение берется из своего домена.
Пусть D1 содержит номера трех заказов {1021, 1022, 1023}, D2 – коды двух клиентов {АА, АС}, D3 – веса трех заказов, заданных в килограммах {100, 300, 120}. В этом случае отношение R есть декартово произведение D1хD2хD3 – набор из 18 троек значений, где первое значение – это один из номеров заказов, второе – это один из кодов клиентов, а третье – один из весов заказа.
Термин «отношение» – синоним слова «таблица». Выше описанное отношение R можно представить как таблицу вида:
R
Номер заказа |
Код клиента |
Вес заказа |
1021 |
АА |
100 |
1021 |
АА |
300 |
1021 |
АА |
120 |
1021 |
АС |
100 |
1021 |
АС |
300 |
1021 |
АС |
120 |
1022 |
АА |
100 |
1022 |
АА |
300 |
1022 |
АА |
120 |
1022 |
АС |
100 |
1022 |
АС |
300 |
1022 |
АС |
120 |
1023 |
АА |
100 |
1023 |
АА |
300 |
1023 |
АА |
120 |
1023 |
АС |
100 |
1023 |
АС |
300 |
1023 |
АС |
120 |
Столбцы таблицы соответствуют атрибутам. Строки называются кортежами. Количество кортежей в отношении – мощность отношения.
Реляционная модель данных – модель данных, основанная на математическом понятии отношения и представлении отношений в форме таблиц.
Таблица в реляционной модели данных (реляционная таблица) должна обладать следующими свойствами.
Каждое значение атрибута, содержащееся на пересечении строки и столбца, должно быть атомарным, т.е. не расчленяться на несколько значений.
Значения в столбце должны быть однородными.
Каждая строка уникальна, т.е. в таблице не существует двух полностью совпадающих строк.
Каждый столбец имеет уникальное имя.
Последовательность столбцов в таблице не существенна.
Последовательность строк в таблице не существенна.
Пример реляционной таблицы – таблица КЛИЕНТЫ:
-
Код
клиента
Клиент
Адрес
АА
БГЭУ
Минск, пр. Партизанский, 26
АБ
Сименс
Мюнхен, ул. Лейбница, 8
АС
Атлант
Минск, пр. Победителей, 61
АД
БГУИР
Минск, ул. Бровки, 6
В таблице реляционной БД столбцы называют полями, а строки – записями.
Одно или несколько полей, значения которых в каждой записи таблицы однозначно ее идентифицируют, называют ключевым полем.
В таблице КЛИЕНТЫ таковым может быть поле «Код клиента» или поле «Клиент».
В реляционной БД между таблицами устанавливаются связи. Связи делают их более информативными, чем они являются по отдельности.
Связь устанавливается посредством связи ключевых полей, содержащих общую информацию для обеих таблиц.
Пусть таблица R1 связывается с таблицей R 2. Тогда таблица R1 именуется главной, а таблица R 2 – подчиненной. Ключевое поле главной таблицы называется первичным ключом, а подчиненной – внешним ключом.