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

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

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

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

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

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

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


person SO Stinks    schedule 17.06.2011    source источник
comment
Вы нашли какое-либо решение этой проблемы, потому что я тоже столкнулся с ней в банкомате? Я видел, что есть несколько разных линий с буквой O на одной стороне, и это означает полное участие, но я не могу найти, где эта опция в верстаке :/   -  person BugShotGG    schedule 22.01.2013
comment
Я как раз искал ответ и на твой вопрос. К сожалению, никто из ответивших здесь не понял, что вы ищете. Причина в том, что функции диаграммы ER Workbench предназначены только для ЛОГИЧЕСКОГО моделирования базы данных, а возможности EER, такие как специализация и обобщение, на самом деле являются частью КОНЦЕПТУАЛЬНОГО моделирования данных.   -  person ybull    schedule 20.11.2013
comment
В этом ответе stackoverflow содержится подробное объяснение характеристик обобщения/подтипирования, которые необходимо смоделировать. (Этот комментарий принадлежит @LuiShadow84, у которого еще нет необходимой репутации для добавления комментариев)   -  person HugoRune    schedule 18.12.2013


Ответы (3)


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

person BugShotGG    schedule 22.01.2013

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

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

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

person JK ABC    schedule 10.07.2012

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

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

Это что-то вроде этого, которое вы ищете после http://grab.by/ank7

person Gabriel Spiteri    schedule 17.06.2011
comment
Пример, который я пытаюсь воспроизвести, состоит из таблицы STUDENT, которая специализирована таблицами ATHLETE и COUNCILMEMBER (действительно член студенческого самоуправления). Таблица STUDENT имеет индекс в качестве первичного ключа и, скажем, имя и фамилию в качестве полей. СПОРТСМЕН имеет STUDENT$id в качестве внешнего ключа и право на участие в качестве поля. COUNCILMEMBER как STUDENT$id как первичный ключ и офис как поле. Какими могут быть отношения частичного наложения со СТУДЕНТОМ в качестве супертипа? - person SO Stinks; 17.06.2011