Any experienced database person will probably tell you that reaching 
fifth normal form usually makes your database cumbersome to work with. 
Though in theory is the best setup.
It looks like you are trying to create a cascading structure, which I 
think is one of the harder database designs to grasp. The most common 
"cascading" database design is a discussion board. There appears to be a 
lot of similarities between what you are trying to do and a discussion. 
I would look up a tutorial on creating a basic discussion board, there 
should be a bunch of them on the web.
You are right that you are starting down the wrong road in your design. 
Any database design should be able to expand without hitting a limit 
because of design.
In your example, you seem to be basically classifying almost all your 
data into a code and a description. Each entry may have a parent entry.

This table structure would give you essentially unlimited depth:
RecordID | ParentID | DataID

ParentID contains the RecordID of another entry in the same table. 
DataID is a link to another table that contains the human readable form 
of the data. A NULL ParentID entry indicates you are at the "first 
level" or A level in your case. You may want to use something else than 
NULL in the ParentID column to represent "no parent". I usually use a 
zero since this is typical a an unsigned int column. A NULL then denotes 
some sort of error.
To compile all your information you create a loop to traverse up or down 
the tree.

Hope that gets you started.

On Saturday, September 7, 2002, at 05:56 PM, Thoenen, Peter Mr. EPS 
wrote:

> After a year of doing database programming, try to actually normalize.  
> Read
> a couple online tutorials (phpbuilder, devshed) and the book mysql 2nd
> edition and it just can't seem to stick.  Understanding the 
> concept/theory
> but freeze up every time I try to implement.  Trying to go from 
> 0NF-->3NF
> (though I can't even really get to 1NF :) ... not worried about 4NF or 
> 5NF.
--
Brent Baisley
Systems Architect
Landover Associates, Inc.
Search & Advisory Services for Advanced Technology Environments
p: 212.759.6400/800.759.0577


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to