Я бы предложил реляционную базу данных.Ваш проект кажется достаточно простым, чтобы иметь дело с правильными таблицами с правильными отношениями.Я бы держался подальше от XML, поскольку данные будут согласованными.XML лучше подходит для данных с непредсказуемыми структурами, такими как, например, семейное древо.База данных будет работать лучше, и ее будет легче поддерживать.Кроме того, проще составлять отчеты по данным, когда они находятся в RDB, а не в формате XLM.Рекомендуется кодировать с учетом масштабируемости.Если вы управляете контактами, я могу гарантировать, что в какой-то момент им понадобится несколько телефонов.
Модель списка смежности лучше подходит для случаев, когда у вас растет число свойств, но структура проста.Например, профиль, в котором у вас есть n вопросов и ответов, но все они привязаны к одному пользователю.