Может ли редактор диаграмм EER MySQL Workbench представлять таблицы с отношениями, которые являются частичной / полной непересекающейся / перекрывающейся специализацией? - PullRequest
2 голосов
/ 17 июня 2011

Я учусь у Фроста, Дея и Ван Слайка "Проектирование и разработка баз данных: визуальный подход".

В главе 5 представлены отношения, которые указывают на частичную или полную и непересекающуюся или частично совпадающую специализацию.

К сожалению, я не могу понять, как построить такую ​​схему в MySQL Workbench. Поиск в Google тоже мало что дает. Я обнаружил, что человеку, спрашивающему о них только в SQL, говорят, что «он не понимает модель реляционной базы данных», что действительно раздражает.

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

Как я могу проявить специализацию в Workbench? В качестве примера в книге используются таблицы «Студент», «Спортсмен» и «Член совета», где студент может быть спортсменом, членом студенческого совета, и тем, и другим.

РЕДАКТИРОВАТЬ: Нашел несколько ссылок на людей, задающих более или менее тот же вопрос. Вот ссылка на человека на форумах mysql. Он получил раздражающий ответ, который в основном игнорировал его вопрос. Вот ссылка на вопрос в DevShed. Он не получил ответа. Теперь я подозреваю, что эта функциональность не существует в рабочей среде, несмотря на то, что название EER предполагает, что оно существует.

Ответы [ 3 ]

1 голос
/ 10 июля 2012

Я также новичок в SQL, и раньше у меня была похожая проблема, но я думаю, что теперь у меня есть ясность, поэтому я хотел бы поделиться с вами.

Если меня не учили неправильно, упомянутые вами спецификации (частичная или полная и непересекающаяся или перекрывающаяся специализация) могут быть изображены не на диаграмме ER (т. Е. На диаграмме взаимосвязи сущностей), а в mysql (и других известных программах для работы с базами данных). ) это покрыто. По сути, вы вводите ограничения такого рода через триггер, проверку и проверку. И я также использую инструментальные средства mysql, вы, безусловно, можете создавать триггеры.

Если вы хотите узнать больше о триггере, проверке и утверждении, прочитайте ответ Джелломони: в чем разница между триггерами, утверждениями и проверками (в базе данных)

1 голос
/ 22 января 2013

Хорошо, я думаю, что нашел решение! Если щелкнуть линию между двумя объектами, вы увидите 2 поля для каждой стороны соединения с надписью Mandatory. Это тотальное участие. По крайней мере, у меня это сработало. Вы заметите, что общее участие не имеет O на стороне, которая участвует, но если вы снимите флажок, вы получите частичное участие с O на стороне организации.

0 голосов
/ 17 июня 2011

Я считаю, что если дважды щелкнуть сущность внизу, можно создать индексы и внешние ключи между сущностями.После создания диаграмма обновляется, показывая линии, представляющие отношения между сущностями.

Если вы предоставите более подробную информацию о структуре и взаимосвязях таблицы, я мог бы попытаться представить ее для вас.

Возможно ли, что вы похожи на это после http://grab.by/ank7

...