|
supertype/subtype
|
|||
---|---|---|---|
#18+
Возникли вопросы по проектированию Core БД: Используете ли в своих моделях super-типы - наследование - sub-типы (как устроены многие вендорские модели)? Допускаете ли связи (direct-link/ассоциаторы) между sub-типами? или только через super-типы? Интересно именно ваше мнение к подходам - плюсы и минусы. Кейс для примера (придумываю на ходу): ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2018, 16:34 |
|
supertype/subtype
|
|||
---|---|---|---|
#18+
sergei_goИспользуете ли в своих моделях super-типы - наследование - sub-типы (как устроены многие вендорские модели)? Допускаете ли связи (direct-link/ассоциаторы) между sub-типами? или только через super-типы? Чиво? Вы точно про проектирование БД говорите? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2018, 08:06 |
|
supertype/subtype
|
|||
---|---|---|---|
#18+
sergei_go, Да Да ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2018, 10:22 |
|
supertype/subtype
|
|||
---|---|---|---|
#18+
sergei_goИспользуете ли в своих моделях super-типы - наследование - sub-типы (как устроены многие вендорские модели)? Да sergei_goДопускаете ли связи (direct-link/ассоциаторы) между sub-типами? или только через super-типы? Допускаю, но на практике это нужно достаточно редко. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2018, 10:45 |
|
supertype/subtype
|
|||
---|---|---|---|
#18+
Имхо, вопрос выбора ключа и нормальной формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2018, 10:57 |
|
supertype/subtype
|
|||
---|---|---|---|
#18+
Спасибо откликнувшемся. Дедушка, согласен. Я пробежался по вендорским моделям, и увидел, что все связи сделаны через supertype. И это даже на уровне ER-модели вызывает сомнения о понимании связей по диаграмме. Из примера выше, если я свяжу, например, Communication - Location, и какой-то из типов Communication не имеет Location, то получится, что диаграмма не отражает этого. Даже если это будет ассоциатор (aka таблица связи), мы не сможем, не написав запрос к БД, установить этого. Сейчас я не рассматриваю вариант с заполнением dummy-значений для связи. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2018, 12:37 |
|
supertype/subtype
|
|||
---|---|---|---|
#18+
sergei_go, Про ER-модель я вас не понял... Модель представляется какой либо нотацией и уже эта нотация обеспечивает "понятность" факта необязательности связи (пунктир, кружочки или др.) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2018, 20:29 |
|
supertype/subtype
|
|||
---|---|---|---|
#18+
Дедушка, Попробую по-другому: Необязательность связи между разными supertype не отвечает на вопрос между какими subtypes этой связи нет, а между какими точно есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 10:17 |
|
supertype/subtype
|
|||
---|---|---|---|
#18+
sergei_go, имхо, если для вас принципиально важно отразить факт необязательности связи между двумя сабтайпами (вы хотите чтобы разработчик реализовал на физическом уровне явные проверки\ограничения на эту связь) то вы либо описываете это в сопроводительном (к ERD) документе, либо явно рисуете такую связь на диаграмме. Но во втором случае нужно учитывать особенности фреймворка в котором вы проектируете и то как вы его используете (просто как рисовалку или нет). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 13:01 |
|
supertype/subtype
|
|||
---|---|---|---|
#18+
sergei_goСпасибо откликнувшемся. Дедушка, согласен. Я пробежался по вендорским моделям, и увидел, что все связи сделаны через supertype. И это даже на уровне ER-модели вызывает сомнения о понимании связей по диаграмме. Из примера выше, если я свяжу, например, Communication - Location, и какой-то из типов Communication не имеет Location, то получится, что диаграмма не отражает этого. Даже если это будет ассоциатор (aka таблица связи), мы не сможем, не написав запрос к БД, установить этого. Сейчас я не рассматриваю вариант с заполнением dummy-значений для связи. В ER-модели, нет никаких связей - она и основана, и ориентирована на РМД, в которой нет никаких связей. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2018, 16:50 |
|
supertype/subtype
|
|||
---|---|---|---|
#18+
Код: plaintext
да Код: plaintext
Да, допускаем, когда есть соотв. требования в предметной области. Но можно и обратное сделать -- организовать абстрактные связи между объектами, разных типов. Очень будет полезно, и универсально -- сделал раз, и пользуешься всю оставшуюся жизнь системы. Код: plaintext
Там всё в рамках предметной области. нет смысла обсуждать вне её контекста. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 12:57 |
|
|
start [/forum/topic.php?fid=32&msg=39615306&tid=1540060]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 267ms |
0 / 0 |