Какой вред, если таковые имеются, чтобы связать все дочерние таблицы как внешние ключи со всеми таблицами над ними в иерархии? У меня есть компонент местоположения с 6 таблицами поиска:
- Континенты
- Страны
- Регионы
- Города
- Окрестности
- Тип местоположения
Очевидно, что каждый уровень местоположения является дочерним по отношению к вышеперечисленному, поэтому он будет использовать внешний ключ для родителя, но какой вред, если я добавлю все эти ключи вместе, то есть в таблице городов есть:
Городской стол
- continent_id (от ФК до материка)
- country_id (фк к стране)
- region_id (fk to region)
против только 'region_id-fk to region'?
Преимущество, которое я вижу на своем пути, заключается в том, что если мне нужно искать города на континенте, я могу переходить непосредственно из города на континент, не переходя в регион, страну, затем континент, но, конечно, я не уверен в недостатках или если это влияет на производительность или что-то еще?
Это один набор таблиц. У меня есть много таких таблиц, поэтому я пытаюсь понять концепцию, чтобы я мог использовать ее для разработки других таблиц, в том числе и для других моих компонентов, которые представляют собой нечто большее, чем 6 справочных таблиц.