про 2 хотелось бы поподробнее. как это так вышло, что успешная покупка может как повысить так и понизить рейтинг? нужны условия. но в целом это конечно не сильно на что-то влияет ну а 3 - как надо так и делай, почему задаешься этим вопросом?
Можно, но только если она нужна. А если не нужна, то это просто усложнение :)
ну если есть бизнес-требование "не более 1 рассылки на юзера" - то можно просто добавить в юзера флаг "рассылка была". и все. как самое простое решение. а если это норм - что можно 5 раз в день рейтинг кинуть 5->4->5->4->5 и получить 3 одинаковых опроса - ну ок, чож. пусть так) тебе же виднее, как должно быть.
Поищи готовый, возможно кто-то уже использовал это до тебя. А вообще в XSD умеет любой XML парсер. Загружаешь в него XSD схему, он возвращает модель. Ну вообщем по документации не сложно понять как это использовать и для чего.