Определение DM-теории: К какой стороне относится каринальность объекта?

Конечно, существует мощность отношения, например (0-1 : 1-n). Но можете ли вы выразить что-то вроде: «Мощность A в этом отношении равна 0-1» или «Мощность B в этом отношении равна 1-n».

Я создаю модель метаданных для моделирования данных, и я хочу назвать свойства для мощностей двух сущностей (что-то вроде cardinality_a_min,..._max,...b_min,...b_max). Конечно, я могу написать комментарии, чтобы все знали, к какой стороне относятся эти свойства. Но мне интересно, хорошо ли этот вопрос определен в теории.

Я знаю, что в одной ERD-нотации A (0-1): (1-n) B означает, что есть много As, а в другой записи это означает, что есть много B. Верно ли это и для теории моделирования данных? Или это четко определено? Проблема утверждения «мощность A равна 1-n» может заключаться в следующем: много ли у меня As now или A указывает на множество других сущностей?


person armin.miedl    schedule 29.03.2017    source источник


Ответы (1)


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

В отношении 1:M (например, отношение (A,B) с ключом-кандидатом B) каждое значение в A может быть связано со многими значениями в B, а каждое значение в B может быть связано с одним значением в A.

Отношения 1:1 и M:N очевидны, я не буду их перечислять. Этот подход справедлив и для отношений более высокой степени:

В отношении M:N:1 (например, в отношении (A,B,C) с ключом-кандидатом A,B) каждая комбинация значений A,B может быть связана с одним значением из C. Любая другая комбинация значений из один или несколько доменов могут быть связаны со многими значениями из остальных доменов.

В отношении M:1:1 (например, в отношении (A,B,C) с ключом-кандидатом A) каждое значение A может быть связано с одной комбинацией B и C. Каждое значение B может быть связано со многими комбинациями A и C, и каждый C со многими A, B.

В последнем примере позаботьтесь о том, чтобы избежать представления о том, что «каждый B связан с одним C». Ассоциации происходят по функциональным или многозначным линиям зависимости, в данном случае через А. Другими словами, каждый В связан со многими А, каждый из которых связан с одним С. Транзитивно каждый В связан со многими С, и наоборот.

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

person reaanb    schedule 29.03.2017