Как хранить многозначные атрибуты в базе данных? - PullRequest
1 голос
/ 16 марта 2012

Например, хранение разных телефонных номеров, с которыми можно связаться.Если я не хочу, чтобы моя база данных была ограничена разрешением фиксированных, скажем, 6, чисел на человека, тогда, похоже, единственным решением проблемы будет отдельная таблица и несколько записей для одного человека.например,

person1, p1number1
person1, p1number2
person2, p2number1
person1, p1number3
.
.
.
...

и т. д.Но в практическом сценарии этот вид таблицы может стать очень большим.Так лучше ли этот подход или вообще не следует думать о сохранении многозначных атрибутов в СУБД?

Ответы [ 2 ]

1 голос
/ 16 марта 2012

Это совершенно нормально; разбивать новую таблицу лучше, чем добавлять бесчисленные поля в существующую, IMO. Обычно это делается с помощью FK, указывающего на person_id, скажем. С практической точки зрения, эти таблицы не имеют большого размера.

Это просто больше работы.

0 голосов
/ 16 марта 2012

Вы всегда можете вернуться к значениям, разделенным запятыми, если вам не нравится отдельная таблица.

...