Импортированные контакты - PullRequest
0 голосов
/ 26 июля 2011

Мне нужна таблица, в которой хранятся импортированные контакты (электронные письма) пользователей, что-то вроде адресной книги.

Теперь таблица выглядит следующим образом: import_contacts: id, user_id, email, etc....

Я подумываю создать table imported_contacts: id, email, etc и другую таблицу user_contacts: id, user_id, imported_contact_id, date, etc, чтобы избежать дублирования электронных писем в таблице import_contacts.Так что с новой идеей я сохраняю в import_contacts все импортированные электронные письма в другой таблице user_contacts Я сохраняю отношения между пользователями и import_contacts.

Это полезная идея?

1 Ответ

2 голосов
/ 26 июля 2011

Если я правильно понимаю, если два пользователя добавляют один и тот же контакт, он сохраняется в одной строке таблицы, и оба пользователя видят одну и ту же строку.

Я вижу две проблемы с этим:

  1. если один пользователь обновит электронную почту (или любую другую информацию о контакте), информация также будет выглядеть обновленной для второго пользователя, и начальная информация второго пользователя будет потеряна.

  2. Я не знаю, храните ли вы другие поля, кроме электронной почты, но если вы это сделаете, вы должны учитывать, что они могут иметь разные значения, в зависимости от пользователя; например, если вы сохраняете имя контакта, первый пользователь может написать полное имя контакта, а второй пользователь - псевдоним старшей школы.

Теперь это действительно зависит от того, для чего используется это приложение. Если это только для внутреннего использования одной компанией, например, их клиентской базой данных, тогда может быть полезно, чтобы какие-либо изменения распространялись на всех пользователей, поэтому проблемы нет. 1 не будет проблемой. Но иначе это было бы не так.

...