2010-04-15 1 views
1

У меня нет проблем с преобразованием таблиц ER в SQL, но я не знаю, как преобразовать EER в таблицы SQL? как вы знаете, что EER имеет «спецификацию» и наследование, но я не знаю, как реляционные базы данных могут связываться с наследованием.Как конвертировать EER в таблицу SQL?

+0

Является ли EER UML? Из того, что вы говорите, это звучит так. – leeand00

+0

EER - это расширенная сущность-связь, которая имеет новые функции, такие как наследование над ER-моделированием. проблема в том, что я не могу преобразовать модели EER в таблицы SQL, потому что они имеют «спецификацию». –

+0

Любой шанс вы можете опубликовать диаграмму здесь? Возьмите скриншот и поместите его в свой вопрос? – leeand00

ответ

0

Я бы сказал, посмотрите на Hibernate storage strategies.

Hibernate - это система ORM, которая хранит объекты в базе данных SQL. В ссылке, которую я вам отправил, вы даете схему таблиц о том, как стратегия хранения сохраняется в базе данных SQL.

Если вы используете Appfuse или Groovy, он может генерировать эти отношения для вас.

Тогда вы можете захотеть отобразить схему в инструмент CASE, чтобы превратить его в диаграмму отношений сущностей.

+0

Спасибо, что представили мне новый аспект программирования на Java. Я буду использовать Hibernate и получить дополнительную информацию. Но моя проблема не зависит от платформы. Просто я хочу преобразовать EER в SQL-таблицу. –

+0

@ Хаджави «есть-а» - это право наследования? Hibernate поддерживает то, что хранится в таблице SQL. Все, что вам нужно сделать, это создать некоторые фактические классы для его преобразования. – leeand00

+0

@ Khajavi Я не предлагаю вам использовать Hibernate. Я предлагаю вам использовать Hibernate для генерации ваших SQL-таблиц. – leeand00

1

Я не уверен, как преобразовать все EER в таблицу SQL в одном действии пользователя, но это должно работать:

  • правой кнопкой мыши на таблице,
  • Скопируйте скрипт создания таблицы в буфер обмена ,
  • Вставьте этот скрипт в команду оболочки.

Это создаст таблицу.

Надеюсь, это поможет.

0

Самый простой ответ:
Таблица подтипов будет использовать идентификатор супертипа в качестве идентификатора. Это гарантирует, что подтип «является супертипом, а не подтипом» связан с «супер-типом».
Существуют другие правила для преобразования иерархии обобщения/специализации EERD (если вас это интересует, ответьте, и я пришлю вам ссылку, чтобы узнать о всех правилах). Тем не менее, большинство случаев, следующие два правила будут работать

  1. Создать соотношение для надтипа, создать каждое соотношение для каждого подтипа, идентификатор подтипа связи является идентификатор супертип связи (этот вариант в целом работа для всех случаев). Храните все общие атрибуты в суперсоответствии, сохраняйте только специальные атрибуты в подтипах.
  2. Для «непересекающейся обязательной специализации/иерархии обобщений» у вас может быть возможность создать таблицу для каждого подтипа (без создания отношения для супертипа).

Надеюсь, это поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^