Я новичок в настройке реляционных баз данных.
Я пытаюсь создать две таблицы в MySQL, таблицу USER и таблицу COMPANY.Оба должны иметь возможность иметь несколько телефонных номеров, связанных с ними, поэтому я создал таблицу PHONE и хотел иметь отношение «один ко многим» от КОМПАНИИ до ТЕЛЕФОНА и от ПОЛЬЗОВАТЕЛЯ до ТЕЛЕФОНА.
Там толькоКажется, в том, что я пытаюсь сделать, есть два варианта:
Хранить два внешних ключа в PHONE, один ссылающийся на COMPANY и один ссылающийся на USER.Они оба по умолчанию имеют значение NULL, и каждый, и при создании новой строки в PHONE, я бы заполнил только ту, которая мне нужна.
Есть две разные таблицы, USER_PHONE и COMPANY_PHONE.
Ни один из вариантов не кажется мне оптимальным.Вариант 1 кажется хакерским и подверженным проблемам с избыточностью.Второй вариант кажется довольно повторяющимся и ненужным.Я склонен думать, что вариант 2 - это «официальный» способ действий (начинаю задумываться, почему именно поэтому я слышу негативные отзывы о MySQL).
Кто-нибудь?Спасибо,
-Matt