2010-07-21 397 views
5

Ok, así que me engañaron para que hiciera algún diseño de base de datos para una base de datos Oracle donde yo trabajara. El problema es que no soy un tipo de DB :-). Actualmente estoy usando Rational Application Developer (RAD) para hacer el modelado de mi esquema de base de datos. Lo que idealmente me gustaría hacer es generar una serie de documentos de Word que contengan información de mi esquema de base de datos (principalmente información de tabla/columna, restricciones y disparadores como tablas en un documento de Word).Herramienta para generar el diccionario de datos del archivo SQL

Parece que no puedo encontrar ninguna forma de hacer esto con RAD, así que me preguntaba si alguien sabe de una herramienta que puede tomar un archivo de script SQL DDL (que contiene los comandos CREATE para el esquema) y generar Word tipo de informes?

Cualquier apuntador muy apreciado.

Gracias ...

+0

¿Qué está utilizando para su diseño ER? Muchas (¿la mayoría?) De las herramientas de ERD generarán esta salida para usted. Por supuesto, si estás haciendo tu diseño con bolígrafo y papel, entonces no tienes suerte. –

+0

¿Qué información quiere en estos informes? ¿Qué estilo de diseño? – APC

+0

Estoy usando Rational Application Developer para hacer mi diseño de ERD. Es capaz de desarrollar el ERD y generar código DDL y Java, pero no tiene ninguna herramienta de informes. Idealmente, me gustaría poder generar un informe que contenga información de columna para cada tabla en el diseño de la base de datos. – Steve

Respuesta

4

Es probablemente más fácil sólo para ejecutar comandos directamente en contra de los propios Oracle tablas del diccionario de datos en lugar de tratar de analizar los archivos SQL que contienen crear declaraciones.

Por ejemplo, para obtener todas las tablas en el esquema X, que puede hacer:

SELECT table_name FROM all_tables WHERE owner = 'X' 

para obtener todas las columnas para la tabla 'T', propietario 'U', que puede hacer:

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

ejemplo completo

Aquí está un ejemplo completo que permitirá obtener todas las tablas y sus columnas de vuelta para todas las tablas propiedad de 'propietario'. Se puede hacer con una sola instrucción 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 

En cuanto a conseguir los datos en documentos de Word, que acababa de empezar con la obtención de los datos en archivos de texto en primer lugar, a continuación, puede utilizar otros medios para conseguirlo en Word si es necesario. Para obtenerlo en un archivo de texto, puede simplemente ejecutar el comando anterior en sql*plus, y simplemente colocarlo en un archivo de texto (es decir, emitir un comando spool file.txt en sql*plus) antes de ejecutar la instrucción SQL. Entonces su salida se escribirá en un archivo.

+0

Desafortunadamente, todavía no tengo nada en la base de datos. Todavía estoy trabajando con la herramienta de diseño ER. – Steve

+0

@Steve - ¿Sabe que puede ejecutar su propia instancia de Oracle de manera totalmente gratuita? Se llama Oracle Express Edition, y puede obtenerlo aquí: http://www.oracle.com/technology/products/database/xe/index.html Lo recomiendo encarecidamente, y es genial para hacer lo que está haciendo ahora, debido a que no tiene que esperar en DBA para crear su esquema, puede hacerlo en su banco de pruebas. Además, esto le permite hacer todos los ajustes, etc., a su diseño y obtenerlo como lo desea antes de molestar a los DBA. Si haces eso, podrás usar la solución anterior. – dcp

+0

@Steve, podría importar los DDL en la herramienta hermana del desarrollador de Oracle SQL: Oracle Data Modeler y obtener informes de modelo relacional, aunque no tengo idea de si esos informes serán útiles. –

1

Table reports entre otros, se pueden obtener de Oracle SQL Developer. Sin embargo, uno necesita el acceso al esquema, para obtener la información relevante.

Si está modelando la base de datos y, por lo tanto, no tiene acceso a un esquema en funcionamiento, puede cargar el archivo DDL en un modelo mantenido por Oracle Data Modeler (es posible que desee verificar primero la licencia) y luego obtener el informe del modelo relacional (el informe que refleja el modelo de base de datos física en la mayoría de las partes).

+0

En este punto, todavía estoy en modo de diseño ER. Los administradores todavía no han creado la base de datos Oracle, así que no tengo una instancia contra la cual trabajar. – Steve

+0

Sí, me di cuenta de que el otro comentario. He editado mi respuesta para que refleje lo mismo: podría intentar usar Oracle Data Modeler. –

+0

+1: Solo he visto la salida deseada de Oracle Designer, aunque no puedo recordar que sea Word o simplemente un archivo de texto. –

Cuestiones relacionadas