- •Общие понятия реляционного подхода к организации БД. Основные
- •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. В дополнительном отношении нет
Тем самым, степень или «арность» кортежа, т.е. число элементов в нем, совпадает с «арностью» соответ-ствующей схемы отношения. По-просту говоря, кортеж - это набор именованных
значений задан-ного типа.
22
|
2. 6. Отношение |
|
|
|
Отношение - это множество |
||||
кортежей, соответствующих одной |
||||
схеме |
отношения. Иногда, чтобы |
|||
не |
путаться, |
говорят |
||
«отношение-схема» |
|
и |
||
«отношение-экзем-пляр», |
|
|||
иногда схему отношения называют |
||||
заголовком |
отноше-ния, |
а |
||
отношение как набор кортежей - |
||||
телом отношения. |
|
|
||
|
|
|
|
23 |
На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Было бы впол-не логично разрешать отдельно определять схему отношения, а затем одно или несколько отно-шений с данной схемой. Однако в реляционных базах данных это не принято.
24
Имя схемы отношения в таких БД всег- |
||||||
да |
совпадает |
|
с |
именем |
||
соответствующе-го |
|
|
отношения- |
|||
экземпляра. |
В |
|
классичес-ких |
|||
реляционных |
БД |
после |
определения |
|||
схемы БД изменяются только отноше- |
||||||
ния-экземпляры. |
В |
|
них |
могут |
||
появляться новые и удаляться или |
||||||
модифициро-ваться |
|
существующие |
||||
кортежи. |
Однако |
|
во |
многих |
||
реализациях допускается и изменение |
||||||
схемы БД: определение но-вых и |
||||||
изменение |
существующих |
схем |
||||
отношения. |
Это |
принято |
называть |
|||
эволюцией схемы базы данных. |
Обычным житейским представлением отно- шения является таблица, заголовком кото- рой является схема отношения, а строками - кортежи отношения-экземпляра; в этом слу-чае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят «столбец таблицы», имея в виду «атрибут отноше-ния». Когда мы перейдем к рассмотрению практических вопросов организации реля-ционных БД и средств управления ими, будем использовать эту «житейскую» тер-минологию. Этой терминологии придер-живаются в большинстве коммерческих реляционных СУБД.
Понятие отношения математически |
||
описывается следующим образом. |
||
Пусть дано n множеств A1 , A2 , , An. |
||
Тогда отношение ρ есть подмноже- |
||
ство декартова произведения |
||
ρ A A A |
||
1 |
2 |
, n |
то есть ρ состоит из кортежей |
||
a1 , a2 , , an |
||
таких, что ai Ai, где |
ai - атрибут, а |
|
Ai - домен отношения |
.ρ |
|
|
|
27 |
Реляционная база данных - это |
|||
набор отношений, |
имена |
которых |
|
совпадают с именами схем отно- |
|||
шений в схеме БД. |
|
|
|
Основные структурные понятия ре- |
|||
ляционной модели данных (если не |
|||
считать |
понятия |
домена) |
имеют |
очень простую интуитивную интер- |
|||
претацию, хотя в теории реляцион- |
|||
ных БД все они определяются |
|||
абсолютно формально и точно. |
|||
. |
|
|
|
|
|
|
28 |
2. 7. Отсутствие кортежей- |
||||
|
дубликатов |
|
|
|
То свойство, что отношения не со- |
||||
держат кортежей-дубликатов, сле- |
||||
дует из определения отношения как |
||||
множества кортежей. В классичес- |
||||
кой теории множеств по определе- |
||||
нию каждое множество состоит из |
||||
различных |
элементов. |
Из |
этого |
|
свойства вытекает наличие у каж- |
||||
дого отношения |
так называемого |
|||
первичного ключа |
- набора атрибу- |
|||
тов, значения которых однозначно |
||||
определяют кортеж отношения. |
Для каждого отношения, по край- ней мере, полный набор его атри- бутов обладает этим свойством.
Однако при формальном определе- нии первичного ключа требуется обеспечение его «минимальности», то есть в набор атрибутов первич- ного ключа не должны входить такие атрибуты, которые можно отбросить без ущерба для основного свойства - однозначно определять кортеж.
30
Понятие первичного ключа является |
исключительно важным в связи с поня- |
тием целостности БД. Забегая вперед, |
заметим, что во многих практических |
реализациях реляционных СУБД допус- |
кается нарушение свойства уникально- |
сти кортежей для промежуточных отно- |
шений, порождаемых неявно при вы- |
полнении запросов. Такие отношения |
являются не множествами, а мульти- |
множествами, что в ряде случаев поз- |
воляет добиться определенных преиму- |
ществ, но иногда приводит к серьезным |
проблемам. |