Пусть у меня есть две таблицы, таблицы A и таблицы B, и эта таблица A имеет следующие столбцы:SQL внешнего ключа на первичный ключ или уникальный колонке
COLUMNS (id INT PRIMARY KEY, name VARCHAR(200) UNIQUE)
Я хочу, чтобы создать столбец в таблице В, ссылается на строку таблицы A с использованием внешнего ключа. Большую часть времени, когда я просматриваю строку в таблице B, я также хочу получить поле имени в строке таблицы A, на которую оно ссылается. Проблема поиска (но не вставок) вызывает беспокойство.
Было бы лучше использовать первичный ключ таблицы A в качестве внешнего ключа, а затем использовать JOIN для ввода значения поля имени или было бы лучше использовать поле имени в качестве внешнего ключа, так что что эти данные уже присутствуют при поиске строки в таблице B?
Если вы сохраняете значение имени в TableB, то в чем заключается смысл иметь TableA в первую очередь? – JNK
имя имеет разную семантику в таблице A и таблице B; в таблице A это имя другого объекта, связанного с строкой в таблице B – mskel
ОК, но то, что я получаю, вам нужно использовать 'id', иначе наличие таблицы поиска бессмысленно. – JNK