- •Общие понятия реляционного подхода к организации БД. Основные
- •1. Достоинства и недостатки
- •Мы приступаем к изучению ре-
- •большую часть распространенных
- •Отмеченные выше преимущества и
- •ограниченность при использовании в
- •На данной лекции мы введем на сравнительно неформальном уровне основные понятия реля- ционных
- •2. Базовые понятия
- •Таблица 1. – Компоненты РМД
- •Для начала покажем смысл этих понятий на примере отношения «Sotrudniki», содержащего информацию о
- •Если вычисление этого логичес- кого выражения дает результат «истина», то элемент данных явля-
- •Например, домен «Fio» в нашем
- •В нашем примере значения доменов «Nomer_propuska» и «Nomer_ot-dela» относятся к типу целых чисел,
- •2. 4. Схема отношения, схема базы данных
- •Если все атрибуты одного отно- шения определены на разных доме- нах, осмысленно использовать
- •Если в данной СУБД понятие домена
- •Тем самым, степень или «арность» кортежа, т.е. число элементов в нем, совпадает с
- •На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных
- •Имя схемы отношения в таких БД всег-
- •Обычным житейским представлением отно- шения является таблица, заголовком кото- рой является схема отношения,
- •Понятие отношения математически
- •Реляционная база данных - это
- •2. 7. Отсутствие кортежей-
- •Для каждого отношения, по край- ней мере, полный набор его атри- бутов обладает
- •Понятие первичного ключа является
- •Ключи обычно используют для дости-
- •2. 8. Отсутствие упорядоченности
- •Это не противоречит тому, что при формулировании запроса к БД, например, на языке
- •2. 9. Отсутствие упорядоченности
- •Однако в большинстве существу- ющих систем такая возможность не допускается, и хотя упорядочен-
- •Нормализованные отношения сос-
- •3. Реляционная модель данных
- •Модель
- •Хотя понятие
- •3. 1. Общая характеристика
- •В структурной части модели фиксируется, что единственной структурой данных, исполь- зуемой в реляционных
- •3. 2. Целостность сущности и
- •Конкретно требование состоит в том, чтобы любой кортеж любого отношения был отличим от
- •Второе требование называется
- •Значение
- •Пусть в отношении
- •Требование
- •по ссылкам должны
- •Требование целостности по ссылкам,
- •Наконец,
- •Поскольку не всякой таблице мож-
- •2. Имена столбцов таблицы должны
- •Чаще всего таблица с отношением
- •4. Связывание отношений и виды связей
- •Многие СУБД при связывании от- ношений автоматически выполняют
- •Между отношениями могут уста-
- •Ключ связи по аналогии с обычным
- •В зависимости от того, как опре-
- •Связи вида 1:M и M:1
- •Связь вида M:M
- •Контроль целостности связей
- •2. В дополнительном отношении нет
Для начала покажем смысл этих понятий на примере отношения «Sotrudniki», содержащего информацию о сотрудниках некоторой
организации.
|
|
|
|
|
_ |
Nomer_ |
Fio |
Zarplata |
Nomer |
||
propuska |
|
|
otdela |
||
2834 |
Алтухова А. |
11425.00 |
212 |
|
|
2835 |
Ибраева З. |
14725.00 |
215 |
|
|
2836 |
Лагутин А. |
16700.00 |
212 |
|
|
2837 |
Савченко Э. |
13670.70 |
212 |
|
|
2838 |
Уруджев У. |
9980.50 |
214 |
|
|
2839 |
Чалова М. |
10700.00 |
215 |
|
|
|
|
2. 1. Тип данных |
|
|
Понятие тип данных в реляционной модели |
||||
данных полностью адекватно понятию типа |
||||
данных в языках программирования. |
||||
Обычно в современных реляционных БД |
||||
допускается хранение символьных, числовых |
||||
данных, битовых строк, специализированных |
||||
числовых данных (таких как «деньги»), а |
||||
также специальных «темпоральных» данных |
||||
(дата, |
время, |
временной |
интервал). |
|
Достаточно активно развивается подход к |
||||
расширению |
возможностей |
реляционных |
||
систем абстрактными типами данных. В |
||||
нашем примере мы имеем дело с данными |
||||
трех типов: строки символов, целые числа и |
||||
«деньги». |
|
|
|
|
|
2. 2. Атрибуты |
|
|
Атрибуты представляют собой |
|||
свойства, характеризующие сущность |
|||
(сущность |
- |
объект любой |
природы, |
данные о котором хранятся в БД). В |
|||
структуре |
таблицы каждый |
атрибут |
|
именуется |
|
и ему соответствует заго- |
|
ловок некоторого столбца таблицы. В |
|||
нашем примере Sotrudniki |
именами |
||
атрибутов являются Tab_nomer, Fio, |
|||
Zarplata, Nomer_otdela. |
|
||
В реляционных БД перестановка |
|||
атрибутов не приводит к образованию |
|||
нового отношения, хотя формально, ес- |
|||
ли переставить атрибуты в отношении, |
|||
то получается новая таблица. |
|
||
|
|
|
13 |
|
|
|
2. 3. |
Домен |
|
|
|
|
Понятие домена более специ- |
||||||||
фично для баз данных, хотя и |
||||||||
имеет |
некоторые |
аналогии |
с |
|||||
подтипами |
в |
некоторых |
языках |
|||||
программирования. В самом общем |
||||||||
виде |
|
домен |
определяется |
|||||
заданием |
|
некоторого |
базового |
|||||
типа данных, к которому относятся |
||||||||
элементы домена, и произвольного |
||||||||
логичес-кого |
к |
выражения, |
||||||
применяемого |
элементу |
типа |
||||||
данных. |
|
|
|
|
|
|
|
14 |
|
|
|
|
|
|
|
|
|
Если вычисление этого логичес- кого выражения дает результат «истина», то элемент данных явля- ется элементом домена. Наиболее правильной интуитивной трактов- кой понятия домена является по- нимание домена как допустимого
потенциального множества зна- чений данного типа.
15
Например, домен «Fio» в нашем |
||
примере определен на базовом типе |
||
строк символов, но в число его |
||
значений могут входить только те |
||
строки, которые могут изображать |
||
имя (в частности, такие строки не |
||
могут начинаться с мягкого или |
||
твердого знака). Следует отметить |
||
также |
семантическую |
нагрузку |
понятия домена: данные считаются |
||
сравнимыми только в том случае, |
||
когда они относятся к одному |
||
домену. |
|
|
|
|
16 |
В нашем примере значения доменов «Nomer_propuska» и «Nomer_ot-dela» относятся к типу целых чисел, но не являются срав- нимыми. Заметим, что в большинстве реляционных СУБД понятие домена не используется, хотя, например, в СУБД Oracle v.7 оно
уже поддер-живается.
17
2. 4. Схема отношения, схема базы данных
Схема отношения - это име- нованное множество пар {имя ат- рибута, имя домена (или типа, если понятие домена не поддержи- вается)}. Степень или «арность» схемы отношения – мощность этого множества. Степень отношения Sotrudniki равна четырем, то есть оно является 4-арным.
18
Если все атрибуты одного отно- шения определены на разных доме- нах, осмысленно использовать для именования атрибутов имена соот- ветствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом име- нования и не устраняет различия между понятиями домена и атри- бута).
19
Если в данной СУБД понятие домена |
не используется, то схема отношения |
– это список имен атрибутов. В |
нашем примере это строка |
Nomer_propuska Fio Zarplata Nomer_otdela |
Схема БД (в структурном смысле) - |
это набор именованных схем отно- |
шений. |
20 |
|
|
2. 5. Кортеж |
|
|
Кортеж, соответствующий дан- |
||||
ной схеме отношения, - это мно- |
||||
жество пар {имя атрибута, зна- |
||||
чение}, |
которое содержит |
одно |
||
вхождение каждого имени атрибу- |
||||
та, |
принадлежащего |
схеме |
||
отноше-ния. «Значение» является |
||||
допусти-мым значением домена |
||||
данного |
атрибута |
(или |
типа |
|
данных, если понятие домена не |
||||
поддержи-вается). |
|
|
||
|
|
|
|
21 |
