2010-07-21 3 views
5

Итак, я обманул себя в создании какого-то проекта базы данных для базы данных Oracle, где я работаю. Проблема в том, что я не так много парень DB :-). В настоящее время я использую Rational Application Developer (RAD) для моделирования моей схемы базы данных. То, что я в идеале хотел бы сделать, это создать серию документов Word, содержащих информацию из моей схемы БД (в первую очередь информацию таблицы/столбца, ограничения и триггеры как таблицы в документе Word).Инструмент для создания словаря данных из файла SQL

Я не могу найти способ сделать это с помощью RAD, поэтому мне было интересно, знает ли кто-нибудь об инструменте, который может взять файл сценария SQL DDL (содержащий команды CREATE для схемы) и сгенерировать Word -типы?

Любые указатели очень ценят.

Благодаря ...

+0

Что вы используете для проектирования ER? Многие (большинство?) Инструментов ERD там будут генерировать этот вывод для вас. Конечно, если вы делаете свой проект с ручкой и бумагой, вам не повезло. –

+0

Какую информацию вы хотите получить в этих отчетах? Какой стиль макета? – APC

+0

Я использую Rational Application Developer для создания моего ERD-дизайна. Он способен разрабатывать ERD и генерировать DDL и Java-код, но у него нет никаких инструментов отчетности. В идеале я хотел бы иметь возможность генерировать отчет, содержащий информацию о столбцах для каждой таблицы в дизайне базы данных. – Steve

ответ

4

Это, вероятно, легче всего просто запускать команды непосредственно против самого словаря данных таблиц Oracle, а не пытаться анализировать SQL-файлы, содержащие создавать операторы.

Например, чтобы получить все таблицы в схеме X, вы можете сделать:

SELECT table_name FROM all_tables WHERE owner = 'X' 

Чтобы получить все столбцы для таблицы «T», владелец «U», вы можете сделать:

SELECT column_name FROM all_tab_columns WHERE table_name = 'T' AND owner = 'U' 

полный пример

Вот полный пример, который позволит вам получить все таблицы и их столбцы возвращаются для всех таблиц, принадлежащих «владельцу». Это может быть сделано с помощью одного оператора SQL:

SELECT t.table_name 
    , c.column_name 
    FROM all_tables t 
    , all_tab_columns c 
WHERE t.TABLE_NAME = c.TABLE_NAME 
    AND t.OWNER  = c.OWNER 
    AND t.OWNER  = 'owner' 
ORDER BY t.TABLE_NAME 
     , c.COLUMN_NAME 

по мере получения данных в документы Word, я просто начать с получением данных в текстовые файлы, а затем вы можете использовать другие средства, чтобы получить его в Word, если это необходимо. Чтобы получить его в текстовый файл, вы можете просто запустить указанную выше команду в sql*plus и просто отправить сообщение в текстовый файл (т. Е. Выдать команду spool file.txt в sql*plus) перед запуском инструкции SQL. Затем ваш вывод будет записан в файл.

+0

К сожалению, у меня пока нет ничего в базе данных. Я все еще работаю с инструментом проектирования ER. – Steve

+0

@Steve - Знаете ли вы, что вы можете запустить свой собственный экземпляр Oracle абсолютно бесплатно? Это называется Oracle Express Edition, и вы можете получить его здесь: http://www.oracle.com/technology/products/database/xe/index.html Я очень рекомендую его, и это здорово для того, чтобы делать то, что вы делаете теперь, потому что вам не нужно ждать от DBA для создания вашей схемы, вы можете сделать это в своей изолированной DB. Кроме того, это позволяет сделать все настройки и т. Д. Для вашего дизайна и получить его, как вы хотите, прежде чем беспокоиться о DBA. Если вы это сделаете, вы сможете использовать решение выше. – dcp

+0

@Steve, вы можете импортировать DDL в сестра Oracle Developer Developer - Oracle Data Modeler и получить реляционные отчеты моделей, хотя я не знаю, будут ли эти отчеты полезными. –

1

Table reports среди прочих можно получить у Oracle SQL Developer. Однако для получения необходимой информации требуется доступ к схеме.

Если вы моделируете базу данных и, следовательно, не имеете доступа к рабочей схеме, вы можете загрузить файл DDL в модели, поддерживаемой Oracle Data Modeler (вы можете проверить лицензию на это в первую очередь), а затем получить отчет реляционной модели (отчет, который отражает модель физической базы данных в большинстве частей).

+0

На данный момент я все еще в режиме проектирования ER. Парни администратора еще не создали базу данных Oracle, поэтому у меня нет экземпляра для работы. – Steve

+0

Да, я понял это из другого комментария. Я отредактировал свой ответ, чтобы отразить то же самое - вы могли бы попытаться использовать Oracle Data Modeler. –

+0

+1: Я видел только желаемый результат от Oracle Designer, хотя я не могу вспомнить, что это Word или просто текстовый файл. –

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