Это зависит, я думаю. Если вы запрашиваете марку автомобиля из таблицы ваших автомобилей A LOT, и я имею в виду A LOT , (это означает, что вы хотите узнать марку автомобиля, не зная модель, поэтому вы присоединяетесь к таблицам автомобилей и марок, не используя модель ) вы можете подумать о добавлении brandid в свою таблицу машин, чтобы присоединиться к таблицам Cars и Brand без использования таблицы Model.
Если у вас так много записей в вашей таблице автомобилей (опять же, я имею в виду Soo Many), (и я сомневаюсь в этом), вы можете рассмотреть вопрос об уменьшении размера таблицы путем удаления brandid и просто использовать Model table для доступа к брендам.
Но это не единственный случай. Если вы храните brandid в своей таблице автомобилей, вы не будете соблюдать основные правила нормализации базы данных.
То, что я упомянул, влияет на производительность, когда в таблицах более 10000 строк. Так что я уверен, что у вас все в порядке в обоих подходах.
Я бы определил только модельный FK в моей таблице автомобилей, так как нет необходимости иметь brandid, когда у вас есть modelid, и вы не беспокоитесь о производительности.