Классика баз данных - статьи

       

с ним значение B. Имеется


Обещаю, что я это сделаю.
  • Из : «Отображение один-к-одному … означает, что для каждого экземпляра [sic] во времени каждого значения A имеется одно и только одно ассоциированное с ним значение B. Имеется отображение один-к-одному между ИМЕНЕМ СЛУЖАЩЕГО и ЗАРАБОТНОЙ ПЛАТОЙ.» Опять, не является ли эта связь (в данном случае от ИМЕНИ СЛУЖАЩЕГО к ЗАРАБОТНОЙ ПЛАТЕ) связью многие-ко-одному, а не один-к-одному?
    Возвращаясь на мгновение к примерам из , я думаю, что часть путаницы вызвана использованием автором слова между – как, например, во фразе «связь один-ко-многим … между издательствами и книгами» (курсив мой). Как я говорил ранее, связи (по крайней мере, направленные связи) лучше считать существующими от одного множества к другому, а не между этими множествами. Так, можно было представить (например), что от A к B имеется связь один-к-одному, в то время как от B к A имеется связь многие-к-одному (возможно, в случае 2.4); но я думаю, что трудно в такой ситуации ясно и четко охарактеризовать «связь между A и B».
    Кстати, я говорил в аннотации к этой статье, что «обзор литературных источников [также показывает некоторое] отсутствие систематического подхода в этой области». Один из примеров такого отсутствия систематического подхода связан с включением или не включением нуля в число «многих». Для определенности обратимся еще раз к рис. 2 и рассмотрим случай 1.4 (для удобства повторим эту часть рисунка):

    Линия между двумя прямоугольниками представляет как связь от A к B, так и обратную связь от B к A, и аннотация над этой линией показывает то, что часто называют ограничениями мощности на этих связях. Спецификация 0..1 показывает, что для одного a может иметься от нуля до одного (т.е. не более одного) b; спецификация 0..M означает, что для одного b может иметься любое число a, от нуля до некоторой неопределенной верхней границы M. Для других спецификаций с рис. 2 имеются аналогичные интерпретации.
    Кстати, обязан заметить мимоходом, что в UML для обсуждаемого понятия используется не термин «мощность» (cardinality), а термин кратность (multiplicity). Как говорится в , «кратность» является «спецификацией допустимых значений мощности – размера, который может принимать множество».

    Содержание  Назад  Вперед