Как создать диаграмму ER БЕЗ внешних ключей (MySQL)?

Мне нужно сгенерировать ERD из моей базы данных в школьный проект. Мои учителя хотят, чтобы в ER не было внешних ключей, а только различные отношения между различными сущностями. Я попробовал Visual Paradigm, а теперь и MySQL Workbench, используя опцию обратного проектирования, но все они генерируют диаграмму с внешними ключами, и я не могу их удалить.

Есть ли какой-нибудь вариант или другие программы, которые генерируют диаграмму по этим правилам?


person Miguel Martins    schedule 10.12.2015    source источник
comment
LucidChart от Draw.io — действительно хорошие бесплатные программы, которые вы можете использовать для создания диаграмм ERD, которые могут работать для того, что вам нужно.   -  person fez    schedule 10.12.2015
comment
Вы можете нарисовать ERD, используя DIA (для Windows)   -  person vish4071    schedule 10.12.2015
comment
Уважаемый @Miguel Martins, как отношения ERD без внешнего ключа, отношения означают внешний ключ   -  person Gouda Elalfy    schedule 10.12.2015
comment
Спасибо за ответ, ребята. Я попробовал gliffy, который похож на draw.io, но у них общая проблема, я не могу найти, как рисовать там зависимые отношения. Я забыл упомянуть, что у меня есть Mac и виртуальная машина с Ubuntu, но, к сожалению, без Windows. @GoudaElalfy, мой учитель, говорит, что диаграмма с внешними ключами в столбцах не является настоящим ER, они говорят, что отношений между сущностями достаточно для представления внешних ключей. Я не знаю, ясно ли я выражаюсь.   -  person Miguel Martins    schedule 10.12.2015
comment
@GoudaElalfy Отношение НЕ совпадает с внешним ключом. Отношение связывает (обычно разные) значения из одного или нескольких доменов, ограничение внешнего ключа определяет один домен как подмножество другого.   -  person reaanb    schedule 10.12.2015
comment
@MiguelMartins попробуйте нарисовать ERD в оригинальной записи Чена. Такие инструменты, как Visual Paradigm и MySQL Workbench, на самом деле просто рисуют табличные диаграммы.   -  person reaanb    schedule 10.12.2015
comment
Я имею в виду, что нет отношений без внешних ключей   -  person Gouda Elalfy    schedule 10.12.2015
comment
Технически концепция, определяемая словом «отношение» в реляционной модели, на самом деле реализована в виде таблицы в SQL. Ограничения внешнего ключа обеспечивают (и косвенно определяют) отношения кораблей, а не отношения. Реляционные базы данных называются так не (как это принято считать) из-за отношений, а потому, что данные нормализованы в таблицы (отношения). И кто-то должен сказать учителю, что они делают это неправильно.   -  person Michael - sqlbot    schedule 10.12.2015
comment
Отношения (в модели отношений сущностей) — это отношения. Чен различал отношения сущностей и отношения отношений. Отношение — это любая ассоциация доменов, отношение объекта — это композиция бинарных отношений (атрибутов) с конкретным доменом в качестве субъекта, а отношение отношения — это отношение, в котором субъект не является одним доменом. Однако произведение доменов по-прежнему является доменом, а кортеж значений по-прежнему является значением, поэтому отношение отношения можно рассматривать как отношение сущностей, если оно имеет атрибуты.   -  person reaanb    schedule 11.12.2015
comment
Ограничения внешнего ключа — это отношения в схеме, а не в логической модели данных. База данных без каких-либо ограничений по внешнему ключу может использоваться осмысленно, пока данные действительны. Ограничения внешнего ключа просто поддерживают целостность. Они не влияют на то, какие значения (из ограниченных доменов) мы выбираем для связи, и они не влияют на то, как мы можем соединять таблицы.   -  person reaanb    schedule 11.12.2015
comment
Похоже, вашему учителю нужна модель ER, а не реляционная модель. Это хорошее различие для понимания, и в наши дни его недостаточно учат или ценят. В модели ER отношения идентифицируются, но не внедряются.   -  person Walter Mitty    schedule 11.12.2015
comment
Спасибо за поддержку, ребята. Я не нашел программы, которая использовала бы обозначение, которое я искал для представления зависимых отношений (без включения FK в сущности), поэтому я сделал все возможное, чтобы представить их на draw.io (я пометил их тегом и объяснил это на раздел заметок). В настоящее время разница между ER и реляционной моделью немного туманна.   -  person Miguel Martins    schedule 16.12.2015


Ответы (1)


Подумайте о том, чтобы различать ERD (концептуальный или логический уровень) и структурированную диаграмму данных или физическую ERD.

Логический ERD — это функциональная спецификация. Он не показывает/указывает столбцы базы данных, а сущности, их атрибуты и отношения. Возможно, чисто технический атрибут, такой как внешний ключ, не требуется на этом уровне спецификации. Отношения между сущностями уже представлены линиями.

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

person rob2universe    schedule 12.08.2016