Eliot,
The M:1:1:M relationship between Categories:CatLinks:Links is not a true M:M relationship.
One link in the Categories table is _NOT_ related to many links in the Links table. In fact, it's not related to _any_ links in the Links in the links table, and vice versa.
Looking at CatLinks, doesn't help much, since it's nothing more than a mapping between two other tables.
There are certainly advantages using a relationship table between two other tables, but that is still a 1:M or M:1 relationship between any two tables.
Anyway, every solution has compromises, and breaking rules of normalization often is done for performance reasons. A fully normal database may perform poorly, while one that is partially normalized performs extremely well.
PUGDOGŪ Enterprises, Inc.
FAQ:http://LinkSQL.com/FAQ
Plugins:http://LinkSQL.com/plugin
The M:1:1:M relationship between Categories:CatLinks:Links is not a true M:M relationship.
One link in the Categories table is _NOT_ related to many links in the Links table. In fact, it's not related to _any_ links in the Links in the links table, and vice versa.
Looking at CatLinks, doesn't help much, since it's nothing more than a mapping between two other tables.
There are certainly advantages using a relationship table between two other tables, but that is still a 1:M or M:1 relationship between any two tables.
Anyway, every solution has compromises, and breaking rules of normalization often is done for performance reasons. A fully normal database may perform poorly, while one that is partially normalized performs extremely well.
PUGDOGŪ Enterprises, Inc.
FAQ:http://LinkSQL.com/FAQ
Plugins:http://LinkSQL.com/plugin