I would start by writing down what you believe the database consists of:

1. The table structures -- write them down, commit them to paper.
2. The relationships you believe exist between the tables. Document them in writing and visually. Use whatever tool works for now -- don't make the mistake of allowing the tools to stand in the way of proper documentation. Use Visio (I know it isn't Linux or open source, but most people can master it fast.) Or just use pen, paper, ruler, and a nice old fashioned programmer's symbol template -- the kind that is made of plastic. (I actually used them for many years.) The point is, commit your knowledge to paper.

Now look at the code components.

1. Print and organize all the code that exists.
2. Study the code; determine how each component relates to the others. Diagram this program flow as above for the tables. Don't let lack of software stop you. Pen and paper is better than exactly nothing.

You may have to experiment with the code to determine the processing flow. Almost certainly you will, in fact.

As to learning MySQL and PHP, there is really only one good technical writer for MySQL: Paul DuBois. His book MySQL 3rd edition is a must-read. But even Paul is not a magician; you can't learn MySQL from a book alone. You need Paul's book, and the willingness to practice working with MySQL. Make yourself a user account, give yourself privileges on a play database, open his book, and go for it.

Of the various PHP writers, I really have great respect for Tim Converse and Joyce Parks. I suggest getting their excellent book on PHP 5. It's a shame they don't cover PHP 5.1, but get the book anyhow and play with it. As with MySQL, don't just read the book: start writing your own PHP code and playing with it.

Bob Cochran


Jeffrey Goldberg wrote:

This is probably a FAQ, but I haven't been able to find the answer.

Briefly, I am looking for tools that will help me document a database. Visualization would be nice too, so that I could quickly see the relations between tables.

Less briefly. I am new to MySQL, SQL in general and databases. I have inherited a project that uses, Apache, PHP, and MySQL. The MySQL Press book, MySQL Tutorial has been extremely helpful.

My predecessor, who did know something about MySQL, left no documentation. As I am trying to figure out what is what and what the relationships are between tables, I've got paper and pencil pictures, and a text file full of notes. But, mostly it is just an understanding -- for the parts that I understand -- in my head. Now I can always redraw my paper and pencil stuff with something like xfig, but it struck me that there is probably a standard, well conventional, notation for this kind of thing and tools for the purpose.

I'm a bit of a geezer and my memory isn't as reliable as it used to be. Plus, I don't want any successor on this project to curse me quiet as vehemently as I curse my predecessor.

So advice or pointers to advice would be very welcome. As for tools, I'd be looking for things that can run on Unix systems (GNU/Linux and/ or OS X). If I've hit the wrong list, I sure someone will tell me where to go.

Cheers,

-j




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to