2017-02-22 94 views
0

Позвольте мне перефразировать мой вопрос, так как не думаю, что я точно описал его.Дизайн базы данных домашних животных

Я пытаюсь определить лучший способ связать записи животных с соответствующей таблицей пород на основе значения в их поле видов. Домашние животные могут иметь более одной породы, если они представляют собой смесь. Будет ли такая настройка эффективной? Или есть лучший способ сделать это. Должен ли я отдельно разделить виды на отдельный стол?

Будет ли это осложнять присоединение результатов, поскольку я должен определить ценность видов, прежде чем знать, к какой таблице пород присоединиться?

Таблица Домашние животные:

id | name | species 
1 | Spot | Dog 
2 | Kitty | Cat 
3 | Chip | Dog 
4 | Sunny | Horse 

Таблица Породы собак:

id | breed 
1 | German Shepherd 
2 | Golden Retreiver 
3 | Black Lab 
4 | Boxer 

Таблица Cat Породы:

id | breed 
1 | Tabby 
2 | Persian 
3 | British Shorthair 
4 | Ragdoll 

Таблица pet_dog_breed

pet_id | dog_breed_id 
1  | 2 
1  | 4 

Таблица pet_cat_breed

pet_id | cat_breed_id 
2  | 1 

Спасибо!

+0

Не «сводная таблица», а скорее «много: множество таблиц отображения». Да. И вот несколько советов: http://mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table –

ответ

0

Таблица Домашние животные:

id | name 1 | Spot 2 | Kitty 3 | Chip 4 | Sunny

Таблица Породы:

id | breed | species 1 | German Shepherd | Dog 2 | Golden Retreiver | Cat 3 | Black Lab | Dog 4 | Boxer | Cat

Таблица pet_breed

pet_id | breed_id 1 | 2 1 | 4

Я хотел бы макет-й e в этой форме