| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Access > Иерархическая модель данных - счета |
| Автор: Gulf_Stream 7.3.2008, 20:06 |
| Всем привет! Есть БД, которая описывает финансовые операции. Далее эти опреации объеденяются в группы, эти группы объединяются в более крупные группы и т.д. Проблемы в том, что БД спроектирована человеком который плохо разбирался в БД, но хорошо разбирался в финансах ( обычная ситуина для провинции =) ) В итоге получилась такая струкутра БД: [ {Первый уровень} - одно текстовое поле- ключ] [ {Второй уровень} - ключ, внешний ключ на первый уровень, аттрибуты ] [ {третий уровень} - ключ, внешний ключ на второй уровень, аттрибуты ] и т.д. Каждая из этих таблиц заполняется отдельным запросом, который берёт данные в "общей" таблице, которая содержит непосредственно данные о финансовых операциях. В 2007 офисе, эта БД представляется в виде красивого иерархического списка, который "разворачиваеися" именно так как удобно экономисту. Т.е. сначала группы счетов, потом счета, потом субсчета и т.д. Т.е. всё красивенько, но ведь структура БД неправильная, и вылезают проблемы, напрмер если в "общую" таблицу вносятся изменения, то надо заново выполнять запросы, обновить "зависимые" таблицы. И вот он главный вопрос: как привести структуру БД к нормальной, но при этом сохранить удобство для людей которые будут ей пользоваться (показывать в виде иерархического списка). |
| Автор: shilnik 17.3.2008, 13:03 |
| Мне кажется, что при фиксированном количестве уровней такая структура таблиц вполне правильная. Обновлять таблицы при любом раскладе надо будет. Если кем-то меняются данные, то остальным надо перечитать таблицы, чтобы увидеть изменения. Что конкретно не устраивает в существующей структуре? |