Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_АКОБМИ.pdf
Скачиваний:
176
Добавлен:
17.05.2015
Размер:
1.95 Mб
Скачать

можности сервера и минимально нагружало сеть, передавая через нее только минимум информации.

2.3Реляционный подход к построению БД

2.3.1Реляционная модель данных

Основу реляционной модели данных составляет совокупность данных, сформированных в виде таблицы. Такая форма представления данных привычна для специалиста, пользующегося различной справочной литературой.

Таблица рассматривается как непосредственное «хранилище» данных'. Традиционно в реляционных системах таблицу называют отношением. Строку таблицы называют кортежем, а столбец - атрибутом. При этом атрибуты имеют уникальные (в пределах отношения) имена. Количество кортежей в таблице называют кардинальным числом, а количество атрибутов - степенью. Для отношения предусматривают уникальный идентификатор, то есть один или несколько атрибутов, значения которых в одно и то же время не бывают одинаковыми. Множество допустимых однородных значений для того или иного атрибута представляет собой домен. Таким образом, домен можно рассмотреть как именованное множество данных, причем составные части этого множества являются логически неделимыми единицами (в качестве домена могут выступать, например, перечень фамилий сотрудников учреждения, однако не все фамилии могут присутствовать в таблице).

Отношение содержит две части - заголовок и собственно содержательную часть. Заголовок содержит конечное множество атрибутов, а содержательная часть (тело отношения) – множество пар имени атрибута и его значения. Например, на рис. 2.2 KOD, NAME и SUMM, содержащиеся в заголовке, являются атрибутами, а скажем, пары SUMM - 25.50 или KOD - 5216 являются элементами тела

Рис.2.2. Элементы реляционной модели БД

103

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

104

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

Существуют следующие основные виды связей:

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

один ко многим;

многие к одному;

многие ко многим

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

Рис 2.3 Связь один к одному

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

Рис 2.4 Связь один ко многим

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

105

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

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

Рис 2.6 Связь многие ко многим

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

106