Начинаете с простого - выделяете объекты - "пользователи, группы пользователей, дома, жильцы, коммерческие предложения, поставщики, и тп."
Затем наделяете их свойствами:
у пользователя есть свой логин, пароль, уровень доступа к бд (айди группы)...
Все это делается при участии заказчика, выясняете, что ему нужно, он подписывает, чтобы исключить "а авайте добавим еще..."
Затем уже без заказчика строите взаимосвязи: "В доме - несколько квартир. У конторы жкх - несколько домов."
И удаляете повторяющиея свойства. Поставщик А имеет свой email, в коммерческом предложении поставщика А не должно быть email.
Затем думаете над временем извлечения, если для выборки нужно делать сложный запрос, состоящий из 10 таблиц, то не лучше ли свойства продублировать в двух а может и трех таблицах? Находите баланс -)
и по мелочи:
Все свойства записываете как поля, там же прописываете названия ключей и внешних ключей. Продумываете затем разные детали - автонумерацию, автозаполнение, но это уже можно поправить по ходу пьесы.