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

       

Соответствие многие-ко-многим


Снова начнем с определения: соответствие многие-ко-многим – Пусть A и B – это множества, не обязательно различные. Тогда соответствие от A к B многие-ко-многим – это правило, которое спаривает каждый элемент множества A не менее чем с одним элементом множества B и каждый элемент множества B не менее чем с одним элементом множества A. Эквивалентно, мы могли бы сказать, что соответствие многие-ко-многим – это само такое спаривание.

Например, пусть A – это множество всех положительных целых чисел. Рассмотрим спаривание положительных целых чисел x и y, определенное следующим образом. Положительные числа x and y спариваются тогда и только, когда содержат одно и то же число цифр в традиционном десятичном представлении. Тогда это спаривание является соответствием многие-ко-многим от A к нему же самому.

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

  1. Такое спаривание, что каждому элементу A соответствует любое число элементов B, т.е., возможно, не соответствует ни один элемент (хотя каждому элементу B соответствует не менее одного элемента A).
  2. Такое спаривание, что (хотя каждому элементу A соответствует не менее чем один элемент B) каждому элементу B соответствует любое число элементов A, т.е., возможно, не соответствует ни один элемент.
  3. Такое спаривание, что каждому элементу A соответствует любое число элементов B, т.е., возможно, не соответствует ни один элемент, и каждому элементу B соответствует любое число элементов A, т.е., возможно, не соответствует ни один элемент.

Временно я буду называть эти три интерпретации термина соответствие многие-ко-многим Типом 1, Типом 2 и Типом 3 соответственно, а строгую интерпретацию – Типом 0. Позвольте мне теперь соотнести эти четыре интерпретации со случаями, установленными в разд. «Сколько имеется случаев?» (там, где это возможно). И опять должны быть ясны следующие факты:

  • Случай 3.3 может быть распознан, как соответствие Типа 0 от A к B многие-ко-многим (а также и от B к A).
  • Случай 4.3 может быть распознан, как соответствие Типа 1 от A к B многие-ко-многим.
  • Случай 3.4 может также быть распознан, как соответствие Типа 2 от A к B многие-ко-многим.
  • Случай 4.4 может быть распознан, как соответствие Типа 3 от A к B многие-ко-многим (а также и от B к A).



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