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