Database Re-engineering/Schema Generator Tools - oracle

I have joined a project which has been already developed and its a legacy project with very large database and its in Java/J2EE.
I am trying to understand the Database Design & Architecture and so is there a tool available which can generate schema from the populated table representing all the constraints like foreign keys etc ?
Basically am looking for an Database Re-engineering Tool. My database is Oracle 10g.
Inputs would be highly appreciated.

I use ER/Studio and I absolutely love it for all my data modeling, reverse engineering and database design work.
http://www.embarcadero.com/products/er-studio
I should really become an ER/Studio evangelist.. but really, it is a great product.

Haven't played much with it, but Oracle has a tool included with SQL Developer: Oracle SQL Developer Data Modeler. I agree with #Raj that ER Studio is very good; I've also used ERWin. Both have the drawback of being quite pricey. For a while there was free downloads, but I see now it appears they're charging for it. Don't know how much.

Related

Requirements before jumping to OBIEE 11.7g

I'd like to know your opinions here, what tools do I have to learn first before studying OBIEE for ex. "Oracle Database" do I have to need a prior knowledge in Oracle Database in order for me to learn OBIEE in fast pace. I need your suggestions here.
Thanks
It actually depends on what you want to do with OBIEE. You can be a reports developer, the metadata developer or an OBIEE Administrator. If you end up becoming a reports developer, you'll require less database knowledge. But to start off, you will require knowledge of
Any one database (Oracle, mySQL etc)
Dimensional modelling concepts
I've always believed in installing the software and filling the knowledge gaps while you're working on it.

Are there any good free or cheap tools for building an Oracle Database diagram?

I need to diagram an oracle database and I am hoping to find some good tools that are either cheap, or free.
Ideally the tool should allow me to draw the relationships between the tables, as well as remove unwanted tables from the diagram.
I already have access to MS Visual Studio 2008 as well as SSMS 2008, but I don't believe either will provide much help with oracle.
I asked this question here on serverfault, and I had several answers. However after I tried most of the tools I ran into problems with all of them.
I prefer SQL server over oracle, but I have one legacy oracle system to manage, and I am finding myself climbing an uphill battle against the numerous errors oracle throws at you on a minute by minute basis.
Have a look at TOADSoft and especially Toad Data Modeler (Toad is a very famous tool).
Another well known commercial tool is PL/SQL Developer. This is a more integrated solution (not only graphical modeling).
In both case, I didn't check the pricing but I'm sure they are worth it (and the prices must be insignificant in comparison to Oracle's license).
Like your friends over on serverfault, I had a really good experience with PowerArchitect. And it's free. . . .
Maybe I don't understand, but its only a diagram. In which any UML tool will do the job, even Visio, which should have for free or next to nothing for you, not to mention the tools in that blog. And there always pencil and paper.
Visio professional will let you reverse engineer the database schema and I've done this with Oracle before. It's actually quite good for this as you can organise the diagram into subject areas (i.e. separate pages). You can also annotate the diagrams with missing foreign keys; this is quite a useful feature for making sense of vendors' databases.
'Enterprise Architect' versions will also allow you do generate DDL from the diagrams, and you can often get VSEA2002 or VSEA2003 quite cheaply; these versions come with the EA version of Visio bundled.
I think Visio has a feature called "Reverse Engineering", with which you can specify a database connection and it will automagically draw the Diagram for you. The database connection can be anything accessible via ODBC.
(MySQL also offers such a feature in its MySQL Workbench, though I don't remember, if it was possible to specify a different database system than MySQL itself)
As long as we're mentioning pencil and paper, I'll throw in the next step up from pencil and paper. It's MS Access.
If you have MS Access on your PC, and if you can set up table links from MS access to Oracle, you can use MS Access to generate relationship diagrams, which you can then print.
You have to do a fair amount of manual work, compared to some of the pricier tools.
Set up an empty MS Access database. Then set up a table link to each of the tables in your Oracle database. Then use the Access relationship tool to draw relationship lines between each foreign key and the key it references. Classify each relationship as many to one. This creates the lines between the boxes. You can use the Access interface to drag the boxes around on the diagram until you like the visual layout. You can print the resulting diagram.
Oh, and by the way, you can create local tables to act as snapshots of some of the data, and MS queries to reload the local tables from the Oracle data. That way you can mess around with the local copies without writing to the Oracle database. You can even set up table links to a SQL server database, and move data across, bit by bit.
Depending on the complexity of your Oracle DB, and your diagramming needs, this could be enough of a tool for you.
Oracle's own SQL Developer Data Modeler has a "Free to download, free to learn, unlimited evaluation", whatever that means.

Reporting with DB2

I started learning .net about 3 years ago. I have gone thru a boot camp during that time learning OO and various data access technologies such as NHibernate, Subsonic, LINQ TO SQL.
didn't wanna try EF cause it hasn't reached version 3 :)
As far as reporting goes, I have heard that many ORM'S fall flat on their face when it comes to reporting. We have AS400 OR DB2 as our backend. I have heard that LLBLGEN does a good job on reporting for this product. But it is a commercial product and not FREE. Can someone point me to some good resources for Reporting from DB2? thanks for any links/blog articles
Reporting on DB2 will work the same as reporting on almost any other database - you can use ODBC, JDBC or native DB2 calls to the database. So, you don't need DB2 reporting references - any database reporting references should meet your needs.
The only thing special about DB2 might be a little of the syntax extensions, and how you scale up the back end through parallel database servers (like MapReduce, Teradata, etc). But neither should be of much concern - since it's extremely ansi compliant and the scalability should be largely invisible to the reporting developer.
And Crystal Reports, Brio, Cognos, Business Objects, Microstrategy, Actuate, JasperReports, Birt, etc should all work fine.
ORMs are typically terrible for reporting - since they're object rather than set oriented. You'll especially feel the pain with very large data volumes, complex reports or a large number of reports.
Please, don't overlook the most obvious answer: Query/400!
It is native iSeries software. You configure and runs the report on the iSeries but it works great. It is simple, straight forward and maybe a little bit limited but you get most of the works done.
Don't be scared of the green screen or the simple interface. It's really a powerfull tool that does handle the iSeries database very well.
Can someone point me to some good resources for Reporting from DB2?
RPG I!
Light up those indicators!
Query Manager:
You cam use SQL (that can take input parameters) to build it, then create a "form" that will provide totals, level breaks, counts, customized headers, titles, etc.
Query/400 does not accept parameters AFAIK.
Free manual at:
http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/topic/rzatc/sc415212.pdf

What are the benefits of using Oracle Designer?

Why would I want to use Oracle Designer as opposed to simply maintaining SQL scripts and storing them in a version control system such as Subversion?
I need to decide if it is worth the effort to reverse-engineer an existing database into Designer.
It seems like it would be easier to store DDL scripts along with the application source code in subversion.
The policy of my organization is to manage all database schemas using Designer. I'm all for compliance if there is some sort of ROI, but I am not able to see how there would be any ROI by reverse-engineering an existing database into Designer.
Some benefits of using Designer:
easy to browse the table definitions, constraints etc.
graphical tools to show tables and their relationships
impact analysis tools
generation of DDL for new/altered table definitions
Whether this makes its use worthwhile depends on how much your orgnaisation makes use of these benefits. My organisation uses Designer to manage a very large (thousands of tables) database; for a smaller database the benefits may be smaller.

Conversion tool for MS-Excel spreadsheets with macros and VB to Oracle?

Our users have created MS-Excel spreadsheets which over time have evolved into fairly complex applications. They run their part of the business with them. But, never having been exposed to software development discipline, these spreadsheets are brittle, single point of failure, solutions.
Our development group uses Oracle primarily with Java and some other technologies. Is there a tools for conversion from MS-Excel to Oracle? At least part way so we can get a head start and not just have to reverse engineer and rewrite?
There are tools that could convert the data, but trying to converting the formulas would cause the design to be inefficient at best and unusable at worst. The difference between spreadsheets and an Oracle database are similar to the differences between a home gardener and a farmer. Both are useful on their level and some of the same principles apply, but the techniques employed are entirely different.
I suggest you examine the spreadsheets until you understand the goals they are trying to meet and then architect a system in Oracle that meets those goals using the best techniques available in Oracle. The processing will end up being quite different, but the product will be significantly better for it.
You can suck a spreadsheet into MS Access, then push it directly into Oracle as a table (or append it to an existing table). I'm sure you could write an MS Access macro to do it.
It also appears to be possible using SQL Loader from Oracle, but I've never tried that myself.
No there aren't any tools that will covert the formulas or logic. You will have to do that the hard way. You can get the data into Oracle by exporting it as a CSV and using SQL Loader to import it into the database.
You can find tools to migrate the data, but other than that you wouldn't find a tool to automatically do this, you would have to do it all manually.
Even directly copying what was there would not make sense, you were using very limited tools (Excel), you would need to re-analyze the requirements, and possibly modify them before doing anything else.

Resources