Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
guest_20040621Модератору: сообщение не флейма ради, но исключительно сохранения статус кво для. > Честно говоря теперь вы произвели на меня впечатление просто канцеляриста, Дружище, мне абсолютно наплевать, какое впечатление я на Вас произвел и почему. Не нужно прятать за словоблудием недостаток знаний. Не нужно браться за работу, которую Вы представления не имеете как делать. Не нужно использовать обсуждение для получения работы. Хотите кушать - есть форум "работа", там и развлекайтесь. Пожалуйста, не утруждайте себя комментариями, - потратьте это время с пользой, например, прочтите что-нибудь полезное. Народ, а вот не флейма ради, а ради истины, прошу высказаться по поводу этого выпада. Думаю, польза будет для всех! Мы еще наверное не до конца осознали прелести века интернет. Лично я в своей работе много раз сталкивался с тем, что первая догадка не приводит к решению задачи и когда задача все-таки решена, то от первой догадки это достаточно далеко, такой вот получается итеративный процесс. Тут сошлись мнения разных людей и вобщемто не по одному вопросу. Почему бы думающему человеку не высказаться, даже если вопрос выйдет за чисто технические рамки. Почему бы не устроить такой вот эксперимент, быть может каждый в нем что-то сумеет открыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2005, 19:20 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
А пока коллеги флеймят продолжаю реализацию ОО над РБД. ;) Закидываю данные в MySQL. Для хранения данных исользую тип BLOB. Судя по пробным тестам работает очень быстро! Тормоза проявляются при большом когичестве строк в результируюющей таблице. Т.е. когда запрос выдает более 50000 строк время ощутимо (4 сек) (Cel-400 / ОЗУ 256M) Кстати все данные хранятся в одной таблице, как и предполагал сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2005, 19:57 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Когда оптимизировал запросы, задумался над структурой БД... А ведь есть таблицы сруктура которых не меняются! Справочник городов, улиц, классификаторы... То есть гибкость сруктуры им не нужна. Следовательно их следует вынести в отдельные таблицы. ...для скорости выборки. Что касается ОО-модели - по моему мнению - это ЛОГИЧЕСКАЯ модель и она может быть реализована в реляционной базе. Мне представляется процесс так: рисуем модель (или описываем каким-либо языком) - логическая модель и по схеме (или описаниям) генерируем структуру БД, процедуры и интерфейс - физическая реализация. Для объектов с нежестко заданными свойствами (как товары в магазинах или услуги) используем универсальное хранилище. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2005, 20:16 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
adiskА пока коллеги флеймят продолжаю реализацию ОО над РБД. ;) Закидываю данные в MySQL. Для хранения данных исользую тип BLOB. Судя по пробным тестам работает очень быстро! Тормоза проявляются при большом когичестве строк в результируюющей таблице. Т.е. когда запрос выдает более 50000 строк время ощутимо (4 сек) (Cel-400 / ОЗУ 256M) Кстати все данные хранятся в одной таблице, как и предполагал сделать. Выскажу свое субъективное мнение: Вы, коллега избрали не самый оптимальный способ хранения значений разных типов(BLOB). Это ведь проблемы вашего программирования, стоит ли уклоняться от решения проблемы на более серьезном уровне, т.е. Integer - в одной таблице, Float - в другой и т.д. Дальше просто уметь переходить по ссылке к нужному значению в соответствующей таблице...и тут просто нужен опыт программирования и он получается от конкретных проектов "а не от сырости"! Хочу пожелать вам не уклоняться от наилучших способов (по-вашему) решения, а не тех, которые из=за лени и это окупится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2005, 20:18 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Programmer_OrtodoxВыскажу свое субъективное мнение: Вы, коллега избрали не самый оптимальный способ хранения значений разных типов(BLOB). Это ведь проблемы вашего программирования, стоит ли уклоняться от решения проблемы на более серьезном уровне, т.е. Integer - в одной таблице, Float - в другой и т.д. Дальше просто уметь переходить по ссылке к нужному значению в соответствующей таблице...и тут просто нужен опыт программирования и он получается от конкретных проектов "а не от сырости"! Хочу пожелать вам не уклоняться от наилучших способов (по-вашему) решения, а не тех, которые из=за лени и это окупится. Коллега, а как у Вас это реализовано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2005, 20:31 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Еще одна ссылка по теме ОО и РБД: http://www.osp.ru/os/2002/09/057_print.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2005, 09:14 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
adiskА пока коллеги флеймят продолжаю реализацию ОО над РБД. ;) Закидываю данные в MySQL. Для хранения данных исользую тип BLOB. Судя по пробным тестам работает очень быстро! Тормоза проявляются при большом когичестве строк в результируюющей таблице. Т.е. когда запрос выдает более 50000 строк время ощутимо (4 сек) (Cel-400 / ОЗУ 256M) Кстати все данные хранятся в одной таблице, как и предполагал сделать. Ну так мы увидим уогда-нибудь select для обьединения таблиц, коллега ? И, кстати, подскажите, какой процент дискового пространства вы теряете в среднем, храня все атрибуты в одной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 01:58 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Вот и схема родилась. (см. вложение) На расунке нет истории (версионности) и доступов. Пояснения в статье: http://www.osp.ru/os/2002/09/057_print.htm Таблицы реляционной базы формируются из метаданных, созданных по ОО-модели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 05:43 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
adisk, Вы поразительно внимательно читаете то, что Вам пишут!! Я сам изначально писал, что универсальное хранилище нужно для часто изменяющихся значений. Вы теперь гордо пишите: "То есть гибкость сруктуры им не нужна. Следовательно их следует вынести в отдельные таблицы. ...для скорости выборки. Для объектов с нежестко заданными свойствами (как товары в магазинах или услуги) используем универсальное хранилище." Вам про это изначально и говорили!Поздравляю с прозрением!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 09:34 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Всех с наступившим новым годом! (сегодня первый день на работе и только добрался до и-нета) Желаю всем всяческих (и особенно - творческих) успехов в этом году! :) Тема, на мой взгляд, явно подразделяется на несколько вопросов и обсуждение хаотично мечется между ними :) Вопросы получаются следующие: 1) Возможно-ли сделать ЭТО - "универсальное" "объектное" хранилище "метаданных" и данных в одной "структуре" - "систему" на основе существующих реляционных СУБД? 2) Зачем нужна (или может понадобится) такая система?) 3) Кому нужна (или может понадобится) такая система? 4) Есть-ли на рынке коммерческие или свободные прогр. продукты подобной функциональности, и если есть то почему они вам/нам не подходят? 5) Как можно практически реализовать отдельные элементы такой системы (или всю ее целиком)? 6) ... правильно-ли я делаю вот так в своем ХХХ-варианте (или "а я пробую вот так делать...")? 7) Есть-ли смысл дальнейшего обсуждения темы в прежнем виде здесь или стоит желающим организовать нечто большее в какой-либо другой форме? Ниже попробую сформулировать свои ответы хотя-бы на некоторые из этих вопросов. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 13:20 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
о хранении мета-данных: вы будете смеяться, но в мс скл, к примеру, есть таблица sysobjects в которой хранится описание всех объектов БД, syscolumns в которой хранится описание колонок всех таблиц, есть другие сис.таблицы, большинство (многие) компонентов доступа предоставляют функции для получения данных о структуре. Для 1ц хранение мета-данных в своём формате оправдано возможностью использования разных хранилищ данных (версии для мс скл и дбф работают внешне совершенно одинаково). Тяга к созданию объектных БД в большинстве других случаев вероятно объясняется нежеланием учить скл. А ведь придётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 13:38 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
to 1024: смеяться не будем. Про это уже писали чуть ниже.Эти супер-таблицы называются Словарь БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 14:15 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
> 1) Возможно-ли сделать ЭТО - "универсальное" "объектное" хранилище > "метаданных" и данных в одной "структуре" - "систему" на основе существующих > реляционных СУБД? Возможно. Но - не нужно. > 2) Зачем нужна (или может понадобится) такая система?) > 3) Кому нужна (или может понадобится) такая система? > 4) Есть-ли на рынке коммерческие или свободные прогр. продукты подобной > функциональности, и если есть то почему они вам/нам не подходят? После ответа на первый вопрос ответ на эти смысла не имеет. > 5) Как можно практически реализовать отдельные элементы такой системы (или > всю ее целиком)? Зависит от задачи и способа реализации. > 6) ... правильно-ли я делаю вот так в своем ХХХ-варианте (или "а я пробую вот > так делать...")? Хотелось бы видеть не такую постановку вопроса, а такую: "нужно получить то-то и то-то, сделав так, как советуют [список источников], не смог решить такую задачу [описание проблемы]. Обсуждать поделки с измышлениями - не интересно. > 7) Есть-ли смысл дальнейшего обсуждения темы в прежнем виде здесь или > стоит желающим организовать нечто большее в какой-либо другой форме? Хех, какая разница, где обсуждать? - было бы что обсуждать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 15:00 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
"Тяга к созданию объектных БД в большинстве других случаев вероятно объясняется нежеланием учить скл. А ведь придётся" to 1024: ... а тяга к использованию RAD объясняется нежеланием учить Assembler?! Интересно, многим ли пользователям этого форума "пришлось" освоить и использовать его (Assembler) для создания своих систем??? :) to guest_20040621: > Возможно. Но - не нужно. Если Вам это не нужно - зачем здесь флудить? А то складывается впечатление, что Вам все-равно что обсуждать, лишь-бы что-то написать. :) > Хотелось бы видеть не такую постановку вопроса, а такую: "нужно получить то-то и то-то, сделав так, как советуют [список источников], не смог решить такую задачу [описание проблемы]. - ... а еще хотелось-бы кругленький счет в швейцарском банке, виллу на канарах, личный самолет... :) >Обсуждать поделки с измышлениями - не интересно. - Не интересно - не обсуждайте! Разве кто-то заставляет? Нравится другая форма постановки вопроса/проблемы - ставьте! Только не надо таких поучений и ответов "не нужно, бессмысленно"- здесь все-таки не школьники общаются. До сих пор я был о Вас более высокого мнения (хотя наверняка мое мнение Вас и не интересует :) В дальнейшем на подобные провокационные :) посты отвечать не буду. Давайте лучше по делу говорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 15:47 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
> Если Вам это не нужно - зачем здесь флудить? А то складывается впечатление, > что Вам все-равно что обсуждать, лишь-бы что-то написать. :) Хм... да не было желания флудить. Вроде кто-то в этом топике говорил о Самой Главное Универсальной Базе Данных, - новых аргументов я привести не смогу. > а еще хотелось-бы кругленький счет в швейцарском банке, виллу на канарах, > личный самолет... :) Ну так Вы же сами пишите о том, что здесь не школьники? Если трезво посмотреть на местные форумы, станет очевидно, что 90% вопросов вызваны 1. нежеланием читать документацию, 2. нежеланием изучать предметную область, 3. недостатком профессиональных знаний. Imho предметов для дискуссий в этих 90% обсуждений нет. Вопрос - ответ. А не словесный поток сознания. О чем, собственно, и хотелось сказать. > Не интересно - не обсуждайте! Разве кто-то заставляет? Нет, конечно, никто не заставляет. Конкретно этот тред потенциально интересен, - собственно, хотелось бы, чтобы обсуждение было предметным. Кроме того, ничего более. > Нравится другая форма постановки вопроса/проблемы - ставьте! Попробовал. В результате получил предложение о практической реализации задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 16:08 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
автор... а тяга к использованию RAD объясняется нежеланием учить Assembler?! Интересно, многим ли пользователям этого форума "пришлось" освоить и использовать его (Assembler) для создания своих систем??? :) rad средства имеют преимущества перед ассемблером по скорости создания приложений, в некоторых случаях ассемблер приходится использовать (драйвера к примеру какие-нить илил для встроеных устройств) объектные БД позволят не учить скл - это плюс для тех кто его не знает пока не слышал ни об одной реализации которая не проиграла бы скл в производительности - это минус для тех кто за это платит взгляните на 1ц. Это настоящая объектная БД (на ихом языке нет таблиц а есть, к примеру, объект "справочник" и т.п.), вполне доступна для изучения. Но какую цену приходится платить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 16:39 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Shtockadisk, Вы поразительно внимательно читаете то, что Вам пишут!! Я сам изначально писал, что универсальное хранилище нужно для часто изменяющихся значений. Вы теперь гордо пишите: "То есть гибкость сруктуры им не нужна. Следовательно их следует вынести в отдельные таблицы. ...для скорости выборки. Для объектов с нежестко заданными свойствами (как товары в магазинах или услуги) используем универсальное хранилище." Вам про это изначально и говорили!Поздравляю с прозрением!!! Это еще не прозрение. Прозрение будет, когда он хоть один JOIN напишет, да попытается его выполнить. Но adisk из тех, кто предпочитает отттягивать конец :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 17:04 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
guest_20040621> С генерированием уникального ключа вы не поняли - я предлагаю не диапазон > ключей выделать (1-1000 для первой таблицы, 1001-2000 для второй) а сдвиг и > номер: Да, действительно не понял. ОК, снимается. > Я последний раз повторяю : в нормально спроектированной системе не бывает > запросов к пятистам таблицам одновременно. Можете принять это за аксиому. Вот здесь я с Вами абсолютно согласен. Действительно не бывает. Но связать эти пятьсот таблиц между собой - просто необходимо. ;)) Я вот все читаю и никак не могу понять одного. Выше я уже упоминал, что вполне функциональные объектные надстройки над реляционными БД существуют: FastObjects .NET (SQL Object Factory), Bold, Реализации JDO ... Так вот все приводимые примеры прекрасно реализуются в рамках объектной модели, предлагаемой такими продуктами. Более того я не зря привел выдержку из обсуждения. Именно с похожей ситуацией мне недавно пришлось столкнуться. Уверяю вас, что некоторое время подумав все проблемы действительно можно разрешить в рамках реляционной системы. И ответ на ряд вопросов в обсуждении уже приведен. От себя могу добавить, что нет необходимости писать всякий раз 500 запросов когда нужно выбрать объекты из всех таблиц - можно ограничиться одним, адресуемым в одну таблицу которая содержит глобальные PM всех объектов (быстродействие такого запросо зависит от деталей реализации, но в целом будет намного ниже чем типовой SELECT из одной таблицы). И реализовав на практике такое решение (де факто организовав реляционную модель таким образом, что впору говорить о возникновении нового объектного уровня абстракции и моделирования структуры данных) конечно понимаешь, что глупо изобретать велосипед - нужно просто брать готовые продукты и ими пользоваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 17:29 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
> Так вот все приводимые примеры прекрасно реализуются в рамках объектной > модели, предлагаемой такими продуктами. Нет. Прочтите, пожалуйста, условия задачи еще раз. > можно ограничиться одним, адресуемым в одну таблицу которая содержит > глобальные PM всех объектов Вы говорите про частный случай. Системные таблицы (их состав и структура) у каждой СУБД уникальны. > (де факто организовав реляционную модель таким образом, что впору говорить о > возникновении нового объектного уровня абстракции и моделирования структуры > данных) Никто реляционную модель перелопачивать или реорганизовывать не собирается. Речь идет о некоторой дополнительной функциональности и, возможно, о расширенных требованиях к описанию данных. Не уверен, что это правильно интерпретировать как новый уровень абстракции. > конечно понимаешь, что глупо изобретать велосипед - нужно просто брать > готовые продукты и ими пользоваться. Для обсуждаемой задачи я не знаю готовых продуктов, к сожалению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 17:38 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
guest_20040621> ... Речь идет о некоторой дополнительной функциональности и, возможно, о расширенных требованиях к описанию данных. Не уверен, что это правильно интерпретировать как новый уровень абстракции. Возможно, я действительно что-то не до конца понимаю. Поясните, пожалуйста, о каких именно расширенных требованиях и дополнительной функциональности идет речь. И почему на ваш взгляд существующие продукты их не реализуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 17:57 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
> Поясните, пожалуйста, о каких именно расширенных требованиях и > дополнительной функциональности идет речь. См. начиная со страницы 7 обсуждения: ...такую задачу: путь в базе данных есть некоторая сущность, которая может быть связана с любой из других сущностей этой же базы данных отношением n:m. Hint1: база данных среднего размера, единицы сотен таблиц, Hint2: таких сущностей в общем случае большей одной, Hint3: решение нужно в общем виде, безотносительно СУБД, Hint4: решение должно предоставлять возможность управления отношениями без написания дополнительного кода. Imho такая задача может быть решена использованием несколько отличных от традиционных способов описания объектов реляционной базы данных. Собственно, задача и [возможный] способ решения - перед Вами. Если Вы приведете список продуктов, которые позвояют ее решить, буду Вам сильно признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 18:08 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
Пробую отвечать на выше обозначенные вопросы (на которые - повторяю - фактически разбилось обсуждение в этом топике): 1) Возможно-ли сделать ЭТО - "универсальное" "объектное" хранилище "метаданных" и данных в одной "структуре" - "систему" на основе существующих реляционных СУБД? Возможно я не совсем точно сформулировал что значит "ЭТО" - то, что обсуждается в этом топике, но старался писать как можно короче и наверно поэтому несколько расплывчать получилось. "ЭТО" сделать возможно. Хотя-бы потому, что такие системы уже есть. Одну из них я в этом топике уже упоминал. Если кому известны другие - приводите ссылки. Кстати эти ссылки и просил автор топика в самом первом сообщении. 2) Зачем нужна (или может понадобится) такая система?) Прошу читателей учесть, что на любой вопрос в обсуждении есть как минимум две точки зрения. В нашем вопросе - могут быть различные точки зрения и со стороны заказчика системы и со стороны разработчика. Пробую изложить вполне реальную ситуацию с точки зрения лица, ответственного за поддержку и развитие систем автоматизации БП организации, и имеющего за плечами определенный собственный опыт разработки коммерческих систем. Итак - что есть: Есть довольно распределенная географически организация со стабильным нестандартным бизнесом. Есть "своя" небольшая отдельная компания для разработки и поддержки бизнес-софта. Есть наработанная силами этой компании "кусочная" автоматизация на основе стандартной методологии разработки 3-уровневых систем с РСУБД, слабо связанная в общую систему различными "мостиками" БД и очень слабо документированая - исторический факт. Раздельное развитие отдельных кусков-подсистем фактически зашло в тупик. Быстрое расширение бизнес-функциональности ПО необходимо, но развитие существующей системы стало уже просто нерентабельно. Т.е. имеется стабильный но очень консервативный софт, фактически тормозящий развитие бизнеса. Отказаться от услуг своей компании-разработчика - нельзя. Стороннее готовое коммерческое ПО - не подходит по некоторым причинам, и привлекать сторонних консультантов или разработчиков для его адаптации / доработки - нельзя. Критиковать сложившуюся ситуацию - можно, но бессмысленно :) Что нужно: Активное развитие информационной системы "до уровня КИС" - своими силами; - с переносом в новую систему ранее наработанной функциональности и данных; - с заранее не определенными пределами функциональности (как можно больший потенциал развития) - возм. универсальное ядро системы (БД); - простота и высокая скорость разработки и внесения изменений и доработок в систему; - использование знакомых средств разработки, или новых, но стабильных и простых в освоении; В сложившейся ситуации считаю развитие существующей системы ошибкой а разработку новой системы по старой методике - просто преступлением. Думаю, что в этой ситуации правильным выходом была-бы как раз разработка "объектной" системы на реляционной БД. Почему именно такой - позже напишу. (продолжение следует... завтра :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 18:37 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
> (продолжение следует... завтра :) Не возражаете против пары дополнительных вопросов сегодня? > Активное развитие информационной системы "до уровня КИС" Пожалуйста, очертите круг задач этой информационной системы. > Думаю, что в этой ситуации правильным выходом была-бы как раз разработка > "объектной" системы на реляционной БД. Если Вас не затруднит, пожалуйста, сформулируйте требования к "объектности" такой системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2005, 18:47 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
skorohod to guest_20040621: > Возможно. Но - не нужно. Если Вам это не нужно - зачем здесь флудить? А то складывается впечатление, что Вам все-равно что обсуждать, лишь-бы что-то написать. :) Полностью согласен с skorohod. Поделитесь ссылками. Дайте названия проектов, в которых можно посмотреть как реализована подобная надстройка. Кто имел опыт работы с такими системами, расскажите свои впечатления. (Вон как Кашисты хвалят свою СУБД!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2005, 04:28 |
|
||
|
Объектная надстройка над релационной СУБД
|
|||
|---|---|---|---|
|
#18+
2 adisk Почитайте еще раз топик с начала - ссылки есть, люди делились. И ресурсы по теме в нете есть. Можно "теорию" почитать в "СУБД" и "Открытые системы". Я сейчас как раз "перерыванием" доступных ресурсов занимаюсь. Сам ок. 6 лет "размышлял" над необходимостью подобной ОО-надстройки над РСУБД. Просто не было возможности (у меня) её реального применения. Теперь вроде-бы появилась - по работе. То, что сам раньше "надумал" сильно перекликается с тем, о чем в этом (и других) топике писали. Пока есть время надо по максимуму ознакомится с тем что уже есть, чтобы потом не наступать на грабли, которые кто-то уже нашел как обходить :) Может получится использовать у нас чью-то готовую разработку - неважно свободную или коммерческую?! Пока ищу, знакомлюсь с тем, что есть. P.S. Кроме "Каше" была еще такая "Жасмин" от СА, а "всяк сверчок хвалит свой шесток" (пока ему там тесно не станет :) 2 guest_20040621 >Пожалуйста, очертите круг задач этой информационной системы. Эта информационная система должна будет как минимум реализовать единое информационное пространство для всех подразделений и компаний а в идеале обеспечить в организации все требования и управленческого учета и финансового и остальных... :) Можно много писать о конкретике и "воде", но чтобы мне здесь круг задач очерчивать конкретно, то ни места ни времени не хватит. Могу только несколько примеров привести: Надо чтобы и у коммерсантов и у финансистов данные в ИХ отчетах о (напр.)реализации продукции были одинаковые; Надо чтобы справочник оргструктуры у кадровиков был такой-же как и у тех-же коммерсантов и у финансистов; Надо чтобы менеджер (не важно какого уровня), пожелавший ежедневно с утра получать отчетность нового вида, смог начать ее получать не через месяц-два, а уже через день; Надо чтобы внедрение в систему новой функциональности занимало не 3-6 месяцев а 1-2 недели; >Если Вас не затруднит, пожалуйста, сформулируйте требования к "объектности" такой системы "объектность" такой системы плавно вытекла из логичной необходимости иметь не в Visio или Rose, а в БД модель всей организации и ее БП. Сделать это можно и "традиционным реляционным" подходом, забив все необходимые данные в кучу справочников и обеспечив их "динамичность", но поддерживать и развивать такую систему и на уровне БД и на уровне прикладного софта будет очень проблематично даже для небольшой компании. Выходом здесь на мой взгляд(и не только на мой) может послужить внесение в БД дополнительного "низкоуровневого", "объектного" слоя (или "объектной надстройки" - наверно не важно как это называть) в которой можно будет описать модель предметной области, в нашем случае - организации и её БП, в виде набора логических объектов, их связей, атрибутов и методов. Обычно подобные вещи называется "метаданными", "словарем БД" но в нашем случае этот объектный слой или надстройка имеет более широкий смысл. Практически это будет небольшой, сторго ограниченный (или автоматически дополняемый) набор таблиц и ХП (если использовать напр. MS SQL-Server). В конкретной реализации такого набора таблиц возможны варианты - это предмет обсуждения по вопросу, который я выше в теме обозначил номером 6. Логично было-бы в объектном слое описать для необходимых бизнес-объектов и их пользовательский интерфейс - тоже в виде логических объектов. Тогда можно было-бы все возможные клиентские модули системы ограничить единым универсальным модулем - генератором user-интерфейса (очень тонкий клиент). При наличии в системе такого объектного слоя разработка и коррекция её функционала сведется к описанию/редактированию в БД модели - заполнению/редактированию "модельных" таблиц объектного слоя данными и, возможно, написанию/генерации некоторых специфических ХП. "Традиционную реляционную"структуру БД, при необходимости, можно будет получить из объектного слоя автоматически в виде представлений, временных или постоянных таблиц и др. и хранить данные системы в них. НО! Т.к. при внесении изменений в модель системы потребуется корекция или перегенерация всех или части таблиц традиционной реляционной структуры, то мы получим серьезные трудности с хранением данных живой, изменяемой системы в таких таблицах. Поэтому на мой взгляд, имея объектный слой в БД, эффективнее было-бы и для хранения данных системы пользоваться только объектным слоем, а постоянные/временные таблицы или представления использовать только в "крайних" случаях - автоматически генерировать для сложных отчетов, пересчетов данных, и т.п. В этом случае данные будут хранится в объектном слое так-же в строго органиченном наборе таблиц, аналогичном набору таблиц для модели системы. Тогда, при внесении изменений в модель системы, не придется изменять/перегенерировать ни одну таблицу объектного слоя. Фактически такая объектная надстройка/слой БД не противоречит традиционному реляционному подходу - в ней тоже есть таблицы с полями, индексы, связи, ХП, запросы, представления... Просто в этом случае в ходе проектирования системы мы уходим несколько дальше, чем традиционная 3 форма нормализации модели данных :) Минусами при этом будут - нетрадиционный подход к проектированию и структуре БД, возможно меньшая производительность (что спорно и сильно зависит от реализации), и больший объем БД. Плюсов и выгод на мой взгляд гораздо больше чем минусов и о них тоже можно будет поговорить. Возможно Вам не нравится сам термин "объектная" (надстройка или слой в БД) но этот термин на мой взгляд наиболее точно отражает суть предлагаемых изменений в подходе к проектированию в СУБД :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2005, 13:40 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32859899&tid=1545998]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 379ms |

| 0 / 0 |
