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

       

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


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

Например, пусть A и B – это множество всех неотрицательных целых чисел и множество всех чисел соответственно. Тогда спаривание неотрицательных целых чисел x с их квадратными корнями ±Öx является соответствием от A к B один-ко-многим.

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

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

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

  • Случай 3.2 (ранее корректно распознанный, как сюръекция, или связь от B к A многие-к-одному) может также быть распознан, как соответствие Типа 0 от A к B один-ко-многим.
  • Случай 4.2 (ранее корректно распознанный, как функция от B к A, не являющаяся ни инжекцией, ни биекцией, ни сюръекцией) может быть также распознан, как соответствие Типа 1 от A к B один-ко-многим.
  • Случай 3.1 может быть распознан, как соответствие Типа 2 от A к B один-ко-многим.
  • Случай 4.1 может быть распознан, как соответствие Типа 3 от A к B один-ко-многим.



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