9

I am quite happy to code out tables by hand when making a database but it's not the easiest way to convey information about a database to someone else, especially someone that's not so comfortable coding the tables via a script and would instead use something such at phpMyAdmin.

Is there thus a free program (for me to use it it'll have to work on a Mac but feel free to suggest PC apps for others with the same Q) or script (preferably in PHP or Python) that allows you to design database structure and will then output either a basic diagram or the code as chosen by the user?

Teifion
  • 108,121
  • 75
  • 161
  • 195

10 Answers10

8

Well on the PC you can use MS Visio to produce a DB Entity diagram.

It will even reverse engineer one from an existing Database.

A pain to set-up the first time you use it, but quite handy thereafter.

Matt
  • 935
  • 6
  • 16
6

Open System Architect has some potential. Its very similar to Visio.

user14308
  • 61
  • 2
  • http://www.codebydesign.com/SystemArchitect/downloads/ - there is a linux version. Unzip the gzipp'ed file then run bin/OpenSystemArchitect. If anyone can try this on a mac, I'd like to know the result. – David Medinets Sep 23 '08 at 00:24
3

I'm a big fan of ARGO UML from Tigris.org. Draws nice pictures using standard UML notation. It does some code generation, but mostly Java classes, which isn't SQL DDL, so that may not be close enough to what you want to do.

You can look at the Data Modeling Tools list and see if anything there is better than Argo UML. Many of the items on this list are free or cheap.

Also, if you're using Eclipse or NetBeans, there are many design plug-ins, some of which may have the features you're looking for.

S.Lott
  • 384,516
  • 81
  • 508
  • 779
  • 1
    ArgoUML has a nice web start ability located at http://argouml-downloads.tigris.org/jws/argouml-latest-stable.jnlp. Since it is Java-based it will run on nearly all platforms. – David Medinets Sep 23 '08 at 00:04
3

I use the aptly named Database Design Tool. It's extremely simple and unfortunatly it's developed any more, however. It's the best tool I've come across that is free and at the end of designing your tables, it generates the T-SQL for you. It's also language independent.

alt text

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
GateKiller
  • 74,180
  • 73
  • 171
  • 204
2

You could try out MySQL Workbench which originates in the open source dbdesigner. There's a free community edition available. You can design the database via er-diagrams or reverse engineer an existing database.

Chris M.
  • 651
  • 4
  • 19
2

MySQL Workbench is the best DB design tool that I've tried

Thang Nguyen
  • 1,161
  • 4
  • 16
  • 30
  • I have never try with other DB but I think it work well because you can export the design to a SQL file. You can use it to import to other DBs. – Thang Nguyen Mar 13 '10 at 04:25
2

I'm currently checking out SQL Power Architect (both w/ PostgreSQL and Mysql - but it also supports other vendors) and it definitely seems promising. Does both forward and backward SQL engineering. The Community Edition is open source and cross platform (Java). You can check it out yourself: http://code.google.com/p/power-architect/

When strictly dealing w/ MySQL so far I've otherwise used MySQL Workbench, http://wb.mysql.com/ which performed reliably.

maraspin
  • 2,353
  • 20
  • 16
1

I always have enjoyed Eclipse. There are a few plugins for it that look like they will do what you want.

GateKiller
  • 74,180
  • 73
  • 171
  • 204
Steve g
  • 2,471
  • 17
  • 16
1

SchemaBank (a web-based SaaS vendor) can turn your ER design into SQL statements for MySQL and PG. Can't do graphics export yet though. The nice thing is you don't need to install anything ('cos its browser-based) and it costs virtually nothing. You should be able to share your design to other people too.

Edison
  • 141
  • 1
  • 7
0

SQLDeveloper from Oracle can work with Oracle and MySQL database.

http://www.oracle.com/us/corporate/press/020861

Miro A.
  • 7,633
  • 2
  • 24
  • 21