Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700276.doc
Скачиваний:
11
Добавлен:
01.05.2022
Размер:
1.94 Mб
Скачать

3.1. Домены и отношения

Основные определения: домены; виды отношений', предикаты.

Отношения имеют ряд основных свойств, а именно:

• в самом общем случае в отношении не бывает двух одинаковых кортежей. Это следует из самого определения отношения, однако для некоторых СУБД в ряде случаев допускается отступление от этого свойства. Действительно, поскольку в отношении имеет место первичный ключ, то одинаковые кортежи исключены;

• кортежи не упорядочены сверху вниз - в отношении просто отсутствует понятие позиционного номера. В отношении без потери информации можно с успехом расположить кортежи в любом порядке;

• атрибуты не упорядочены слева направо - атрибуты в заголовке отношения можно располагать в любом порядке, при этом целостность данных не нарушается. Поэтому понятия позиционного номера в отношении атрибута тоже не существует;

• значения атрибутов состоят из логически неделимых единиц - это свойство есть следствие того, что значения берутся из доменов. Иначе, можно сказать, что отношения не содержат групп повторения, то есть являются нормализованными (о чем мы будем говорить ниже).

В реляционных системах поддерживаются несколько видов отношений.

Именованное - представляет собой переменное отношение, определяемое в СУБД путем операторов создания и, как правило, необходимое для более удобного представления информации для пользователя.

Базовое отношение - являющееся непосредственной важной частью БД, поэтому при проектировании им дают собственное наименование.

Производное отношение - то, которое было определено через другие (как правило, базовые) отношения путем использования средств СУБД.

Представление - фактически является именованным производным отношением, при этом представление выражается исключительно через операторы СУБД, примененные к именованным отношениям, поэтому их физически в БД не существует.

Результат запроса - это неименованное производное отношение, содержащее данные - результат конкретного запроса. Результат запроса в БД не хранится, а существует только до тех пор, пока он необходим пользователю.

Хранимое отношение - то, которое физически поддерживается в памяти компьютера. К хранимым, в большинстве случаев, относятся базовые отношения.

Исходя из вышесказанного, можно теперь определить реляционную БД как набор отношений, связанных между собой.

Связь в данном случае - это ассоциирование двух или более отношений. БД, не имеющая связей между отношениями, имеет очень простую структуру и в полной мере реляционной называться не может. Однако одно из основных требований к организации реляционной БД - это обеспечение возможности поиска одних кортежей по значениям других, для чего необходимо установить между ними связи. А так как в реальных информационных системах часто содержатся тысячи кортежей, то теоретически между ними может быть установлено более миллиона связей.

Наличие такого множества связей и определяет сложность реляционных моделей БД. Существуют следующие основные виды связей:

• один к одному;

Рис. 3.2. Связь "один к одному"

Связь "один ко многим" состоит в том, что в каждый момент времени каждому элементу (кортежу) А соответствует несколько элементов (кортежей) В (см. рис. 3.3). В качестве примера можно сказать, что в доме проживает много жильцов.

Рис. 3.3. Связь "один ко многим"

Связь "многие к одному" предполагает, что в каждый момент времени множеству элементов А соответствует 1 элемент В. Например, несколько студентов представляют собой студенческую учебную группу (см. рис. 3.4).

Рис. 3.4. Связь "многие к одному"

Наконец, связь "многие ко многим" состоит в том, что в каждый момент времени множеству элементов А соответствует множество элементов В (см. рис. 3.5). К сожалению, этот тип связи в реляционных БД непосредственно -не поддерживается. Примером такой связи может служить тот факт, что у студентов учебные занятия по дисциплинам ведут множество преподавателей.

Рис. 3.5. Связь "многие ко многим"

Помимо вышеперечисленных, еще могут существовать множественные связи между одними и теми же элементами, тренарные связи (см. рис. 3.6), которые, впрочем, могут быть выражены через уже рассмотренные.

Рис. 3.6. Множественные и тренарные связи