Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Привет, Всем! Меня интересует, какие задачи сообщество считает более эффективно решать на основе ООСУБД по сравнению с реляционными ? Я думаю, что на таких ООСУБД эффективнее решать те задачи, которые в своем естественном виде имеют ярко выраженные сетевые модели. Например можно вcпомнить моделирование нейронных сетей или разработку CAD. С уважением, Дмитрий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 22:08 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Существует уже избитый список типов приложений БД, которые при реализации с с использованием РСУБД должны вызыват значительные трудности. По крайней мере, для ныне существующих РСУБД. Вот он: Автоматизированное проектирование. Автоматизированное производство. Автоматизированная разработка программного обеспечения. Офисные информационные системы и мультимедийные системы. Цифровое издательское дело. Геоинформационные системы. Интерактивные и динамическик Web - узлы. Правда, о том, что естественный их вид имеет ярко выраженные сетевые модели, вроде нигде не упоминается. В каждом случае приводятся свои, но другие причины. Подразумевается, что для ООСУБД они подойдут. Однако, следует иметь в виду, что есть ОРСУБД, которые тоже наровят зарешать эти задачи. К примеру, для ГИС у Оракла есть даже предопределенные пользовательские типы, с методами и все таким. Да по другим задачам основные производители РСУБД, точнее ОРСУБД, Универсальные сервера, наверняка пройдутся. Потому нужно искать не избитые задачи в этой области. Возможно, это моделирование нейронных сетей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 23:09 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> Офисные информационные системы > Цифровое издательское дело. > Интерактивные и динамическик Web - узлы. Откуда Вы это взяли, позвольте поинтересоваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 23:48 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
а это так и есть. кто понимает в ОО даже не спросил бы почему это туда относится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2005, 23:55 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
vadiminfoСуществует уже избитый список типов приложений БД, которые при реализации с с использованием РСУБД должны вызыват значительные трудности. По крайней мере, для ныне существующих РСУБД. Вот он: Автоматизированное проектирование. Автоматизированное производство. Автоматизированная разработка программного обеспечения. .... А эти задачи вообще всегда при решении единственным средством вызывают значительные трудности. Интересно увидеть ООБД, например, которая сама отрисует GUI на клиенте, или вдруг станет компилировать программное обеспечение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 00:51 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
сами только кошки радятся )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 09:06 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Офисные информационные системы > Интерактивные и динамическик Web - узлы. Откуда Вы это взяли, позвольте поинтересоваться? При работе с распределенными информационными системами, лично у меня возникло впечатление, что ООБД более приспособлены к решению бухгалтерских задач, чем стандартные реляционки. Был проект, в котором по ТЗ изменения в постановке вносились в систему каждые 3 месяца. При этом на внесение изменений отводилось всего 3 дня. Этого удалось добится реализовав на основе SQL таблиц модель данных документа. Пришлось отказаться от 3NF. Вобщем то что пошло в эксплуатацию, после пары лет экспериментов, более походит на сетевую БД реализованную на основе РМД, а не на чистую РМД. Поэтому я уверен, что замена РМД на ООМД оправдана даже в некоторых задачах, считающихся классикой для применения РМД. А обосновано это тем, что в реальном мире реальные сущности не организованы в ортогональные таблицы. Модель реального мира более естественно ложиться на модель иерархических активных семантических сетей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 15:09 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
c127А эти задачи вообще всегда при решении единственным средством вызывают значительные трудности. Интересно увидеть ООБД, например, которая сама отрисует GUI на клиенте, или вдруг станет компилировать программное обеспечение. В СООБЗ Cerebrum http://contest2005.gotdotnet.ru/Request/Apps/Other/168720.aspx модель GUI описывается объектами находящимися в ООБД. При этом объекты, которые находятся на стороне БД получают и обрабатывают запросы GUI. Так что посмотреть можно уже сегодня ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 15:13 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 15:33 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> При работе с распределенными информационными системами, лично у меня > возникло впечатление, что ООБД более приспособлены к решению бухгалтерских > задач, чем стандартные реляционки. А почему Вы решили, что информационная система = бухгалтерские задачи? > Был проект, То есть Вы считаете, что далеко идущие выводы можно делать на основании одного проекта? ;) > Этого удалось добится реализовав на основе SQL таблиц модель данных > документа. Пришлось отказаться от 3NF. Хм... что Вы имеете в виду под "моделью данных документа", поясните, пожалуйста. И почему пришлось отказаться от 3НФ? > реализованную на основе РМД, а не на чистую РМД. Ну, на что это походит, зависит исключительно от направления взгляда наблюдающего. ;) В итоге все равно СУБД - реляционная, правда? ;)) Какого цвета на ней рюшечки - дело десятое. > Поэтому я уверен, что замена РМД на ООМД оправдана даже в некоторых > задачах, считающихся классикой для применения РМД. Ну, я тоже много в чем уверен. Аргументы есть? Сравнение совокупной стоимости владения, например. Или любая другая объективная оценка? > А обосновано это тем, что в реальном мире реальные сущности не > организованы в ортогональные таблицы. Позвольте поинтересоваться, что следует из этого наблюдения? И как это связано с недостатками [неудобством применения? неприспособленностью для решения задачи?] реляционных баз данных (вообще, было бы неплохо хотя бы перечислить, какими именно недостатками)? И с преимуществами нереляционных СУБД, естественно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 15:34 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Аналогичная дискуссия уже имела место ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 16:30 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> Аналогичная дискуссия Так себе аналогичная. Там - откровенное пиписькоизмерительство без намека на обсуждение. :( Здесь сильно рассчитываю услышать от г-на shuklin'а что-то конструктивное с одной стороны и, возможно, какие-то подробности его работы (г-на shuklin'а, естественно), упомянутой в соседнем треде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 17:01 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin Поэтому я уверен, что замена РМД на ООМД оправдана даже в некоторых задачах, считающихся классикой для применения РМД. Это, конечно, не обычайно не ординарная оценка, претендующая на революцию (возможно, оранжевую). На всех задачах, в которых все адекватно укладывается в записи из чисел и строк, пока не придумано альтернатив РСУБД. Када придумают, первый признак - реакция на это ведущих производителей СУБД. На таких задачах недостатки РСУБД проявляются, как правило, минимально а достоинста существенно. Конечно, если Вы на клиппере или досовском парадоксе лабали, возможно всякое. Попробуйте Оракл. Рекомендую. Конечно, проектировать нужно хоть не много уметь. Но зато потом - легкая прогулка. Кстати, именно это обстоятельство являлось причиной сомнений, что ООСУБД сможет захватить весь рынок без дополнительных каких-то достижений. А если она претендует быть постреляционной, то должна захватить не менее 90%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 19:24 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
vadiminfoНа таких задачах недостатки РСУБД проявляются, как правило, минимально а достоинста существенно. Конечно, если Вы на клиппере или досовском парадоксе лабали, возможно всякое. Попробуйте Оракл. Рекомендую. Конечно, проектировать нужно хоть не много уметь. Но зато потом - легкая прогулка. Пасиба, как раз его пробовали )) Тот жизненный опыт, о котором я вспомнил, включал 35 серверов Oracle распределенных по 35 обласным центрам Украины + 4 ЦБД в Киеве. Врочем они сейчас, без моего участия, выполняют ранее поставленные задачи и все так же успевают в течении нескольких дней адаптироваться к изменяющемуся каждые 3 месяца законодательству Украины. vadiminfoКстати, именно это обстоятельство являлось причиной сомнений, что ООСУБД сможет захватить весь рынок без дополнительных каких-то достижений. А если она претендует быть постреляционной, то должна захватить не менее 90%. Даже с дополнительными достижениями ООСУБД рынок уже не перезахватит. А вот определить новый сегмент рынка, которого раньше небыло - вполне может. Плюс единичные применения в каких-то особо экзотических случаях типа упомянутого. С уважением, Дмитрий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 20:16 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Привет! funikovyuri shuklin может хоть вы на мой вопрос ответите? funikovyuriДалее, ОО модель данных (в терминах, например, UML) это классы, атрибуты и отношения. Так вот - не могли бы вы привести пример оо-модели которую бы нельзя или сложно было отобразить на реляционную? А то ваши соратники по оосубд, в приведенном вами топике, ссылались на отсутствие наследования в РБД - что говорит против их знаний в области проектирования РБД, но никак не против РБД как таковых. Попробую ответить. Сначала ответ теоретический. Если система равномощна в вычислительном плане машине Тьюринга - она может эмулировать любую другую машину Тьюринга. Отсюда следует, что начиная с некоторой сложности, система позволяет реализовать ВСЕ что угодно. Тоесть, на SQL можно реализовать сетевую архитектуру, а на ООБД можно эмулировать таблицы SQL. Все упирается только в цену, которая включает разработку (удобство программирования, тестирования, развертывания, ...) и эксплуатацию (перформанс, надежность,..) Интересно заметить, что комфорт программиста определяет стоимость разработки. Если задача естественнее ложиться на таблицы – возможно ее дешевле делать на РБД. Если на сеть – возможно дешевле ООБД. Итак, чтобы продемонстрировать достоинства ООБД надо найти задачу, модель предметной области является сетью и / или требует наследования и полиморфизма. (Кстати версант не может продемонстрировать такие преимущества, так как они сами и признались, методы у объектов в БД не поддерживаются, тогда одного из удобнейших возможностей ОО - полиморфизма в FastObjects нет, мне странно, как можно не поддерживать полиморфизм в .NET Возможно Алексей что то напутал или недообъяснил и полиморфизм таки есть ) В качестве такой задачи можно предложить например векторный графический редактор типа Visio. Все графические объекты, которые потребуется хранить в БД, можно унаследовать от общего класса Widget. На прямую навигацию в ООБД естественным образом ложатся связи между графическими объектами. Разрабатывать графический редактор для ООБД я в ближайшее время не планирую, поэтому приведу еще один пример, уже разработанный и внедренный в СООБЗ Cerebrum - БД конфигурации. Итак, как мы знаем, все объекты в ООБД имеют свой уникальный ID по которому их можно быстро найти - это аналог PK c индексом. Само его наличие не дает преимуществ перед РБД. Однако возможность нарушать 1NF - хранить в одном атрибуте объекта список значений из этих ID позволяет реализовывать коллекции объектов использующих метод прямой навигации (что в РБД уже затруднительно, так как отношения один ко многими или составной ключ - это уже не один а несколько операций поиска по индексам, к тому же прямая навигация в таком случае ИМХО удобнее JOIN ). Теперь упрощенная модель классов из наймспайс Cerebrum.Reflection public class MemberDescriptor : Cerebrum.Integrator.GenericComponent { public string Name public string DisplayName public string Description } Названия пропертей говорят за себя Это базовый класс для описателей которые обладают свойсвами имя, дружественное имя и описание. Многие объекты могут иметь такие атрибуты, поэтому удобно наследовать такие объекты от MemberDescriptor. public class AttributeDescriptor : MemberDescriptor { public Cerebrum.Runtime.NativeHandle AttributeTypeHandle public System.Type AttributeType public Cerebrum.Runtime.IConnector GetTypeDescriptor() } Дескриптор атрибута – описывает имя некоторого атрибута объекта. Он расширяет объект MemberDescriptor добавляя свойства AttributeType, AttributeTypeHandle а также метод GetTypeDescriptor() AttributeType возвращает тип данного атрибута. GetTypeDescriptor() возвращает объект-дескриптор этого же типа. Например, для свойства Name объекта MemberDescriptor В ООБД создаются экземпляр объекта AttributeDescriptor с значениями свойств соответсвенно Name = “Name” DisplayName = “Name” Description = “Object name” AttributeType = typeof(System.String) GetTypeDescriptor() = экземпляр TypeDescriptor описывающий System.String Таким образом экземпляры класса AttributeDescriptor описывают свойства объектов, хранимых в ООБД, в том числе и свойства собственно класса AttributeDescriptor public class TypeDescriptor : MemberDescriptor { public string QualifiedTypeName public Cerebrum.Runtime.KernelObjectClass KernelObjectClass public System.Type ComponentType } Описывает тип объекта. Свойство QualifiedTypeName содержит строковое полное имя .NET объекта, например “System.String” Свойство KernelObjectClass рассматривать не будем. Свойство ComponentType возвращает typeof(QualifiedTypeName) тоесть .NET тип описываемый дескриптором Свойства, унаследованные от MemberDescriptor тривиальны. Для свойства QualifiedTypeName создается экземпляр AttributeDescriptor у которого Name = “QualifiedTypeName” DisplayName = “Qualified Type Name” Description = “.NET Qualified Type Name” AttributeType = typeof(System.String) GetTypeDescriptor() = экземпляр TypeDescriptor описывающий System.String Итак мы имеем несколько классов экземпляры которых описывают объекты, содержащиеся в ООБД и сами кстати (экземпляры) так же являются объектами находящимися в ООБД. Поэтому они описывают сами себя. Можно заметить, что у объектов имеются совместимые атрибуты – например у многих объектов есть атрибут “Name” который описывает имя объекта. Объекты являющиеся экземплярами одного и того же класса имеют одинаковый список атрибутов. Логично сгруппировать однотипные объекты в таблицы у которых колонки будут представлять атрибуты, а строки – собственно экземпляры объектов. public class TableDescriptor : MemberDescriptor, System.ComponentModel.IListSource { public Cerebrum.Runtime.NativeVector GetSelectedAttributesVector() public Cerebrum.Runtime.NativeVector GetSelectedComponentsVector() public System.Type ComponentType public Cerebrum.Data.TableView DefaultView } Описывает таблицу из экземпляров объектов. Свойства унаследованные от MemberDescriptor соответсвенно описывают имя, дружественное имя и описание данной таблицы. Метод GetSelectedAttributesVector возвращает коллекцию атрибутов - колонок таблицы, этому методу соответсвует экземпляр AttributeDescriptor у которого Name = “SelectedAttributes” DisplayName = “SelectedAttributes” Description = “SelectedAttributes collection” AttributeType = typeof(System.ComponentModel.IBindingList) Метод GetSelectedComponentsVector возвращает коллекцию объектов - строк таблицы, этому методу соответсвует экземпляр AttributeDescriptor у которого Name = “SelectedComponents” DisplayName = “SelectedComponents” Description = “SelectedComponents collection” AttributeType = typeof(System.ComponentModel.IBindingList) Все экземпляры AttributeDescriptor перечислинны в таблице TableDescriptor.Name = “Attributes” Все экземпляры TypeDescriptor перечислинны в таблице TableDescriptor.Name = “Types” Все экземпляры TableDescriptor перечислинны в таблице TableDescriptor.Name = “Tables” При этом экземпляры класса AttributeDescriptor.Name = “Name” разумеется содержаться в коллекции строк таблицы Attributes а так же в коллекциях атрибутов (колонок) таблиц “Attributes”, “Types” и “Tables” Экземпляр класса TableDescriptor.Name = “Tables” хранится в своей же коллекции строк таблицы (SelectedComponents) Надо заметить, что экземпляры объекты могут одновременно входить в разные таблицы при этом важно чтоб они поддерживали все атрибуты, являющиеся колонками таблиц в которые они входят в качестве строк. Данным примером мы продемонстрировали что на основе ООБД возможна эмуляция РБД. В связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается. С уважением, Дмитирй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 21:29 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
PS. shuklinеще один пример, уже разработанный и внедренный в СООБЗ Cerebrum - БД конфигурации. Данный пример доступен в исходных текстах как часть реализации СООБЗ Cerebrum (но не ЭС Elex - тоесть другой zip тянуть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 21:46 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
guest_20040621 А почему Вы решили, что информационная система = бухгалтерские задачи? А почему знак равно? Бухгалтерские системы - частный случай информационных. guest_20040621 > Был проект, То есть Вы считаете, что далеко идущие выводы можно делать на основании одного проекта? ;) Конечно можно. Даже один проект может определить новый класс проектов. Пусть у этого класса и не будет много экземпляров. Все рвано это уже класс . А по классу проектов выводы делать можно. guest_20040621 > Этого удалось добится реализовав на основе SQL таблиц модель данных > документа. Пришлось отказаться от 3NF. Хм... что Вы имеете в виду под "моделью данных документа", поясните, пожалуйста. Документооборот. Документ хранится в БД в разрезаном на атомарные значения виде. Документы бухгалтерские. Тоесть все прелести отчетов по изменяющимся во времени данным и по аттрибутам документов, которых уже нет или еще нет. Структура хранения документа не стабильна. Соответсвенно описание структуры документа так же находится в бд как ее содержимое. guest_20040621 И почему пришлось отказаться от 3НФ? Слишком большая была стоимость владения у предыдущих версий в связи с ограниченностью возможностей. guest_20040621 Ну, на что это походит, зависит исключительно от направления взгляда наблюдающего. ;) В итоге все равно СУБД - реляционная, правда? ;)) Какого цвета на ней рюшечки - дело десятое. Однако вовсе не десятое дело, какова модель предметной области, обрабатываемая этим СУБД. Если модель сетевая, то возникают накладные расходы на эмуляцию сети в таблицах РМД. guest_20040621 Ну, я тоже много в чем уверен. Аргументы есть? Сравнение совокупной стоимости владения, например. Или любая другая объективная оценка? От предыдущих версий пришлось отказаться )) И далее guest_20040621 > А обосновано это тем, что в реальном мире реальные сущности не > организованы в ортогональные таблицы. Позвольте поинтересоваться, что следует из этого наблюдения? И как это связано с недостатками [неудобством применения? неприспособленностью для решения задачи?] реляционных баз данных (вообще, было бы неплохо хотя бы перечислить, какими именно недостатками)? И с преимуществами нереляционных СУБД, естественно? Приходится моделировать сети на основе РМД. А это приводит к дополнительным расходом. Сначала работаем с РМД как с РМД, затем переводим все в сеть и работаем уже как с сетью (куда деватся то если предметная область - сеть). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 22:14 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> А почему знак равно? Вот и я удивился. Чего бы вдруг? > Конечно можно. Даже один проект может определить новый класс проектов. Пусть у этого класса > и не будет много экземпляров. Все рвано это уже класс . > А по классу проектов выводы делать можно. Хм... ровно то же другими словами: кто-то забил гвоздь микроскопом, у него получилось, - значит, теперь считаем микроскоп инструментом для забивания гвоздей. Цитата: "Может, в консерватории что-то подправить?" ;) > Документ хранится в БД в разрезаном на атомарные значения виде. Документы бухгалтерские. > Тоесть все прелести отчетов по изменяющимся во времени данным и по аттрибутам документов, > которых уже нет или еще нет. Структура хранения документа не стабильна. > Соответсвенно описание структуры документа так же находится в бд как ее содержимое. Вы просто не умеете их готовить. Абслютно стандартные проблемы со стандартными методами решений. > Слишком большая была стоимость владения у предыдущих версий в связи с ограниченностью возможностей. ;) Ну, правильно, кривые поделки обходятся дорого. Чем больше радиус кривизны - тем дороже. Непонятно только, при чем здесь реляционные СУБД? > Однако вовсе не десятое дело, какова модель предметной области, обрабатываемая этим СУБД. > Если модель сетевая, то возникают накладные расходы на эмуляцию сети в таблицах РМД. и > Приходится моделировать сети на основе РМД. А это приводит к дополнительным расходом. Сначала > работаем с РМД как с РМД, затем переводим все в сеть и работаем уже как с сетью (куда деватся > то если предметная область - сеть). Ну да, возникают. И не только на эмуляцию сети. И что в этом криминального? Я получаю гибкое, переносимое, легко управляемое, стандартное решение. В обмен на небольшую избыточность. Меня это абсолютно устраивает. В чем проблема-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 22:41 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Хм... ровно то же другими словами: кто-то забил гвоздь микроскопом, у него получилось, - значит, теперь считаем микроскоп инструментом для забивания гвоздей. Цитата: "Может, в консерватории что-то подправить?" ;) Забивание гвоздей микроскопами - тоже класс задач. Возможно разработать оптимальные приемы забивания гвоздей микроскопом, разработать гвозди предназначеннче для забивания микроскопами ... ; ))) Если это экономически где то оправдано, почему нет? guest_20040621 Вы просто не умеете их готовить. Абслютно стандартные проблемы со стандартными методами решений. А кто спорит, только истинные святые великой веры в РМД способны правильно готовить документы. В этом абсолютно никто не сомневается ))) Для не обращенного в святую веру очень не помешает перечень ссылочек с кошерными методами по готовке документов. guest_20040621 Ну да, возникают. И не только на эмуляцию сети. И что в этом криминального? Я получаю гибкое, переносимое, легко управляемое, стандартное решение. В обмен на небольшую избыточность. Меня это абсолютно устраивает. В чем проблема-то? Криминального - ничего. А если устраивает - то и вовсе чудно. А вот многих РМД не устраивает. И решения на их основе, тоже не устраивают. Меня к примеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 22:59 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin c127А эти задачи вообще всегда при решении единственным средством вызывают значительные трудности. Интересно увидеть ООБД, например, которая сама отрисует GUI на клиенте, или вдруг станет компилировать программное обеспечение. В СООБЗ Cerebrum http://contest2005.gotdotnet.ru/Request/Apps/Other/168720.aspx модель GUI описывается объектами находящимися в ООБД. При этом объекты, которые находятся на стороне БД получают и обрабатывают запросы GUI. Так что посмотреть можно уже сегодня ))) Ну где я сказал модель? Не "модель", а "отрисовывать". Модель и обработку запросов от ГУЯ я и в РСУБД нарисую без проблем. shuklin Сначала ответ теоретический. Если система равномощна в вычислительном плане машине Тьюринга - она может эмулировать любую другую машину Тьюринга. Отсюда следует, что начиная с некоторой сложности, система позволяет реализовать ВСЕ что угодно. Тоесть, на SQL можно реализовать сетевую архитектуру, а на ООБД можно эмулировать таблицы SQL. Извиняйте, коллега, но СКЛ язык не полный, там нет рекурсии, в нем чего угодно (эквивалентное машине Поста) не напишете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2005, 23:29 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
c127Ну где я сказал модель? Не "модель", а "отрисовывать". Модель и обработку запросов от ГУЯ я и в РСУБД нарисую без проблем. OnClick реализуете в РСУБД ? Речь идет о обработке совбсвенно события и реализации всего полезного (в том числе и отрисовки) в объекте лежащем в СООБЗ. Чтайте мысли автора а не то что вам хотелось бы прочесть вместо них - будет легче понимать чужие идеи ))) c127Извиняйте, коллега, но СКЛ язык не полный, там нет рекурсии, в нем чего угодно (эквивалентное машине Поста) не напишете. А эта мелочь в данном контексте не существенна, т.к. проблема заключалась в представимости сети средсвами SQL. А рекурсию можно эмулировать организовав стек в какойто таблице. И ваще в данном контектсе стоит рассматривать SQL в расширенном контексте вместе с SP, триггерами и пр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 00:03 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> Забивание гвоздей микроскопами - тоже класс задач. На мой взгляд - нет. > А кто спорит, только истинные святые великой веры в РМД способны правильно готовить документы. > В этом абсолютно никто не сомневается ))) Вы передергиваете. ;) Никто возможность приготовления документов не узурпировал. Полистайте форум, - даже здесь готовых решений - вагон и маленькая тележка. Это действительно типовые задачи. > Для не обращенного в святую веру У-у-у... я просто инквизитором себя чувствую. :( > очень не помешает перечень ссылочек с кошерными методами > по готовке документов. Поиск, как всегда, рулит. Ключевые слова "версионность", "хронология изменений". Если хочется реального геморроя, поищите тред про объектную надстройку; дерьма там - валом, но пара интересных формулировок есть. ;) Если время совсем некуда девать, ищите "локализация" и "контроль доступа". ;) В результате этих несложных манипуляций примерное [ни в коем случае не полное] представление о кошерности [не только в области документооборота] - на мой взгляд - должно сформироваться. ;) Только зачем это Вам, если Вы уже выбрали другое решение? ;) > Криминального - ничего. А если устраивает - то и вовсе чудно. Консенсус. Несколько хм... вызывают дискомфорт заявления о неприспособленности РСУБД для решения задач, которые они традиционно успешно решают на статистически безальтернативной основе. ;) > А вот многих РМД не устраивает. И решения на их основе, тоже не устраивают. Меня к примеру. Хех, ну вот и славно. ;) Кстати: давно хотелось послушать грамотных людей о semantic web. Не поделитесь своими взглядами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 00:36 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin OnClick реализуете в РСУБД ? Речь идет о обработке совбсвенно события и реализации всего полезного (в том числе и отрисовки) в объекте лежащем в СООБЗ. Чтайте мысли автора а не то что вам хотелось бы прочесть вместо них - будет легче понимать чужие идеи ))) А что за проблема с OnClick? По OnClick что-то должно произойти, это что-то лежит где-то в БД, его нужно взять, может быть обработать и отправить на клиент. Это такие же данные как и все остальное и вообще нет никакой разницы это РСУБД или ООСУБД, если последние вдруг когда-нибудь появятся. shuklin c127Извиняйте, коллега, но СКЛ язык не полный, там нет рекурсии, в нем чего угодно (эквивалентное машине Поста) не напишете. А эта мелочь в данном контексте не существенна ... Кому как. По-моему как раз интересный момент, тем более Вы же сами сказали что это немного теории. Но не настаиваю. shuklin А рекурсию можно эмулировать организовав стек в какойто таблице. Со стеком проблемы нет, проблема с циклами или, что то же самое, с рекурсией. Нельзя получить последовательность натуральных чисел заранее неизвестной длины. shuklin И ваще в данном контектсе стоит рассматривать SQL в расширенном контексте вместе с SP, триггерами и пр. Если SP, то проблем нет. По-делу. Тут уже много раз говорилось что для того чтоб что-то обсуждать нужно сначала договориться о смысле ключевых слов. Поэтому хорошо бы определить понятия "знание", "база знаний", это главное, а также желательно "объект" (если он используется в понятии ООСУБД), "ООБД", "ООСУБД". Или дайте ссылки где это можно прочитать. А то мы ни до чего не договоримся, поскольку будем говорить о разных вещах. На всякий случай: Вашу диссертацию я вчера прочитал, может не сильно внимательно, этих определений там не нашел, возможно пропустил, поэтому если на нее ссылаетесь то ссылайтесь поподробнее, с указанием страницы или подраздела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 01:10 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
с127 По-делу. Тут уже много раз говорилось что для того чтоб что-то обсуждать нужно сначала договориться о смысле ключевых слов. Поэтому хорошо бы определить понятия "знание", "база знаний", это главное, а также желательно "объект" (если он используется в понятии ООСУБД), "ООБД", "ООСУБД". Или дайте ссылки где это можно прочитать. А то мы ни до чего не договоримся, поскольку будем говорить о разных вещах. Пардрн, слегка перепутал топики, тут как раз нужно обязательно определить объект и ООСУБД, а знание и БЗ не обязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 01:13 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
По-моему, ООСУБД годятся для чего угодно. Если бы им скорость формирования коллекций по условию, соизмеримую со временем выполнения соотв. SQL-запросов, да средства навигации по объектному пространству (OQL/OCL и т.п.), да прозрачное отображение объектов языка программирования на объекты сервера - то ничего другого и нафик не нужно. А еще бы реализацию исполнения методов объектов - на сервере. Чтобы не уродоваться с ХП, триггерами и т.п. Индексацию атрибутов объектов еще. Чтобы быстро получить именно то, что нужно. Для повышения скорости доступа к часто используемым коллекциям. И сборку мусора - "правильную", чтобы "вдовые" объекты не подвисали, и клиенты не тормозились. И многопоточность. И репликацию объектов. И синхронизацию "копия объекта на клиенте" -> "объект на сервере" -> "другие копии объкта на других клиентах" прозрачную. Чтобы даже контролы отображения понимали, что данные изменились - и что нужно не "4", а "5" отображать. Э... про необходимость развитого механизма запросов я уже говорил, так... Механизм авторизации доступа на уровне владельца объекта и группы его пользователей (м.б. раздельно - к атрибутам и методам). Механизмы блокировок. Разные - по настроению/желанию. И восстановление после сбоев. Т.е механизмы репликации, резервного копирования и журнализации. И много чего еще. Но самое главное - это "...прозрачное отображение объектов языка программирования на объекты сервера..." и скорость выполнения запросов. Тогда скорость разработки будет колоссальной (ООП!), и система тормозить не будет. А если уж ты такой искалеченный, что без табличек жить не можешь - юзай коллекции. Ах, да - там же поддержки SQL нету... Ну, пока не вымрет нынешнее поколение, взращенное на реляционной модели, с идеей ООСУБД будут носиться только продвинутые энтузиасты. А так - 2 shuklin - мои респекты. Может, вы в одиночку, как К.Книжник, доведете свою СУБД до реализации, пригодной к применению. Очень бы хотелось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 02:05 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
mvПо-моему, ООСУБД годятся для чего угодно. Язык ассемблера, скажем, тоже годится для чего угодно. mvЕсли бы им скорость формирования коллекций по условию, соизмеримую со временем выполнения соотв. SQL-запросов, да средства навигации по объектному пространству (OQL/OCL и т.п.), да прозрачное отображение объектов языка программирования на объекты сервера - то ничего другого и нафик не нужно. А еще бы реализацию исполнения методов объектов - на сервере. Чтобы не уродоваться с ХП, триггерами и т.п. Индексацию атрибутов объектов еще. Чтобы быстро получить именно то, что нужно. Для повышения скорости доступа к часто используемым коллекциям. И сборку мусора - "правильную", чтобы "вдовые" объекты не подвисали, и клиенты не тормозились. И многопоточность. И репликацию объектов. И синхронизацию "копия объекта на клиенте" -> "объект на сервере" -> "другие копии объкта на других клиентах" прозрачную. Чтобы даже контролы отображения понимали, что данные изменились - и что нужно не "4", а "5" отображать. Э... про необходимость развитого механизма запросов я уже говорил, так... Механизм авторизации доступа на уровне владельца объекта и группы его пользователей (м.б. раздельно - к атрибутам и методам). Механизмы блокировок. Разные - по настроению/желанию. И восстановление после сбоев. Т.е механизмы репликации, резервного копирования и журнализации. И много чего еще. Но самое главное - это "...прозрачное отображение объектов языка программирования на объекты сервера..." и скорость выполнения запросов. Тогда скорость разработки будет колоссальной (ООП!), и система тормозить не будет. Говоря иными словами, если бы у бабушки был #^@, это была бы не бабушка, а дедушка. mvА если уж ты такой искалеченный, что без табличек жить не можешь - юзай коллекции. Ах, да - там же поддержки SQL нету... Ну, пока не вымрет нынешнее поколение, взращенное на реляционной модели, с идеей ООСУБД будут носиться только продвинутые энтузиасты. Ну, зачем же переходить на личности. Вы скопом обвиняете практически 90% IT специалистов в "искалеченности"? То есть все идут не в ногу, а один Вася в ногу? Может, действительно что-то "в консерватории подправить" :) Что ж вы так злитесь то? Юпитер сердится, значит он неправ. И еще. Помните фразу "если с нами Бог, то кто же с ними?". Так вот. Если за нами наука и практика, то что же за вами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 07:13 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
mv Ну, пока не вымрет нынешнее поколение, взращенное на реляционной модели, с идеей ООСУБД будут носиться только продвинутые энтузиасты. Реляционным не пришлось ждать вымирания поколений, взращенных на дореляционных моделях. Вот в чем заковыка таких предположений. Тогдашним продвинутым энтузиастам повезло больше. Либо они попродвинутее были нынешних, либо сама РМД все еще попродвинутее ООП, механически перенесенного на БД. Т.е. взяли просто данные своих прог и попытались сделать их БД, ну что-то прицепили от дореляционных. Этого, возможно, принципиально не достаточно с одной стороны, так как они могли унаследовать дореляционные черты - начали почти с чистого листа. Внешним признаком этого остается, то что многие бедные энтузиасты все еще могут претендовать налабать свои ООСУБД, у которых нет недостатков уже существующих. А ведь им уже 15 лет. Там видно полно всякого рода, и всегда есть место более продвинутым энтузиастам. С другой стороны есть, возможность перенести ОО рациональное зерно в РМД. Тем самым не возвращаться к устаревшим 30 лет назад идеям. И придется ждать вымирания еще нескольких поколений. А так как все не стоит на месте, может отмереть сама ООУБД, останутся тока энтузиасты, хотя и якобы продвинутые. Часто это просто бывшиее ООП кодеры из других проблемных областей, не связанных с приложениями БД, либо реальные базисты желающие создать свое СУБД. Но есть пока тока одно направление, относительно легкое, и где можно найти потребителей - тех самых ООП кодеров. Конечно, есть посложнее - СУБЗ. Но там реальные специ (а не просто продвинутые энтузиасты) уже долго никак ничего не могут реально продвинуть. Хотя я думаю их время еще придет. Так что тут много неясного еще про то, кто вымрет и что будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 10:19 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
mv Складывается впечатление, что ООП для Вас это не средство, а цель. По принципу "Что знаю, то и хочу везде и всегда". Мечты хорошо, однако где гарантия, что даже если они исполнятся, ООСУБД будут действительно удобнее чем РСУБД ? Идеалы и стандарты могут быть только в планах, при реализации продукта все равно идеалы и стандарты будут нарушены в силу изменения внешних условий, наложения ограничений текущей среды (ОС, используемое для разработки ПО и т.д.) или же непредвиденных обстоятельств. Но самое главное - открою Вам секрет. Все что Вы хотите видеть в ООСУБД - ЕСТЬ В РСУБД !!! Причем не первый год, все отлажено, надежно и постоянно совершенствуется. И чтобы этим воспользоваться не нужно ждать чуда, мечтать и кидаться из стороны в сторону. Нужно всего лишь кое что подкрутить в голове, научиться мыслить в разных измерениях, для разных технологий, уйти от однобокости в мышлении. И настанет счастье - окажется, что непонятный SQL на самом деле понятный, краткий и очень мощный. Окажется, что ООП это не процедурные C, Java или ObjectPascal, кои являются всего лишь частной реализацией, а всего лишь один из способов описания данных, так же как и релляционная алгебра. При хорошем знании и того и другого окажется, что все 3 принципа ООП ложаться на РСУБД, если смотреть именно на принципы, а не привычные описания классов и манипуляции обьектами в процедурных языках. Но для всего этого нужно стать этаким "буддистом" и научиться вместо отрицания чуждых, противоречащих собственной, религий, добиваться их понимания, осмысливания и принятия, помня, что на самом деле даже все разное - это часть одного общего, просто находящееся в другом измерении. Таким образом можно будет добиться разносторонних знаний, то есть стать действительно ценным специалистом, который в зависимости от ситуации может предложить достаточно широкий спектр решений, частенько удачно комбинируя касалось бы противоречащие друг другу алгоритмы из разных "измерений". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 10:42 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Все знали, что OS/2 лучше Windows, но где она теперь? Это я о чем? А о том, что технические преимущества и недостатки вовсе не являются главными критериями, определяющими популярность и обеспечивающими процветание тех либо иных систем. И если завтра кто-то из большой тройки вдруг решит, что пришло время ООСУБД, то не пройдет и года, как все на них перейдут (заметьте, почти без всяких колебаний). А если не решит, то все также уверенно будут говорить о преимуществах РСУБД. C'est la vie. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 10:57 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin ... Итак, чтобы продемонстрировать достоинства ООБД надо найти задачу, модель предметной области является сетью и / или требует наследования и полиморфизма. (Кстати версант не может продемонстрировать такие преимущества, так как они сами и признались, методы у объектов в БД не поддерживаются, тогда одного из удобнейших возможностей ОО - полиморфизма в FastObjects нет, мне странно, как можно не поддерживать полиморфизм в .NET Возможно Алексей что то напутал или недообъяснил и полиморфизм таки есть ) ... В ООСУБД Versant коды методов не хранятся в самой БД - они являются частью кода приложения, которое с этой базой работает. Разумеется, в рамках .NET-платформы можно организовать и хранение этих кодов в самой БД (например, в blob-атрибутах), но на практике это крайне редко может быть нужно. Возможно это нужно в нейронных сетях. Но вот в CAD/CAM и пр. - вряд ли. И даже когда это нужно, в крайнем случае достаточно ввести хранение методов применяемых к классам объектов, но не к каждому объекту индивидуально, как в вашей системе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 11:04 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin Спасибо за ответ, хотя и не на мой вопрос! Его формулировка действительно допускала ваш ответ, но мне интересно не это. Я полностью согласен с вашим ответом вплоть до строк Однако возможность нарушать 1NF - хранить в одном атрибуте объекта список значений из этих ID позволяет реализовывать коллекции объектов использующих метод прямой навигации (что в РБД уже затруднительно, так как отношения один ко многими или составной ключ - это уже не один а несколько операций поиска по индексам, к тому же прямая навигация в таком случае ИМХО удобнее JOIN ). Это, на мой взгляд, не совсем верно с точки зрения решения задачи в рамках модели данных. Так как это все-таки вопрос физической реализации. Постараюсь уточнить вопрос. Мне хотелось бы увидеть модель на UML реализация которой родными средствами РБД была бы не эффективна. Под родными средствами я понимаю ее реализация в виде R-схемы (или прямо SQL DDL&DML). При этом я думаю что можно утверждать что такая модель будет существовать (с некоторыми оговорками) и при этом все ее отношения будут приводимы к 3НФ. PS> к стати, вы первый кто вспомнил о том что в РБД "плохо" с динамическим полиморфизмом и я с этим полностью согласен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 11:17 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
funikovyuriPS> кстати, вы первый кто вспомнил о том что в РБД "плохо" с динамическим полиморфизмом и я с этим полностью согласенВот это очень интересный аспект на мой взгляд... Если уж брать РМД, то там нет никаких проблем с динамическим полиморфизмом. Достаточно сказать что-то вроде R := R EXTEND ADD ('A' AS A); чтобы у relvar R появился новый атрибут. Или R := R {ALL BUT A}; чтобы убрать соответствующий атрибут. То есть мы можем легко и непринуждённо преобразовать одно отношение в совсем-совсем другое, используя алгебру. Такое возможно в обсуждаемых тут системах? Другое дело, что если предположить, что R - "базовое" отношение и содержит большое количество кортежей, то такая операция при реализации окажется очень ресурсозатратной. Может оказаться таковой (зависит от реализации). Но ведь, насколько я понимаю, в обсуждаемых здесь системах всё то же самое. Обновление спецификации класса, количество экземпляров которого в базе исчисляется миллионами, тоже очень затратным делом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 11:43 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Уважемый Павел, мы не про ниследование и отношение "is a" говорим, а про динамический полиморфизм. Это, если грубо, поведение, а не структура. Но, забегая вперед, скажу что у РМД с ним действительно проблем нет - это проблемы конкретных продуктов (всех) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 11:48 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Павел, дело еще и в том, что РМД - это модель, позволяющая формально описать данные. ОМД - кроме этого позволяет описывать поведение (на мой взгляд, это чуть ли не единственное отличие) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 11:51 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
funikovyuriУважемый Павел, мы не про ниследование и отношение "is a" говорим, а про динамический полиморфизм. Это, если грубо, поведение, а не структура. Но, забегая вперед, скажу что у РМД с ним действительно проблем нет - это проблемы конкретных продуктов (всех)Тогда о чём это, уважаемый Юрий? Мне хотелось бы понять каким боком полиморфизм (да ещё и динамический) относится к поведению? Не корысти ради, а просвещения для... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 11:53 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Да и еще - насчет ресурсоемкости... IMHO изменение описания схемы/описания классов это операции которые в большинстве случаев делаются редко и не на рабочей системе. Так что их ресурсоемкость - это дело второе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 11:54 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Павел Воронцов Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Реализация динамического полиморфизм в C++, java, C# основана на механизме виртуальных функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 11:59 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
funikovyuri.... skip .... Реализация динамического полиморфизм в C++, java, C# основана на механизме виртуальных функций.Тут я тоже не вижу никаких проблем ни в РМД ни в современных СУБД. Хоть заперееопределяйся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 12:26 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Павел Воронцов Что именно имеется в виду? (сразу скажу что я о возможностях SQL и его "Procedural extension") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 12:30 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
funikovyuri Поскольку мы имеем дело с СУБД, задача которой - хранение, манипуляция и целостность данных, единственные существенные действия - добавление/изменение/удаление записи. И тут простор - от констрейнтов до триггеров. Проблемы конечно есть, но общая идея ясна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 12:53 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
А, вот вы о чем. Я говорил про другие операции (не CRUD). Что касается же их, то Create - в ОО-языках обычно не полеморфен (т.е. это не виртальная функция), а так да - с CRUD в РСУБД все вроде нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 13:07 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
А другие операции в СУБД и не нужны. Всё остальное к логике хранения, манипулирования и целостности данных отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 13:13 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Павел Воронцов Павел, вы же сами любите говорить, что современная СУБД это не только данные + ограничения целостности... Хотя да, это относится к требованиям к процедурным расширениям, а не к РБД как таковой. Но, если не придираться, то хранимые процедуры сейчас неотъемлемая часть СУБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 13:23 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
mvПо-моему, ООСУБД годятся для чего угодно.... Абсолютно и полностью согласен со всеми тезисами. Чтобы их воплотить в жизнь - нада работать )) Движемся потихоньку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 14:28 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
с127Нельзя получить последовательность натуральных чисел заранее неизвестной длины. К слову. С точки зрения чистых теоретиков, эта задача не решаема обычным компом в принципе (Хотя абстрактной машиной Тьюринга - решаема). См. докозательство Клини. (Идея - как представить число с размерами битового образа превышающими суммарный объем RAM & HD ?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 14:31 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
guest_20040621Только зачем это Вам, если Вы уже выбрали другое решение? ;) Действительно, проверили ряд решений, выбрали, реализовали, внедрили, завершили внедрение уже как 2 года назад, теперь из чисто ностальгических соображений иногда со старыми знакомыми пивко потягиваем )) Вроде не жалуются ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 14:35 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
с127На всякий случай: Вашу диссертацию я вчера прочитал, может не сильно внимательно, этих определений там не нашел, возможно пропустил, поэтому если на нее ссылаетесь то ссылайтесь поподробнее, с указанием страницы или подраздела. Определений объекта и других ООП понятий в диссере нет вовсе - диссер нейронкам посвящен. Проблема построения базы знаний в диссере затронута краем, четких определений из области БЗ там тоже нет. В качестве книжки на ночь рекомендую японский пятитомник по ИИ. Он как раз проблеме знаний посвящен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 14:40 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoВ ООСУБД Versant коды методов не хранятся в самой БД - они являются частью кода приложения, которое с этой базой работает. Что мне не ясно. Я помню, что ты говорил, что методы не поддерживаются. Однако, что мешает мне реализовать в классе, хранящемся в БД FastObjects какой нибудь абстрактный интерфейс? Что произойдет если вызвать метод такого интерфейса? Во всех примерах которые ты приводил (из тех что я видел) ни ни методов ни темболее интерфейсов в классах, живущих в БД не наблюдалось. Мне непонятно как можно запретить наследование интерфейсов являющееся частью .NET Framework и что будет если такое реализовать и попытаться запустить? Об этом я и писал. Alexey Rovdoне к каждому объекту индивидуально, как в вашей системе. А про чужую разработку фантазировать не надо )) Я вот очень пытаюсь не зная деталей реализации БД от версант ничего к ним своего не прифантазировать ))) В моей системе реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД. Только данные экземпляра хранятся в БД. А описание метаданных и реализация методов - обеспечивается средой .NET ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 14:53 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Павел ВоронцовА другие операции в СУБД и не нужны. Всё остальное к логике хранения, манипулирования и целостности данных отношения не имеет. Если для решения ваших задач такие операции не нужны, это не значит, что они не нужны и для решения всех остальных задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 15:07 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> Действительно, проверили ряд решений, выбрали, реализовали, внедрили, > завершили внедрение уже как 2 года назад, теперь из чисто ностальгических > соображений иногда со старыми знакомыми пивко потягиваем )) Вроде не > жалуются ))) Ну и чудненько. ;) Позволю себе влезть в дискуссию: > Чтобы их воплотить в жизнь - нада работать )) Движемся потихоньку. Хех, дело хорошее. Вы намерены - imho, это следует делать в первую очередь - написать-таки открытый стандарт для ООСУБД? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 15:08 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin ... В моей системе реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД. Только данные экземпляра хранятся в БД. А описание метаданных и реализация методов - обеспечивается средой .NET Ну что же, значит я вас не правильно понял. Впрочем, учитывая следующие ваши фразы, у меня были некоторые основания так думать: shuklin ... в базе храняться не данные, а объекты .NET. У них могут быть методы , свойства, поля ( логично было предположить, что все это хранится в базе - A.R) А у вас нельзя даже метод в объекте на стороне БД исполнять ... ( а у вас получается можно исполнять метод в контексте БД ? - A.R.) ( 3) а где эти методы исполняются (учитывая распределенный характер системы)? -A.R.) На стороне движка БД ... объект имеет право реализовать любой абстрактный интерфейс. То есть в cerebrum можно восспользоваться полиморфизмом. каждый объект имеет право реализовать свою собственную версию такого метода . у каждой строки (внутри системы) есть набор методов который определяется классом .NET объекта ... - база знаний База некоторых сущностей в которой храняться не только данные (простые типы) но и методы по обработке этих данных . Ну вот а теперь вы пишете "реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД". И оп-ля - я снова не вижу никакой разницы между вашей системой и Versant FastObjects .NET. А если нет разницы, то ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 17:50 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklinЕсли для решения ваших задач такие операции не нужны, это не значит, что они не нужны и для решения всех остальных задач.Они не нужны для решения задач хранения, манипулирования и целостности данных . Всё другое-остальное (очереди сообщений, посылка-приём email, полнотекстовые индексы, преобразование медиа-информации на лету (сжатие картинок к примеру), etc) тоже можно запихнуть в СУБД и это будет даже удобно и хорошо, но к собственно задачам СУБД не будет иметь никакого отношения. Бантики и рюшечки. funikovyuriПавел, вы же сами любите говорить, что современная СУБД это не только данные + ограничения целостности... Хотя да, это относится к требованиям к процедурным расширениям, а не к РБД как таковой. Но, если не придираться, то хранимые процедуры сейчас неотъемлемая часть СУБДВполне согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 19:04 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Alexey Rovdo shuklin ... В моей системе реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД. Только данные экземпляра хранятся в БД. А описание метаданных и реализация методов - обеспечивается средой .NET Ну что же, значит я вас не правильно понял. Впрочем, учитывая следующие ваши фразы, у меня были некоторые основания так думать: shuklin ... в базе храняться не данные, а объекты .NET. У них могут быть методы , свойства, поля ( логично было предположить, что все это хранится в базе - A.R) А у вас нельзя даже метод в объекте на стороне БД исполнять ... ( а у вас получается можно исполнять метод в контексте БД ? - A.R.) ( 3) а где эти методы исполняются (учитывая распределенный характер системы)? -A.R.) На стороне движка БД ... объект имеет право реализовать любой абстрактный интерфейс. То есть в cerebrum можно восспользоваться полиморфизмом. каждый объект имеет право реализовать свою собственную версию такого метода . у каждой строки (внутри системы) есть набор методов который определяется классом .NET объекта ... - база знаний База некоторых сущностей в которой храняться не только данные (простые типы) но и методы по обработке этих данных . Ну вот а теперь вы пишете "реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД". И оп-ля - я снова не вижу никакой разницы между вашей системой и Versant FastObjects .NET. А если нет разницы, то ... Все что я написал имеет место быть)) Какие проблемы запустить метод находящийся в сборке из домена бд? Разработчики версант знакомы с понятием thread, domain ? Встречный вопрос, почему вы говорите что в версанте объекты не могут реализовывать методы? Зачем же так свой продукт опускать? Или таки не могут на самом деле? Чем это обосновано технически ? Я вот не вижу причин. Мне реализовать эту возможность ни стоило ни каких усилий - это естественное поведение .NET Вы еще более странные вещи говорите )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 20:37 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
mir... Вы скопом обвиняете практически 90% IT специалистов в "искалеченности"?... Боюсь, что даже 99% - слишком смелое предположение. (Я имею в виду тех, кто проектирует БД - приложения) 2 shuklin - Вы знакомились с GOODS? Ну, хотя бы со структурой и принципами реализации, в плане того, чтобы Вам легче свою систему развивать. Ну, конечно, нет там реализации методов на сервере - но т.к. система открытая, можно много придумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 20:38 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
[quot shuklin]В связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается. [quot] Кто нибудь вызов принял ? ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 20:45 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin shuklinВ связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается. Кто нибудь вызов принял ? ))) 1. Код: plaintext 1. 2. 3. 3. Перестань издеваться! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 20:58 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin shuklinВ связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается. Кто нибудь вызов принял ? ))) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 21:28 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Павел Воронцов Код: plaintext Пример этого View в студию ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 22:17 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
mv2. Есть статейки по этому поводу. Сам понимаешь, дикие тормоза при реализации. 3. Перестань издеваться! А что не так в предложении, в Cerebrum более-менее работает без тормозов. Собственно дисскуссия касается обнаружения задачи, которая решается на основе ООБД и решается на порядок менее эффективно на основе РСУБД. Можно ли считать что такая задача найдена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 22:20 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
funikovyuri правильно, наверное, не согласился со "строками ответа" shukin. Но акценты не те, мне кажется. Во-первых, для организации связей (причем не только многие-ко-многим) не следует, как это делает shukin, "хранить в одном атрибуте ... список значений из этих ID". При таком подходе невозможно будет реализовать связи многие-ко-многим, у которых есть собственные характеристики (свойства); затруднительно хранить семантику связей (любого типа); и т.п. Связи нужно и представлять, и хранить, как связи. Иначе все вырождается в то, что сейчас делают сторонники РСУБД в рамках "развития" своих продуктов до ОРСУБД ("вложенные" "таблицы", "встроенные" "объекты", ...). И, во-вторых, "родные средства РБД" не могут, например, "представить" связь многие-ко-многим "из UML"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2005, 22:24 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
2 shuklin Непонятно, честно говоря, вообще цель Вашего вопроса "Задачи для объектно-ориентированных СУБД". Поддержки здесь вы все равно не найдете, скорее всего, а все обсуждения скатятся сперва до уровня "медленнее/быстрее", потом Вас обвинят в незнании терминологии, а закончится простым непониманием. Ответом для Вас будет один - "Таити, Таити... нас и здесь неплохо кормят!" С РСУБД - все ясно - есть обширный класс задач, которые более - менее эффективно реализуются средствами реляционной модели. Естественно, ВСЕ они решаются и средствами ОО - моделирования - но с гораздо меньшими трудозатратами при проектировании. Ради уменьшения трудозатрат при разработке/сопровождении люди готовы идти и на O/R маппинг, невзирая на неминуемые тормоза. По поводу Вашей задачи - что-то подобное я делал (даже чуть "страшнее" - там дополнительно была реализация модели реляционных таблиц, но с переменным числом столбцов, изменяемым в рантайме). От моделирования до рабочего прототипа прошло всего дня три. Использовался O/R маппинг - тормозило все, сами понимаете, неслабо. Когда предложили переписать "напрямую", "традиционными" средствами с РСУБД - я посмотрел на диаграмму классов в Розе, погрустил - и отказался переводить диаграмму классов в ER - диаграмму для РСУБД. В принципе, методы перевода известны, но как дело дошло до реализации наследования и полиморфизма - то столько гемора, что ну его нафик. А потом сопровождать все это? Вот, еще рассказка: вот, не понравилось шефу, что редактор диаграмм классов у нас чужой. Ну, Роза. Через неделю мы имели отлаженный свой собственный графический редактор классов. Проблем с тормозным маппингом на этот раз не было, т.к. объектов (классов/ассоциаций) обычно не очень много, и все помещаются в память (т.е. все же O/R маппинг был, но он не мешал). Напишет кто-нибудь "свою Розу" или пусть "свой ErWin" методами традиционного секса", использу обычные РСУБД? Ну, в общем, Вы называли это область - САПР/Моделирование. Но с использованием ОО - методов эти области становятся такими же доступными как, скажем, проектирование складской программы на Delphi+InterBase. Естественно, знание предметной области никто не отменял. Так что выигрыш от использовании ОО - подхода при проектировании приложений, работающий с СУБД - громадный. Вот только маппинг (на сегодняшний день) может все преимущества сожрать. Поэтому нужны ООБД. Которые быстрые. И к которым маппинг не нужен. Сделайте, и будете русским Б.Гейтсом. Или Линусом Торвалдсом. Известным как украинский Дмитрий Шуклин. Какая нафик разница, лишь бы работало... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 00:25 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> Кто нибудь вызов принял ? ))) Какой вызов? Это задача для первого класса начальной школы. ;)) На уровне Вашего примера из [1638275] примерно так: CREATE TABLE db_objects (); CREATE TABLE db_object_types (); CREATE TABLE db_object_attributes (); CREATE TABLE db_object_schema (); CREATE TABLE db_object_attribute_values (); Если интересно, как должна выглядеть реальная схема метаданных - возьмите системные таблицы любимой СУБД. В чем проблема? Дружище, Ваша работа с теоретической точки зрения, наверное, действительно представляет интерес. Для продакшн, на минуточку, нужно выполнение еще целой кучи условий, главное из которых - это уже было отмечено - публичный стандарт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 00:28 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Кто нибудь вызов принял ? ))) Какой вызов? Это задача для первого класса начальной школы. ;)) На уровне Вашего примера из [1638275] примерно так: CREATE TABLE db_objects (); CREATE TABLE db_object_types (); CREATE TABLE db_object_attributes (); CREATE TABLE db_object_schema (); CREATE TABLE db_object_attribute_values (); Отлично! Осталось только привести код запроса, формирующего новую метатаблицу как сущность эмулируемой системы, ну и запрос, выбирающий данные из такой мататаблицы. И программера покажите, который будет это делать (ну, без произнесения вслух всего, что он скажет). И оценить хотя бы ожидаемую производительность такой системы. guest_20040621 Если интересно, как должна выглядеть реальная схема метаданных - возьмите системные таблицы любимой СУБД. В чем проблема? ----------------- ----------------- ----------------- Алё! О чем спор-то?! Где эти ООСУБД, а?! В которые хотя бы можно БЫСТРО "полОжить" данные с гарантированной уверенностью по окончании транзакции, что "они уже там"? И БЫСТРО извлечь. Ну, создайте продукт, наберите группу юзеров(девелоперов), которые поразят мир скоростью разработки и надежностью приложений - вот тогда можно будет о чем-то говорить. Что, тут все дураки, будут сидеть на своих РСУБД, когда "там где-то классное и вкусное есть"? Переучимся как миленькие. Ну, или будем дальше тянуть свои старые разработки. Мало, что ли, народа до сих пор Clipper - приложения сопровождает? Где продукты, о которых спорим?! О чем базар? Что, Versant? Угу. Только методы объектов - на клиенте. И 5 килобаксов за те же Fast Objects. И клиенты на C++/Java (не знаю, как у буржуев - а в СНГ "морды" для баз уж точно в основном не на С++ пишут.) Что, я буду бухгалтерию на Versant писать? А кто ее купит, по такой цене?! Как говорил Жванецкий - "Давайте спорить о вкусе устриц с теми, кто их ел". Где устрицы? Ау-у! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 01:32 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> Отлично! Осталось только привести код запроса, формирующего новую метатаблицу > как сущность эмулируемой системы, ну и запрос, выбирающий данные из такой мататаблицы. ;) Дружище, Вы о чем? На вопрос shuklin'а я ответил абсолютно адекватно. > И оценить хотя бы ожидаемую производительность такой системы. В каком-то треде (по-моему, как раз об объектной надстройке или похожем) была оценка для похожей структуры. Поищите, если интересно. Непонятно только, для чего это Вам? > О чем спор-то?! В [1642356] речь шла о реляционных СУБД и структуре для метаданных. Про любимую СУБД: автор в [1636938] упоминал о реализации чего-то-там-псевдообъектного на реляционной СУБД. Поскольку с этой СУБД опыт работы есть, а названия я в сообщении не нашел, идентифицировал ее таким образом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 02:38 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin с127Нельзя получить последовательность натуральных чисел заранее неизвестной длины. К слову. С точки зрения чистых теоретиков, эта задача не решаема обычным компом в принципе (Хотя абстрактной машиной Тьюринга - решаема). См. докозательство Клини. (Идея - как представить число с размерами битового образа превышающими суммарный объем RAM & HD ?) А кто тут говорил об обычном компьютере? В чистом СКЛ-е она не решаема вообще нигде, а в полных языках, как PL/SQL, например - решаема. shuklin Определений объекта и других ООП понятий в диссере нет вовсе - диссер нейронкам посвящен. Проблема построения базы знаний в диссере затронута краем, четких определений из области БЗ там тоже нет. Чему посвящена диссертация я примерно представляю, я его привел для примера, что ссылка просто на источник малопродуктивна, нужно указывать страницу, если их в источнике много. shuklin В качестве книжки на ночь рекомендую японский пятитомник по ИИ. Он как раз проблеме знаний посвящен. Вот об этом и речь. А поточнее ссылку дать нельзя? Например название книги, автор. Может есть что-то в сети, а то в библиотеке не всегда есть. Вообще немного странно что для того чтоб дать определение понятия "знание" необходимо написать 5 томов. Я как-то себе это представлял по-другому. А где взять определение объекта и ООБД? Мне приводили ссылки, но эта книга постоянно на руках Может Вы что нибудь подобное знаете? shuklin shuklinВ связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается. Кто нибудь вызов принял ? ))) Это не вызов, это детские игрушки. Посмотрите например МС ЛДАП, реализовнном в реляционном МССКЛ сервере. Правда там не таблицы а объекты и иерархическая структура. Но разницы никакой поскольку объекты допускают хранение списков поэтому такой объект уже готовая таблица. Можно определять ссылки и тому подобное. Или вариант guest_20040621. Как правильно сказали при работе это страшные тормоза, но принципиальных проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 04:05 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklinПример этого View в студию !Вопрос звучал так: shuklinВ связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается. Так вот любое представление на любой наперёд заданной структуре таблиц отвечает условию задачи. Это именно " создание новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается. " в чистом виде. Я уж не говорюо примере Прошлогоднего Гостя. Это вообще классика... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 07:10 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
Да, братцы, я тут как раз в тему... Мне нужно на DB2 нарисовать пример, чтобы показать объектно-ориентированные возможности этой базы. Вот только, блин, никак не могу найти подходящуюю область для применения всех этих наворотов. Т.е. все области достаточно хорошо описываются в простой реляционной модели. Я думаю если взять тему .. ну допустим машины ... Как построить иерархию классов? Какие атрибуты, какие методы? мож кто мысль какую подкинет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 10:12 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> Вот только, блин, никак не могу найти подходящуюю область для применения > всех этих наворотов. Т.е. все области достаточно хорошо описываются > в простой реляционной модели. Пример номер раз. Представьте, что любые сущности, описываемые в базе данных, могут быть связаны с объектами авторского права. Объекты авторского права имеют владельцев (если хочется полной картины, то еще и область правоприменения). Пример номер два. Представьте, что Ваша задача - регистрировать источники данных для Вашей базы данных, т. е. любая запись в базе данных имеет источник данных. Жестких требований к источникам данных нет, - т. е. это может быть все, что угодно (пресса, слухи, сообщения частных лиц, нормативные документы, события etc). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 14:24 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
2 guest_20040621 Ну а чуть чуть поконкретней, не так общо... Ну, например, возьмем источники для базы данных. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 14:49 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> Ну, например, возьмем источники для базы данных. ОК, пусть будут источники. У каждого типа источников есть свои атрибуты (для прессы - понятно, для нормативных документов - владелец, номер, дата, дата регистрации в Минюсте (пусть будут только отечественные документы), дата официальной публикации etc). Некоторые из источников могут быть связаны с описанными в базе данных сущностями. Было бы правильно иметь возможность связывать такие источники с записями или сущностями, которые появятся в базе данных позже (т. е. на момент описания источника их нет). Т. о. неприспособленность задачи для традиционной реляционной модели заключается в том, что 1. запись может иметь больше одного источника, следовательно, обычную модель сложно использовать (количество таблиц связи приблизительно равно количеству таблиц, описывающих сущности), 2. сложно получить приемлемые результаты для выбора всех записей базы данных, связанных с определенным источником (особенно с учетом атрибутов источника): представьте себе запрос с выборкой из пары тысяч (ну, или сколько их в среднестатистической базе данных?) таблиц, 3. сложно связать источники данных с сущностями базы данных (громоздкая структура). > а дальше? какие идеи? Так все, собственно. ;) Imho и без дополнительных условий достаточно объемная задача. С одной стороны, связь источников с сущностями - владельцами, с другой - связь сущностей с источниками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 15:12 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
>для прессы - понятно может для нее и понятно.. хм .. а для меня нет.. наверно тормоз потому-что... О владельце - то... хм.. эт наверно акционеры - их много. Тут как-то не очень ОО подход подходит (сорри за мало масляное...) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. А методы будут?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 15:50 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
> может для нее и понятно.. хм .. а для меня нет.. Тип (журнал, газета), периодичность, регистрационный номер, регистрирующий орган, редакция (с реквизитами), - т. е. то, что обычно пишут в выходных данных. > О владельце - то... хм.. эт наверно акционеры - их много. Имелось в виду то, что владелец источника (в широком смысле владелец, т. е. это необязательно имущественное право собственности) может быть описан в базе данных в соответствующей структуре данных. Например, пусть одна из задач основной базы данных - регистрация юридических лиц. В числе прочих мы описали Издательский дом "Коммерсантъ". В качестве одного из источника данных мы используем газету "Коммерсантъ". Так вот нам нужно две связи: газета "Коммерсантъ" принадлежит Издательскому дому "Коммерсантъ" с одной стороны и ссылки на газету "Коммерсантъ" для тех записей базы данных, где газета выступает источником данных - с другой. > Тут как-то не очень ОО подход подходит (сорри за мало масляное...) Я привел это как пример, когда неудобна реляционная схема. А насколько для реализации этой задачи подойдет ОО, - судите сами. Мой вариант решения этой задачи основан на использовании метаданных, отличных от системных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 16:09 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
gardenman... нарисовать пример, чтобы показать объектно-ориентированные возможности ... В качестве простого примера ОО - подхода можно предложить процесс создания древовидной структуры из разнородных сущностей (Задача класса "Что из чего состоит"). Базовую сущность определяем как ассоциированный сам с собой класс ( + накидываем закрытые методы, броющииеся против "зацикливания" и т.д. и т.п. - дерево, короче), а все остальные сущности наследуются от базового. В итоге получаем древовидную структуру из сущностей любого типа - достаточно лишь, чтобы эти сущности наследовались от класса, представляющего собой базовое дерева. Ну, можешь на некоторые объекты установить ограничения, чтобы от них нельзя было ветвиться (типа: от веток - можно, а от листьев - нет). Не могу сказать, что этого нельзя сделять средствами РСУБД (вспомним упоминание о машине Тьюринга - сам пользуюсь - ) - просто средствами ОО это делается не дольше, чем Вы читали мой пост. Еще задачка - предположим, злобный заказчк желает, чтобы каждый чих юзера фиксировался в логе - в т.ч. попытки чтения любых данных. Тоже все просто. В базовом классе просто переопределяем два метода - начинающий и завершающий транзакцию. В первом фиксируем параметры запроса к данным, во втором - пишем результаты выполнения запроса в лог. Ну, в общем, возьми любую задачу, в которой требуется, чтобы разные объекты вели себя ПОХОЖИМ (но не обязательно одинаковым) образом. Т.е. там, где удобно применять наследование и полиморфизм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2005, 21:11 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
mv Не могу сказать, что этого нельзя сделять средствами РСУБД (вспомним упоминание о машине Тьюринга - сам пользуюсь - ) - просто средствами ОО это делается не дольше, чем Вы читали мой пост. В том то и дело - что в РБД это делаеться один в один как и в ОО-языке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 12:24 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
c127А поточнее ссылку дать нельзя? Например название книги, автор. Может есть что-то в сети, а то в библиотеке не всегда есть. Представление и использование знаний / Под ред. Х. Уэно, М. Исидзука - М. Мир 1989 - 220 с. c127Вообще немного странно что для того чтоб дать определение понятия "знание" необходимо написать 5 томов. Я как-то себе это представлял по-другому. Мало того, в каждом томе свое определение этого термина и сноска, что определение не окончательное и требуются дальнейшие исследования этого вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2005, 15:26 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin Представление и использование знаний / Под ред. Х. Уэно, М. Исидзука - М. Мир 1989 - 220 с. А как оно пишется по-английски? Там должно быть на одной из первых страниц. shuklin Мало того, в каждом томе свое определение этого термина и сноска, что определение не окончательное и требуются дальнейшие исследования этого вопроса. Ужас. И как Вы работаете при таком бардаке, как можно хранить и обрабатывать неизвестно что? Вы же построили систему хранения и обработки чего-то конкретного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2005, 03:37 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
У меня тут как-раз воникла идея относительно применения ОО в РСУБД. Причем - слегка смешивая эти технологии. Как только оформлю код - поделюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2005, 09:48 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
gardenmanУ меня тут как-раз воникла идея относительно применения ОО в РСУБД. Причем - слегка смешивая эти технологии. Как только оформлю код - поделюсь.У Кодда и Дарвена она тоже возникла. Читайте 3 Манифест. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2005, 13:11 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
То есть у Дейта и Дарвена, конечно же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2005, 13:11 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
c127А как оно пишется по-английски? Там должно быть на одной из первых страниц. Ну это я вам в скором времени предоставить не смогу (( Сейчас в бумаге этой книги рядом со мной нет. c127Ужас. И как Вы работаете при таком бардаке, как можно хранить и обрабатывать неизвестно что? Вы же построили систему хранения и обработки чего-то конкретного. А в этом как раз и прелесть научной работы по сравнению с инженерной. В производстве нельзя исспользовать непроверенные инновации, а в науке наоборт поощряется изобретение собственных велосипедов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2005, 16:07 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklinА в этом как раз и прелесть научной работы по сравнению с инженерной. В производстве нельзя исспользовать непроверенные инновации, а в науке наоборт поощряется изобретение собственных велосипедов. Создавая СУБЗ или как оно там Вы как раз занимаетесь самой что ни на есть инженерной работой. В своей конкретной системе Вы храните какие-то конкретные сущности. Вопрос в том что именно. Вы не можете сказать что изобрели велосипед который состоит из незвестно чего, там должны быть совершенно реальные материалы и принципы. Что же касается науки то там как раз ценится умение использовать известные результаты для получения новых, т.е. сведение своей задачи к уже решенной. Перечитайте свою диссертацию, там на стр. 9, например, говорится: "При разработке формальной модели морфологической, синтаксической и семантической обработки текста естественного языка использовался математический аппарат теории интеллекта - алгебры конечных предикатов и предикатных операций, разработанный Шабановым-Кушнаренко Ю.П. и аппарат семантической нейронной сети, разрабатываемый в данной работе на основе существующего аппарата искусственных нейронных сетей Неймана-Маккалока-Питтса." Это же оно и есть, никакого велосипеда, все базируется на известных результатах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2005, 05:04 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
c127Что же касается науки то там как раз ценится умение использовать известные результаты для получения новых, т.е. сведение своей задачи к уже решенной...., никакого велосипеда, все базируется на известных результатах. Ну, то кандидатская была, теперь дело за докторской ;))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2005, 12:21 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklin c127А как оно пишется по-английски? Там должно быть на одной из первых страниц. Ну это я вам в скором времени предоставить не смогу (( Сейчас в бумаге этой книги рядом со мной нет. Засада, однако. Пятитомник то японский ... Том1. С.Осуга Обработка знаний. М.Мир 1989 Том2 Представление и использование знаний. Под. ред. Х.Уэно, М.Исидзука. М.Мир 1989 Том3 Приобретение знаний Под.ред. С. Осуги, Ю. Саэки М.Мир 1990 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2005, 12:28 |
|
||
|
Задачи для объектно-ориентированных СУБД.
|
|||
|---|---|---|---|
|
#18+
shuklinНу, то кандидатская была, теперь дело за докторской ;))) Говорят что кандидатская это наука а докторская это политика. Так что в докторской будет еще хуже. Кроме этих японцев должно же быть еще что-то. Хотя если сложно то не нужно, тут бы с объектами разобраться, не до знаний пока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2005, 00:41 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1553839]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 426ms |

| 0 / 0 |
