Какой из них лучше? И почему?
Мне всегда нужны все данные, никогда не произойдет, что мне нужно только имя, а не "tool1, tool2"...
1) Допустим, у меня есть таблица "Вудс" и "ВудДата"
Внутри "Вудса" у меня:
И другая таблица "WoodsData"
поэтому выбор будет здесь, соединяя две таблицы!
2) Один стол "Вудс" выглядит так:
ПРИМЕЧАНИЕ: "tool1, tool2, tool3, tool4, tool5" должны перейти к 50 из них, я просто не хотел писать их все здесь: P
Я бы пошел с:
Woods
Инструменты
И затем соединительная таблица, чтобы показать, какие инструменты были использованы, на которых леса
Woods_Tools
Оба ошибочны, вы должны нормализовать данные: "tool1" to "tool50" должен быть "инструментом" в дополнительной таблице. Прочитайте что-нибудь о нормализации.
Мой совет - положить все в одну таблицу. Таким образом, вы будете иметь только один набор данных для вставки при вводе записи.
Если у вас есть две таблицы, вам нужно будет обновить две таблицы (кластерные индексы, если они представляют собой таблицы SQL Server с первичными ключами). Это может принести дополнительные усилия.
Если вам действительно нужны все данные (tools1..50) каждый раз, когда вы выбираете из таблицы, я думаю, что лучше использовать одну таблицу.
Лучшее решение - попробовать в обоих направлениях и измерить результаты. Это может не иметь никакого значения в любом случае.
Чтобы быть более нормализованным, отделите записи "инструмент" в третьей таблице
WoodsTool: