I'm also an autodidact on DB design, although it's well more than a year now.
If you are planning to clean up the design, I strongly suggest getting a visual
tool. Google for something like "database design tool". Some are extremely
expensive (e.g. ERwin, which I think is renamed having been bought out).
There's a very cheap shareware one that I won't mention by name because it
crashed my machine consistently. Right now I'm using "Case Studio", which has
some very eccentric UI (no one enforced consistency of UI across modules, which
is rather ironic in a design tool) but capable and user-extensible. ERwin's
manual also had the best explanation of denormalization I've read, short and to
the point.
The ability to make schema revisions quickly lets me concentrate on
*better-written queries* and *improved table definition* without having to
overcome inertia.
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match