У меня нет проблем с преобразованием таблиц ER в SQL, но я не знаю, как преобразовать EER в таблицы SQL? как вы знаете, что EER имеет «спецификацию» и наследование, но я не знаю, как реляционные базы данных могут связываться с наследованием.Как конвертировать EER в таблицу SQL?
ответ
Я бы сказал, посмотрите на Hibernate storage strategies.
Hibernate - это система ORM, которая хранит объекты в базе данных SQL. В ссылке, которую я вам отправил, вы даете схему таблиц о том, как стратегия хранения сохраняется в базе данных SQL.
Если вы используете Appfuse или Groovy, он может генерировать эти отношения для вас.
Тогда вы можете захотеть отобразить схему в инструмент CASE, чтобы превратить его в диаграмму отношений сущностей.
Спасибо, что представили мне новый аспект программирования на Java. Я буду использовать Hibernate и получить дополнительную информацию. Но моя проблема не зависит от платформы. Просто я хочу преобразовать EER в SQL-таблицу. –
@ Хаджави «есть-а» - это право наследования? Hibernate поддерживает то, что хранится в таблице SQL. Все, что вам нужно сделать, это создать некоторые фактические классы для его преобразования. – leeand00
@ Khajavi Я не предлагаю вам использовать Hibernate. Я предлагаю вам использовать Hibernate для генерации ваших SQL-таблиц. – leeand00
Я не уверен, как преобразовать все EER в таблицу SQL в одном действии пользователя, но это должно работать:
- правой кнопкой мыши на таблице,
- Скопируйте скрипт создания таблицы в буфер обмена ,
- Вставьте этот скрипт в команду оболочки.
Это создаст таблицу.
Надеюсь, это поможет.
Самый простой ответ:
Таблица подтипов будет использовать идентификатор супертипа в качестве идентификатора. Это гарантирует, что подтип «является супертипом, а не подтипом» связан с «супер-типом».
Существуют другие правила для преобразования иерархии обобщения/специализации EERD (если вас это интересует, ответьте, и я пришлю вам ссылку, чтобы узнать о всех правилах). Тем не менее, большинство случаев, следующие два правила будут работать
- Создать соотношение для надтипа, создать каждое соотношение для каждого подтипа, идентификатор подтипа связи является идентификатор супертип связи (этот вариант в целом работа для всех случаев). Храните все общие атрибуты в суперсоответствии, сохраняйте только специальные атрибуты в подтипах.
- Для «непересекающейся обязательной специализации/иерархии обобщений» у вас может быть возможность создать таблицу для каждого подтипа (без создания отношения для супертипа).
Надеюсь, это поможет.
Является ли EER UML? Из того, что вы говорите, это звучит так. – leeand00
EER - это расширенная сущность-связь, которая имеет новые функции, такие как наследование над ER-моделированием. проблема в том, что я не могу преобразовать модели EER в таблицы SQL, потому что они имеют «спецификацию». –
Любой шанс вы можете опубликовать диаграмму здесь? Возьмите скриншот и поместите его в свой вопрос? – leeand00