В настоящее время я планирую часть программного обеспечения для dogbreeders и я в сомнении о моей datadesign ... правильно ли я делаю что-то умное или глупое :)Родитель-ребенок таблица макет
Плана на момент один целостный «собака» таблица Сорта, как это ...
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
Мои вопросы, это общее, чтобы сделать это так или это действительно неаккуратно. Я могу видеть причину быстрого поиска, чтобы иметь его, но я действительно сомневаюсь, хорошо это или плохо в конце. Я думаю, что было бы лучше спроектировать, если бы у меня был rel-table на стороне с Id-связью, но я действительно сомневаюсь, насколько хорошо в любом случае.
Примечания стороны является то, что это будет только быть мне лично, глядя на данных, таким образом (или кто-то приняв проект от меня)
У меня есть концепция использования, было более любопытно, если бы это была хорошая идея, каково падение различных методов ее выполнения. – cyberzed
А я вижу. У меня было немного поиска по любым недостаткам для использования этого дизайна, но я не могу найти его. Я использовал его много раз в своих собственных проектах. –
Если эти нули для FatherId и MotherId означают «неизвестно», вы можете вместо этого сделать их NULL. В противном случае вам нужно будет сделать запись для Dog 0, неизвестного родителя, который тогда будет и матерью, и отцом. –