Reverse engineer database from an Oracle database - database

I would like to know if there is any tool able to extract the design from an existing Oracle database.
I have a read access to it and I would like to have the design. Or simply export it to a *.sql and then read it with any tool able to create the design with the links between the tables.
Something like that
(source: fileguru.com)
Thank you very much.

There are a number of tools which do reverse engineering from an Oracle database, but most require a license.
Oracle has its own Data Modeller. Previously Oracle tried to charge an exorbitant licence fee but obviously they had few takers because it is now free. It is not a great product but it does a decent job on reverse engineering.
If you are a site which uses TOAD then you should definitely consider Quest's TOAD Data Modeler. The additional cost is not a great stretch from the basic TOAD fee.
There are not many other free tools left on the market but SQL Power offer a community edition of their SQL Architect tool which does reverse engineering. Check it out.

Oracle SQL Data Modeler answered to all my questions.
It has a reverse engineering tool that creates the logical and physical model from the database.

Related

Database Management

I want to learn about triggers, viewer in SQL ?
I also would like to learn some Advanced database management concepts ?
would someone give me a clue about a Text that i can learn it individually ?
Your questions are somewhat database specific. Meaning that triggers and database management will be somewhat different for MySQL, Oracle, and DB2.
The advantage of learning about MySQL is that you can practice on your own machine.
The advantage of learning about Oracle and DB2 is that people will pay you based on your knowledge and ability.
Database Management has evolved dramatically over the last decade or so. For example, the Oracle Autonomous Database aims to eliminate the need to perform mundane database “management” tasks, so DBAs can now focus on greater value activities such as fleet management and getting value out of data through analytics and machine learning, integration, and leveraging converged database features and capabilities for applications etc. This increases an Oracle DBA productivity and value to the organization, very substantially.
The Oracle Autonomous Database is self-driving, self-securing, and self-repairing. You can learn more about Oracle Autonomous Database at https://www.oracle.com/autonomous-database/
Oracle is also currently (in 2021) offering free training and certification for Oracle Autonomous Database.
BTW, to answer the other part of your question - you can learn about TRIGGERS from the Oracle documentation. Please refer to the Using Triggers section in the 2 Day Developer's Guide to start with - https://docs.oracle.com/en/database/oracle/oracle-database/21/tdddg/using-triggers.html#GUID-3744214A-861D-4C59-AD2D-95840B5B0871

Way to abstract database schema creation?

I'd like the ability to create a schema for multiple database types such as MySQL, SQL Server, and PostgreSQL. I know ORM tools such as Hibernate can do this, but I won't be using an ORM to access the database so would like a solution that doesn't depend on one. Are there any tools that can do this?
Edit:
I forgot to mention that this is a personal project so I'm looking for something either cheep or free.
Take a look at Erwin.
Edit: (Based on question update)
Yeah Erwin is not going to be cheap. I did a quick search and found Toad Data Modeler, which I haven't tried but may be worth looking into:
Entity relationship diagrams - both Physical and Logical modeling (incl. inheritance)
Support for various databases (Oracle,
MS SQL Server, MySQL, Sybase Ase,
PostgreSQL, DB2)
Generation of SQL (DDL) scripts
More...
SQL Power offer a FOSS modeling tool, SQL Architect. It can generate DDL for several flavours of database. It is still technically beta (current release is 0.9.1) but it should be fine for a personal project. Find out more.
I know you said u don't want an ORM but SubSonic 3's migrations might just do the trick for you. You don't have to use the ORM just have SubSonic build itself from your database and have it as a separate class library. Then change the provider say from MSSQL to MySQL and have it rebuild itself.
PowerDesigner is a far better choice than Erwin but it too is expensive.
It took me roughly 16 hours to install the demo of Erwin, lots of failed attempts, incomprehensible error messages, help phone number which were disconnected.
PD will give you 14 day free trial.

Data Model tools for DB2

I have created a Database in DB2 and tables with relationships. I would like to create a ER diagram based on my database design in DB2. MS SQL has a facility to create ER diagrams from DB schema, but DB2 doesn't seem to have one, at least to my knowledge.
Any one know of any open source tools/facility within DB2 itself for this?
You could try TOAD for DB2 (freeware and commercial versions).
Download here
Also IBM Data Studio looks promising.
DbVisualizer can visualize (and much more) just about any database, provided that the relevant foreign keys have been defined. DbVisualizer isn't open source, but there is a free edition of it (which isn't limited regarding visualization).
You can use Visio and do a database reverse engineering. I have done it and found it to be quite neat.
Reverse engineer an existing database into a database model
TOAD for DB2 freeware does not have the ER diagramming feature enabled. It is available only in the commercial version. ER Studio is another (expensive) option. Try Visio 2000 Enterprise edition if you can get one. It is available on ebay for about $35. Microsoft has moved the reverse engineering option in subsequent version of Visio to the expensive enterprise architect bundles.
Aqua Data Studio has an ER Modeling tool which will work with any RDBMS. You can create, explore, detail, and modify database schemas to create fully editable and scriptable diagrams of database relationships and objects. The link to download is www.aquafold.com

SQL Server to er model

Is there a program that converts a SQL Server database diagram to er model, or create er model of a database from SQL Server server?
Within SQL Server, there's the "Database Diagram" feature in each database, in Management Studio.
You can create a new diagram from that, and include all (or some) of your tables, so showing where the relationships are, and what the tables are.
I've used Erwin for 10 years and it works great! Unfortunately it is a bit pricey. Hopefully someone will come out with a less expensive tool to accomplish this, I've heard Visual Studio 2010 may have some tools in this area.
Try Microsoft Visio. Visio professional has a reasonably good database reverse engineering feature, and it is easy to retrofit relationships logically present in the data but not physically manifested in the database. It is also easy to make multiple diagrams from the same reverse engineered model (on separate pages in the .vsd file).
These two features make Visio a very useful tool to help understand and document third-party databases, and Visio Pro isn't all that expensive.
However, there is a serious caveat in that it has no facility to generate a SQL file from the schema unless you buy the enterprise architect version, which is only available with EA versions of Visual Studio. As far as I know, there's no EA version of Visio past 2002/2003, so this product is obsolescent.

Which tool can help generate a SQL server 2005/2008 database from E-R diagram?

In Visio 2003 Architect version I can generate a SQL Server Database on the fly from UML ER diagram. But there is no such a way by using Visio 2007. My question is: Any other good and latest tools can support ER-> DB or DB->ER very well for SQL2005/2008?
I think Enterprise Architect can do that too.
http://www.sparxsystems.com.au/
You can do the ER diagram on Visual Studio creating a dbml file and then export to a Sql Server script using the huagati plugin. http://www.huagati.com/dbmltools/
If you're looking for a free/open source tool to achieve this, you could try:
DBDesigner
From the website:
DBDesigner 4 is a visual database design system that integrates database design, modeling, creation and maintenance into a single, seamless environment.
It combines professional features and a clear and simple user interface to offer the most efficient way to handle your databases.
DBDesigner 4 compares to products like Oracle's Designer©, IBM's Rational Rose©, Computer Associates's ERwin© and theKompany's DataArchitect© but is an Open Source Project available for Microsoft Windows© 2k/XP and Linux KDE/Gnome. It is release on the GPL.
And it supports the following features:
Available on Linux / MS Windows
User Interfaced based on industry standard layouting software
Design Mode / Query Mode
Reverse engineering MySQL, Oracle, MSSQL and any ODBC databases
Userdefined schema-generation
Model-To-Database syncronisation
Index support
Automatic foreign key placement
Weak entity support
Standard Inserts storing and sync
Full documentation capabilities
Advanced model printing
Output as image
All MySQL datatypes with all options
User defined datatypes
Database storage, ability to save model within database
Network-/Multiuser access through database storage
Version control*
SQL Query Builder
SQL Command History
SQL Command storage within model
Plugin interface
I think the bolded ones above (my own emphasis) should give you what you require (i.e. effectively two-way database/model synchronization).
I have used the tool in the past to reverse engineer an existing database to an ER diagram. From what I remember, it wasn't the most stable software I'd ever used (I seem to recall it crashed a couple of times) however, this was a little while ago so it may be more stable now.
I remember that in Visio 2003 that was only possible, I believe in the Enterprise Edition. Could that be your issue with 2007?
Most of the tools don't handle SQL 2005/2008 correctly. But CA ERwin® Process Modeler does the best job (at a cost though).
There is a community edition but it is limited to 25 objects per model.
Give it a try and let us know.

Resources