@Crunkor

Правильно ли ставить внешние ключи на поле ID?

Есть 2 таблицы

Таблица 1
id - автоматически генерируемое поле
field1 - уникальное поле таблицы

Таблица 2
id - автоматически генерируемое поле
table1_field1 - ссылка на уникальное поле таблицы 1. Не уникальное в таблице 2.
field2 - уникальное поле таблицы

Как правильно организовать связь между таблицами?
Будет ли разница между внешним ключом поля table1_field1 таблицы 2 на поля id и field1 таблицы 1?
id - цифровое, а field1 - строковое поле. Это может иметь значение?
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
alekciy
@alekciy
Вёбных дел мастер
Судя по всему у вас id это суррогатный PK. Есть есть уникальное поле field1, то держать в таблице суррогатный PK имеет смысл только ради удобства человека, в остальном он совершенно не нужен. С таблицей 2 ситуация аналогичная.

Как правильно организовать связь между таблицами?

Если один-ко-многим, то поля table1_field1 достаточно.

Будет ли разница между внешним ключом

О какой разнице речь? В такой формулировке как у вас, то нет, не будет.

id - цифровое, а field1 - строковое поле. Это может иметь значение?

field1 случайно не UUID? В большинстве случаев разницы не будет. Все равно на них вешать индекс.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы