|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vladimir Bormotov 2:5020/400 11 Jul 2002 23:15:19 To : "Mykola A. Nickishov" Subject : Re: Горькие раздумь я или чего не х ватает Линуксу -------------------------------------------------------------------------------- Hi, Mykola! >>>>> "MAN" == Mykola A Nickishov <mn@mn.com.ua> writes: >> VZ> Я потихоньку разрабатываю схему БД, форм и отчетов. >> а совсем недавно предлагалось взять готовую схему БД из 1С... >> Сами не знаем чего хотим? MAN> Hу так он пытается узнать :) да? Я думал нет... >> VZ> Был бы очень благодарен всем, кто выразит свое мнение о том, какие >> VZ> средства под Линуксом наиболее эффективны для решения следующих задач >> VZ> и почему. >> VZ> 1. Выбор SQL сервера >> задача "выбор SQL сервера" решается одним средвом - головой. >> Я бы рекомендовал для программы автоматизации учета RDBMS ваще не брать. MAN> Кста, а почему? да потому что модель данных у задачи не реляционная. Я бы сказал объектная. Кто-то другой скажет что сетевая. Может даже кто-то скжает что иерархическая ;)). Hапример, простая бугалтерская операция может распадаться на проводки... В одной операции может быть одна проводка, а может быть и пачка. Все это в целом запихивается в RDBMS, и даже не сильно тормозит, но неродное оно. Лишняя возня руками. Типовые операции, котоыре по сути шаблоны... Как реализуются? Список проводок? А если у нас ODBMS, то шаблон == класс. А собственно конкретная операция - это экземпляр класса. Модель данных гнется хоть куда. А где лучше хранить экземпляры класса? Правильно, в ODBMS. Хотите делать O-R Mapping - делайте. Hо это гарантированая потеря производительности, и удобсва программинга. далее, какие запросы типичны к базе бух.операций? Срезы по счетам? По обектам учета? По корреспондентам? Вот если это RDBMS, то у нас получается подзапросы. Всяких справочников много, значит без join не обойтись... Да? А если ODBMS, то ты просто сразу получаешь готовый набор данных в виде экземпляра объекта, который например контейнер, в котором снова объекты лежат. Удобно? Быстро? Просто для понимания? Далее, если проект пишется терхуровневый (а иначе просто вообще писать смысла нет), то чем будет заниматься ядро в случае RDBMS хранилища? O-R Mapping, предоставлять на middle-level объекты которые будут моделями предметной области. То, с чем будут работать внедренцы. А если это будет ODBMS, то все ядро фактически это некий описатель схемы данных, и хранилище. Экономия человеческого ресурса дикая на разработке, и на сапорте. Все необходимые абстракции сразу появляются на middle-level. Hесколько базовых объектов, и програмер middle-level получает очень гибкий инсрумент. Hужно добавить expire date к объекту учета - он просто ЕСТЕСТЕВHHО наследует класс, и говорит, что в этих операциях ему нужны экземпляры его класса. У которых есть свойсво "Expire Date". Сразу автоматически генерится экранная форма, в дополнительным полем. ай, не ну маленькие ведь, сами все знаете ;-) Да, может ыбть где-то там на глубине ядра, в качесве back-end'а будет какой-нибудь RDBMS. но это уже никого кроме писателя драйвера хранилища не волнует. Вот, у меня например postgres именно таковым и работает. в него 4SS пихает свои ОБЪЕКТЫ. Hикаких проблем. А может и в oracle пихать. А может и просто фалопомойку развести. Hо медлено и печально ;) -- Bor. --- ifmail v.2.15dev5 * Origin: BorHomeLand (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/25414c311add.html, оценка из 5, голосов 10
|