List:General Discussion« Previous MessageNext Message »
From:Robert L Cochran Date:September 25 2005 10:44pm
Subject:Re: Documenting and visualizing a database
View as plain text  
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
>
>

Thread
Documenting and visualizing a databaseJeffrey Goldberg26 Sep
  • Re: Documenting and visualizing a databaseRobert L Cochran26 Sep
    • Re: Documenting and visualizing a databaseJeffrey Goldberg26 Sep
      • Re: Documenting and visualizing a databasePeter Brawley26 Sep
        • Re: Documenting and visualizing a databaseDaniel Kasak26 Sep
          • Re: Documenting and visualizing a databaseRaz26 Sep
            • Re: Documenting and visualizing a databaseDaniel Kasak27 Sep
              • Re: Documenting and visualizing a databaseRaz27 Sep
          • Re: Documenting and visualizing a databaseRaz26 Sep
            • Re: Documenting and visualizing a databaseGraham Reeds4 Oct
          • Re: Documenting and visualizing a databasePeter Brawley26 Sep
  • Re: Documenting and visualizing a databaseolinux3 Oct
    • Re: Documenting and visualizing a databaseLigaya Turmelle3 Oct
      • Re: Documenting and visualizing a databaseKevin Liu3 Oct
        • Re: Documenting and visualizing a databaseEdward Vermillion4 Oct