|
Одним из важнейших правил организации данных (хоть и не без исключений) - избегать множественных копий одной и той же информации. В домашней бухгалтерии повторяющиеся данные в первую очередь находятся в комментариях - чаще всего повторы можно и нужно исключить добавлением новых категорий расходов, источников доходов или тегов.
Но кроме этого, я всё чаще сталкиваюсь с другим примером двойного упоминания одного и того же "текста" - одноимённые места хранения и теги для родных, друзей и коллег и т.п. Без мест хранения не обойтись никак - иначе невозможно учитывать долги. Теги логично использовать с категорией расходов "Подарки" (и с ОДНОИМЁННЫМ источником доходов "Подарки", но сейчас не об этом :) В итоге получается, что в базе данных есть пары совершенно независимых объектов, представляющие одного и того же реального человека (семью, юр. лицо и т.п.).
Проблемы дополнительных усилий по организации нет - на крайне редкие создания, переименования или поддержание одинаковой или похожей сортировки требуется пренебрежимо мало времени. Я не призываю и не предлагаю ничего менять - только задуматься (как вы любите :) о том, можно ли как-то улучшить дребеденьги, учитывая то, что в бухгалтерии существуют такие зависимости.
Дополнительные примеры связи между объектами разных классов:
1. Категории расходов и источники доходов. По этому поводу уже было сказано достаточно.
2. Когда (если?) вы будете поддерживать историю курсов валют, для каждой валюты надо будет указать категорию расхода/источник дохода, в которые будут занесены расходы/доходы от обмена. Не в одну, не в автоматически генерируемую для каждой валюты, а в указанную пользователем.
3. Некоторые категории расходов могут быть связаны с местами хранения. Это актуально для учета текущей стоимости, расходов и доходов от перепродаваемых вещей, например "Недвижимость", "Автомобили".
|