which database modeling tool I need use

Dear all database experts here:

I am a beginner of database design. I want to have a tool to draw ER - Diagram and make script to create Mysql or Oracle database. Which tool is good for it?

1. Navicat   http://www.navicat.com/download/navicat-premium

2. Enterprise Architect:  http://www.sparxsystems.com/products/ea/purchase.html

3. DBDesigner 4   http://www.fabforce.net/dbdesigner4/

Also, I am asking if I draw the ER diagram and normalize them, how could I verify my design is a good design?
Jason YuAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

slightwv (䄆 Netminder) Commented:
For Oracle I would suggest SQL Developer Data Modeler:

>>how could I verify my design is a good design?

If you can answer that, you could rule the world!  People make entire careers out of data modeling.

In my opinion:  there is no true way to tell.

Codd created the relational model and set up "rules" to achieve it:

There are also other models.

Dimensional for example:

and others...

In the logical world of relational databases, I don't know many that ever go past 3rd NF.

I know ever fewer that actually implement the logical model 100% in tact.

As long as your design can answer ALL question that can possibly be asked of the data, then it is a good design.

A good designer predicts the questions that might be asked of the data...  3rd NF should do that.

Better designers adjust the 3rd NF model to make answering the questions easier.

FYI:  I expect some disagreement from other Experts...

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Jason YuAuthor Commented:
Thank you a lot, it's really a good answer, but I am willing to hear more answers if possible. Any comments will be appreciated and encouraged.

Thanks in advance.
slightwv (䄆 Netminder) Commented:
>> I am willing to hear more answers if possible

I'm sure you will get additional posts.  EE is world wide so it will take some Experts time to see this thread.  Also, many Experts aren't as active around the week ends.  Give this a few days and I'm sure there will be more activity.
SolarWinds® IP Control Bundle (IPCB)

Combines SolarWinds IP Address Manager and User Device Tracker to help detect IP conflicts, quickly identify affected systems, and help your team take near instantaneous action. Help improve visibility and enhance reliability with SolarWinds IP Control Bundle.

crystal (strive4peace) - Microsoft MVP, AccessRemote Training and ProgrammingCommented:
> "how could I verify my design is a good design? "

while this book is geared to Access, designing a good structure is applicable to any database.  Read this chapter of Access Basics:

Normalizing Data

... and of course, ignore the Access-specific comments.  For the most part, however, it is generic.
DavidSenior Oracle Database AdministratorCommented:
I suspect there are places out there that use a model throughout the life of the application.  Never seen one myself, Likewise a text editor works fine for many document needs, and Microsoft Word is overkill.  SQL Developer is free with the Oracle product, and it is robust.  It's a great solution from slightwv.

Let me share just a couple of things from my experience.

Do your best to keep your data clean and standardized -- set up a dictionary, with rules about consistent abbreviations, syntax, data type, data length, and constraints.

In an ideal world I would store number (such as phones) without punctuation, and text as all upper case.  It eliminates case-sensitive misses in queries, and any SELECT statement can mask the content as needed (lower-case or upper-case or initial case, etc).
Data purging is rarely, rarely, thought through.  Just do it.  It may be necessary to keep seven years of email history.  Document the requirement, then enforce it.  Likewise, archive old data to keep your application from data creep.
Jason YuAuthor Commented:
Thank you guys, I got a basic idea of what a data modeler is and will start from here with my database design journal.

Have a nice thanksgiving for all of you!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.