I'm currently planning a piece of software for dogbreeders and I'm in doubt about my datadesign...whether I'm doing something smart or stupid :)
The plan at the moment is one holistic "dog" table sorta like this...
Id | Name | FatherId | MotherId
-------------------------------
1  | A    | NULL     | NULL
2  | B    | 1        | NULL
3  | C    | NULL     | NULL
4  | D    | NULL     | 3
5  | E    | 1        | 3
6  | F    | 5        | 2
7  | G    | 4        | 3
My questions is, is it common to make it like this or is it really sloppy. I can see a quick lookup reason to have it but I'm really in doubt whether it's good or bad in the end. I thinking it would be better designed if I had a rel-table on the side with Id coupling, but I'm really in doubt how well any of the cases are.
A side note is that it'll only be me personally looking at the data this way (or someone adopting the project from me)