У меня есть концептуальный вопрос.SQL-таблица ИЛИ поле
В моей базе данных есть таблица, в которой хранится информация о людях. Одним из его полей является их номер телефона (8 цифр для моей страны).
Дело в том, что в некоторых случаях у двух или более человек будет одинаковый номер телефона.
Мой вопрос: будет ли лучший выбор хранить номера телефонов на другой таблице, а затем ссылаться на него с помощью внешнего ключа, а не просто хранить их как поле? Если это так, будет ли результат одинаковым для любого размер БД?
Я не знаю, будет ли это иметь значение, но таблица будет содержать не более 600 000 - 800 000 записей, и я думаю, что совпадающие номера телефонов будут составлять около 10% от общего количества записей.
EDIT:
-Каждый запись может иметь до 4 телефонных номеров (две строки и две ячейки)
ОБЕ случаи будут происходить, будет иногда, когда пользователи будут искать все люди, имеющие конкретный номер, и время, когда пользователь захочет узнать, что все номера телефонов у человека есть
Если у вас есть только один номер телефона для пользователя, вы можете сохранить его как есть. – Alex
Извините, я не сказал этого, я отредактировал вопрос. У каждого человека может быть до 4 номеров –
Я задал бы этот вопрос. Если число изменится для одного пользователя, это будет означать изменение числа для всех пользователей с одинаковым номером? Если это так, я бы использовал отдельную таблицу. В противном случае это кажется маловероятным. – dan08