Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проектирование БУ
|
|||
|---|---|---|---|
|
#18+
В проектирование БД я создал топик http://www.sql.ru/forum/actualthread.aspx?tid=516822 решил его продублировать еще здесь т.к. я думаю что люди пишущие под cache могут мне подсказать в каком направление двигаться (сам я использую ООБД отличную от cache). Вопрос состоит в том как правильно спроектировать классы для задачи бухгалтерского учета с учетом что хранение данных будет производиться с помощью ООБД т.е. классы лягут в базу. Например нужен ли отдельный хранимый класс доступный из вне под проводку (полупроводку)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2008, 15:17 |
|
||
|
Проектирование БУ
|
|||
|---|---|---|---|
|
#18+
>>И теперь собственно вопрос, а как под нее спроектировать часть связанную с хранением проводок, остатков по счетам и т.п. Хранение проводок, остатков по счетам, справочника самих счетов - реализуется на Таблицах, которые в Каше являются прямым отображением Классов, что позволяет помимо самой структуры таблиц инкапсулировать в класс методы и хранимые процедуры - по обработке проводок. Где светяться объекты - так это документы по которым собственно производится учет. В терминах ООП объявляется абстрактный класс (можно не один) - документ, который инкапсулирует в себе минимальный набор полей ,методы разноски документа по интересующим нас счетам, методы движения, возвратов, формирования серийных номеров и т.д. и т.п Существующие документы можно вводить наследованием от этого класса, с добавлением необходимых полей - львиная доля функционала по учету и движению данного документа будет работать автоматически блогодоря наследованию. С самими документами проще работать как с объектами - не забывая конечно о том что при необходимости можно работать и как с таблицей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 08:23 |
|
||
|
Проектирование БУ
|
|||
|---|---|---|---|
|
#18+
Большое спасибо за ответ. Использование ОО подхода для документов понятно. А вот часть которая касается проводок остатков похоже ни какой выгоды от ОО не получит, а жалко... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 13:03 |
|
||
|
Проектирование БУ
|
|||
|---|---|---|---|
|
#18+
ln123А вот часть которая касается проводок остатков похоже ни какой выгоды от ОО не получит, а жалко... Звучит как приговор... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 13:07 |
|
||
|
Проектирование БУ
|
|||
|---|---|---|---|
|
#18+
Ну для проводок я лично смысла не вижу ... их много - большинство операций производяться над наборами записей, а не над одним объектом. Вот схему счетов или так называемую "фабрику" разноски на объектах сделать можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 13:48 |
|
||
|
Проектирование БУ
|
|||
|---|---|---|---|
|
#18+
krvsa Звучит как приговор... К сожалению ни кто еще не предложил, как можно использовать свойства ОО (ну или сетевой модели данных) для этой части. Может у вас есть идеи? На самом деле очень интересно как данную задачу можно спроектировать используя друиге структры хранения чем реляционные таблицы. По идеи учитывая что сетевая модель старше чем реляционная такие решения должны сущестовать и очень интересно на них было бы на них посмотреть... Ptn Ну для проводок я лично смысла не вижу ... их много - большинство операций производяться над наборами записей, а не над одним объектом. То что проводок много и меня вгоняет в ступор :) Как то противоестественно для меня думать о каждой проводке как об отдельном объекте. Правда самая частая операция которая производится над набором записей проводок это их выборка и агрегация, вот и возникает вопрос а может это можно было бы делать как то иначе без проводок? Для затравки попробую привести часть своих мыслей которые у меня стали возникать когда я стал смотреть на эту задачу через призму ООП. И так такого понятия как проводка в принцыпе не существует для БУ имет значение понятие остака на счете на дату и оборотов по счету. Таким образом мы имеем объект счет который может вернуть свой текущий остаток и остаток на любую дату, остаток на счете может меняться с помощью документов, должна веститсь история изменения значения счета что бы мы могли его возвращать на дату (тут собственно и возникает нечто вроде полупроводки, но угол зрения несколько другой не что сродни ведению истории изменения значения и способы хранения здесь могут быть весьма различны т.к. ООБД в этом нам предоставляют большой выбор)... В такой структуре мы можем легко отвечать на вопрос по поводу суммы на счете, оборотов по счету (один остаток минус другой). Проблемы возникают при проведение документов задним числом (на мой взгляд тут ничего не разрешимого нет), трудно ответить на вопрос о том какие проводки сформировал документ но мы можем сказать какие счета он изменил и на сколько, не разрешимой проблеммой в данной структуре является ответ на вопрос каая сумма была переданна с одного счета на другой... Вот такие вот мысли на тему :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 14:19 |
|
||
|
Проектирование БУ
|
|||
|---|---|---|---|
|
#18+
ln123Может у вас есть идеи? У меня не большей опыт в бухгалтерских делах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 14:25 |
|
||
|
Проектирование БУ
|
|||
|---|---|---|---|
|
#18+
ln123 На самом деле очень интересно как данную задачу можно спроектировать используя друиге структры хранения чем реляционные таблицы. Ну ... в случае Cach'e как минимум расположить проводки в дереве... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Запросы по проводкам в подавляющем числе случаем выполняются- для счета и периода - объем данных будет меньше - агрегаты считаются "быстрее" - структура прозрачно отоброжается на SQL - то есть SELECT-ы делать можно. Вот новые индексы просто так не добавишь - другой вопрос что нужно крепко подумать, а потребуются ли они... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2008, 14:36 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35081944&tid=1559034]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 397ms |

| 0 / 0 |
