Можно ли использовать Enterprise Architect для проектирвоания баз данных? И как это делать?
Сразу скажу, что все-таки лучше инструмента ERWin пока не встречал, хотя и него есть заморочки. Однако все-таки.
1. Можно проектировать БД и для этого есть специальная диаграмма Data Modeling.
Определяешь тип базы данных Settings/DataBase Types - выбираешь нужную базу ставишь ее по умолчанию, закрываешь - действует пока не переопределишь
Создаешь диаграмму Data Modeling.
Накидываешь нужные будущие таблицы
Формируешь поля таблиц (не забывая вставлять поля для связи)
Для автоинкриментых задаешь автоинкрименцию (Column propities в свойствах атрибута)
Рисуешь ассоциацию (внимание!) от таблицы-деталь(источник) к таблице-мастер(мишень)
ПКМ по ассоциации, выбираешь FK, определяешь поля связи - Ок
Далее Project/Datbase Engeneering/Generate Package DDL. Там выставляешь нужные фишки, например генерацию ПК и ФК а также триггеров (в случае интербейза), ставишь выходной файл, получаешь sql инструкцию. Запускаешь нужную БД генеришь БД
Можно подключаться к существующей и туда сразу генерить схему
2. Более верный способ
Генеришь модель классов типа ПИМ, не проверял насчет свойства перзистент и транзиент, по идее транзиентные в схему включаться не должны (хотя не факт)
Далее Project/Transformations/ Transform current package - Выбираешь DDL схеу, предлагает в каком пакете сохранять, выбираешь. Жмешь кнопку
Открвыаешь проект браузер - ищешь тот пакет в нем создается DDL пакет а в нем собственно диаграмма.
Для корректного отображения атрибутов заходишь в свойства диаграммы и у элементов указываешь отображать атрибуты
При генерации создаются первичные ключи по имени класса типа idКласс, создаются внешние ключи аналогичным образом. Если связь многи ко многим создается таблица связи
Кооректируешь схему и далее генеришь DDL инструкции как рассказано в пункте 1
ну типа так