Отношения
Отношение связывает два объектных множества. Рассмотрим объектные множества ЖЕНАТЫЙ МУЖЧИНА и ЗАМУЖНЯЯ ЖЕНЩИНА. Мы можем определить между этими множествами отношение СОСТОИТ-В-БРАКЕ-С, сопоставив каждому женатому мужчине его жену (или наоборот, каждой замужней женщине - ее мужа).
Отношение. Связь между элементами двух объектных множеств.
Отношение СОСТОИТ-В-БРАКЕ-С составлено из множества женатых пар, в каждой из которых мужчина — из объектного множества ЖЕНАТЫЙ МУЖЧИНА, а женщина - из объектного множества ЗАМУЖНЯЯ ЖЕНЩИНА. Графически мы представляем отношение между двумя объектными множествами в виде соединяющего их отрезка (при желании дополненного ромбом) рис. 4.
Рис.4. Графическое представление отношения
Отношение само по себе является объектным множеством, состоящим из пар объектов-элементов, взятых из двух множеств, которые соединяет отношение. Иными словами, каждый элемент отношения — это пара элементов из двух объектных множеств. Если
ЖЕНАТЫЙ МУЖЧИНА = {Адам, Дэвид, Джон)
и
ЗАМУЖНЯЯ ЖЕНЩИНА = {Джоан. Линда, Мишель}
и
Адам состоит-в-браке-с Джоан
Дэвид состоит-в-браке-с Линдой
Джон состоит-в-браке-с Мишель
то тогда
СОСТОИТ-В-БРАКЕ-С={(Адам, Джоан)/ (Дэвид, Линда), (Джон, Мишель)}
Фигурные скобки {} заключают множество. На рис. 5 эта информация представлена графически. Мы видим, что отношение СОСТОИТ-В-БРАКЕ-С само является объектным множеством, элементами которого будут семейные пары. Объектное множество типа СОСТОИТ-В-БРАКЕ-С, полученное из отношения между другими объектными множествами, называется составным объектным множеством.
Составное объектное множество. Отношение, рассматриваемое как объектное множество.
.
Рис. 5. Графическое представление объекта-отношения
Составным объектным множествам можно давать имена и включать их в отношения, как и обычные объектные множества. На рис. 6 составное множество отношения СОСТОИТ-В-БРАКЕ-С называется СЕМЕЙНАЯ-ПАРА и участвует в нескольких отношениях. Отношение ОТМЕЧАЮТ-ДАТУ-СВАДЬБЫ связывает каждую семейную пару с датой их свадьбы; отношение ПРОЖИВАЮТ-В связывает пару с их адресом, а отношение ЗАРАБАТЫВАЮТ связывает их с их общим совокупным доходом.
Рис. 6. Графическое изображение составного объектного множества
В качестве другого примера рассмотрим два множества служащих компании: ИНСПЕКТОР и РАБОЧИЙ. Мы определим элементы множества РАБОЧИЙ как тех служащих компании, которые не контролируют работу других служащих. Множество ИНСПЕКТОР состоит из тех служащих, которые контролируют рабочих. Отношение КОНТРОЛИРУЕТ (обратите внимание, что это глагол) связывает каждого инспектора с рабочими, которых он контролирует (рис. 7). На рис.7 показаны примеры отношения КОНТРОЛИРУЕТ.
Рис. 7. Представление отношения КОНТРОЛИРУЕТ
Мощность
Мощностьотношения обозначает максимальное количество элементов одного объектного множества, связанных с одним элементом другого объектного множества. Например, если мы допускаем, что у человека может быть только один супруг, то мощность отношения СОСТОИТ-В-БРАКЕ-С будет равна одному в каждом направлении (рис. 8).
Рис. 8. Графическое изображение мощности
Мощность. Максимальное количество элементов одного объектного множества, связанных с одним элементом другого объектного множества.
Хотя обычно нас интересует максимальная мощность, иногда полезно определять и минимальную мощность. Предположим, например, что мы переопределим отношение СОСТОИТ-В-БРАКЕ-С и будем считать, что оно существует между множествами МУЖЧИНА и ЖЕНЩИНА (рис. 8). Поскольку многие мужчины и женщины одиноки, минимальная мощность равна нулю в каждом направлении. Мы пишем возле объектного множества ЖЕНЩИНА «0,1», обозначая этим, что каждый мужчина может иметь от нуля до одной жены. И обратно, 0,1 возле объектного множества МУЖЧИНА обозначает, что у каждой женщины может быть от нуля до одного мужа (рис. 9).
Рис. 9. Изображение мощности отношения СОСТОИТ-В –БРАКЕ-С
Некоторые отношения не имеют конкретного значения максимальной мощности. Например, инспектор контролирует как минимум одного рабочего» возможно, больше. Такую мощность мы будем обозначать 1,*, где «1» обозначает минимальную мощность, а «*» просто обозначает «много». С другой стороны, если мы допускаем, что каждого данного рабочего контролирует один и только один инспектор, то мощность в обратном направлении будет 1,1 (рис. 10).
Рис.10. Мощность отношения КОНТРОЛИРУЕТ
Мощность отношения конкретизации (или включения) всегда одна и та же. Каждый элемент объемлющего множества связан с одним или нулем элементов подмножества, а каждый элемент подмножества связан ровно с одним элементом объемлющего множества (рис. 11).
Рис. 11. Мощность отношения конкретизации
Максимальная мощность является значительно более важным понятием, чем минимальная. Поэтому для упрощения наших диаграмм мы будем указывать минимальную мощность только тогда, когда это необходимо. За исключением отношения включения (минимальную мощность которого мы обсудили выше), опущенную минимальную мощность можно полагать равной нулю.
Максимальная мощность в одном из направлений, равная одному, соответствует математическому понятию функции, которая устанавливает соответствие один-к-одному или много-к-одному между множествами. Поэтому отношение, имеющее максимальную мощность в одном из направлений, равную одному, называется функциональнымв этом направлении. Отношениемеждурабочим и инспектором на рис. 12 является функциональным в направлении от рабочего к инспектору. Это означает, что, зная рабочего, мы можем однозначно определить его инспектора. Это отношение не является функциональным в обратном направлении, поскольку инспектор может контролировать нескольких рабочих.
Отношение один - к – одному. Отношение, максимальная мощность которого равна одному в обоих направлениях.
Отношение один - ко – многим. Отношение, максимальная мощность которого равна одному в одному в одном направлении и многим в обратном.
Отношение много - к – многим. Отношение, максимальная мощность которого равна многим в обоих направлениях.
Если максимальная мощность отношения в обоих направлениях равна одному, мы называем его отношением один-к-одному. Если максимальная мощность в одном направлении равна одному, а в другом — многим, то отношение называется отношением один-ко-многим. И, наконец, если максимальная мощность в обоих направлениях равна многим, то отношение называется отношением много-ко-многим. В табл.1 приведены характеристики трех основных мощностей отношений.
Табл. 1. Три основные мощности отношений
Мощность |
Обозначение |
Пример |
Один -к- одному |
1:1 или 1-1 |
У мужа есть одна жена. У жены есть один муж (мощность отношения один-к-одному) |
Один – ко -многим |
1:* или 1-* |
Служащий работает в одном отделе. В отделе работает много служащих (Мощность отношения один-ко-многим) |
Много –ко -многим |
*:* или *-* |
Студент посещает много курсов. Курс слушает много студентов (Мощность отношения много-ко-многим) |