powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Задачи для объектно-ориентированных СУБД.
84 сообщений из 84, показаны все 4 страниц
Задачи для объектно-ориентированных СУБД.
    #33125565
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, Всем!

Меня интересует, какие задачи сообщество считает более эффективно решать на основе ООСУБД по сравнению с реляционными ?

Я думаю, что на таких ООСУБД эффективнее решать те задачи, которые в своем естественном виде имеют ярко выраженные сетевые модели.

Например можно вcпомнить моделирование нейронных сетей или разработку CAD.

С уважением, Дмитрий.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33125602
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существует уже избитый список типов приложений БД, которые при реализации с с использованием РСУБД должны вызыват значительные трудности. По крайней мере, для ныне существующих РСУБД.
Вот он:

Автоматизированное проектирование.

Автоматизированное производство.

Автоматизированная разработка программного обеспечения.

Офисные информационные системы и мультимедийные системы.

Цифровое издательское дело.

Геоинформационные системы.

Интерактивные и динамическик Web - узлы.

Правда, о том, что естественный их вид имеет ярко выраженные сетевые модели, вроде нигде не упоминается. В каждом случае приводятся свои, но другие причины.

Подразумевается, что для ООСУБД они подойдут.

Однако, следует иметь в виду, что есть ОРСУБД, которые тоже наровят зарешать эти задачи. К примеру, для ГИС у Оракла есть даже предопределенные пользовательские типы, с методами и все таким.
Да по другим задачам основные производители РСУБД, точнее ОРСУБД, Универсальные сервера, наверняка пройдутся.

Потому нужно искать не избитые задачи в этой области. Возможно, это моделирование нейронных сетей.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33125623
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Офисные информационные системы
> Цифровое издательское дело.
> Интерактивные и динамическик Web - узлы.

Откуда Вы это взяли, позвольте поинтересоваться?
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33125627
Lbvfcnsq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а это так и есть. кто понимает в ОО даже не спросил бы почему это туда относится...
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33125646
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadiminfoСуществует уже избитый список типов приложений БД, которые при реализации с с использованием РСУБД должны вызыват значительные трудности. По крайней мере, для ныне существующих РСУБД.
Вот он:

Автоматизированное проектирование.

Автоматизированное производство.

Автоматизированная разработка программного обеспечения.
....


А эти задачи вообще всегда при решении единственным средством вызывают значительные трудности. Интересно увидеть ООБД, например, которая сама отрисует GUI на клиенте, или вдруг станет компилировать программное обеспечение.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33125838
Lbvfcnsq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сами только кошки радятся ))
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33126909
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Офисные информационные системы
> Интерактивные и динамическик Web - узлы.

Откуда Вы это взяли, позвольте поинтересоваться?

При работе с распределенными информационными системами, лично у меня возникло впечатление, что ООБД более приспособлены к решению бухгалтерских задач, чем стандартные реляционки. Был проект, в котором по ТЗ изменения в постановке вносились в систему каждые 3 месяца. При этом на внесение изменений отводилось всего 3 дня. Этого удалось добится реализовав на основе SQL таблиц модель данных документа. Пришлось отказаться от 3NF. Вобщем то что пошло в эксплуатацию, после пары лет экспериментов, более походит на сетевую БД реализованную на основе РМД, а не на чистую РМД. Поэтому я уверен, что замена РМД на ООМД оправдана даже в некоторых задачах, считающихся классикой для применения РМД. А обосновано это тем, что в реальном мире реальные сущности не организованы в ортогональные таблицы. Модель реального мира более естественно ложиться на модель иерархических активных семантических сетей.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33126922
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127А эти задачи вообще всегда при решении единственным средством вызывают значительные трудности. Интересно увидеть ООБД, например, которая сама отрисует GUI на клиенте, или вдруг станет компилировать программное обеспечение.

В СООБЗ Cerebrum http://contest2005.gotdotnet.ru/Request/Apps/Other/168720.aspx
модель GUI описывается объектами находящимися в ООБД. При этом объекты, которые находятся на стороне БД получают и обрабатывают запросы GUI. Так что посмотреть можно уже сегодня )))
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33126989
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin

может хоть вы на мой вопрос ответите?
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33126999
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> При работе с распределенными информационными системами, лично у меня
> возникло впечатление, что ООБД более приспособлены к решению бухгалтерских
> задач, чем стандартные реляционки.

А почему Вы решили, что информационная система = бухгалтерские задачи?

> Был проект,

То есть Вы считаете, что далеко идущие выводы можно делать на основании одного проекта? ;)

> Этого удалось добится реализовав на основе SQL таблиц модель данных
> документа. Пришлось отказаться от 3NF.

Хм... что Вы имеете в виду под "моделью данных документа", поясните, пожалуйста. И почему пришлось отказаться от 3НФ?

> реализованную на основе РМД, а не на чистую РМД.

Ну, на что это походит, зависит исключительно от направления взгляда наблюдающего. ;) В итоге все равно СУБД - реляционная, правда? ;)) Какого цвета на ней рюшечки - дело десятое.

> Поэтому я уверен, что замена РМД на ООМД оправдана даже в некоторых
> задачах, считающихся классикой для применения РМД.

Ну, я тоже много в чем уверен. Аргументы есть? Сравнение совокупной стоимости владения, например. Или любая другая объективная оценка?

> А обосновано это тем, что в реальном мире реальные сущности не
> организованы в ортогональные таблицы.

Позвольте поинтересоваться, что следует из этого наблюдения? И как это связано с недостатками [неудобством применения? неприспособленностью для решения задачи?] реляционных баз данных (вообще, было бы неплохо хотя бы перечислить, какими именно недостатками)? И с преимуществами нереляционных СУБД, естественно?
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127205
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аналогичная дискуссия уже имела место ...
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127313
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Аналогичная дискуссия

Так себе аналогичная. Там - откровенное пиписькоизмерительство без намека на обсуждение. :(

Здесь сильно рассчитываю услышать от г-на shuklin'а что-то конструктивное с одной стороны и, возможно, какие-то подробности его работы (г-на shuklin'а, естественно), упомянутой в соседнем треде.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127661
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin
Поэтому я уверен, что замена РМД на ООМД оправдана даже в некоторых задачах, считающихся классикой для применения РМД.

Это, конечно, не обычайно не ординарная оценка, претендующая на революцию (возможно, оранжевую). На всех задачах, в которых все адекватно укладывается в записи из чисел и строк, пока не придумано альтернатив РСУБД. Када придумают, первый признак - реакция на это ведущих производителей СУБД.

На таких задачах недостатки РСУБД проявляются, как правило, минимально
а достоинста существенно.
Конечно, если Вы на клиппере или досовском парадоксе лабали, возможно всякое.
Попробуйте Оракл. Рекомендую. Конечно, проектировать нужно хоть не много уметь. Но зато потом - легкая прогулка.

Кстати, именно это обстоятельство являлось причиной сомнений, что ООСУБД сможет захватить весь рынок без дополнительных каких-то достижений.
А если она претендует быть постреляционной, то должна захватить не менее 90%.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127716
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoНа таких задачах недостатки РСУБД проявляются, как правило, минимально
а достоинста существенно.
Конечно, если Вы на клиппере или досовском парадоксе лабали, возможно всякое.
Попробуйте Оракл. Рекомендую. Конечно, проектировать нужно хоть не много уметь. Но зато потом - легкая прогулка.

Пасиба, как раз его пробовали )) Тот жизненный опыт, о котором я вспомнил, включал 35 серверов Oracle распределенных по 35 обласным центрам Украины + 4 ЦБД в Киеве. Врочем они сейчас, без моего участия, выполняют ранее поставленные задачи и все так же успевают в течении нескольких дней адаптироваться к изменяющемуся каждые 3 месяца законодательству Украины.

vadiminfoКстати, именно это обстоятельство являлось причиной сомнений, что ООСУБД сможет захватить весь рынок без дополнительных каких-то достижений.
А если она претендует быть постреляционной, то должна захватить не менее 90%.

Даже с дополнительными достижениями ООСУБД рынок уже не перезахватит. А вот определить новый сегмент рынка, которого раньше небыло - вполне может.
Плюс единичные применения в каких-то особо экзотических случаях типа упомянутого.

С уважением, Дмитрий.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127778
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

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)

Надо заметить, что экземпляры объекты могут одновременно входить в разные таблицы при этом важно чтоб они поддерживали все атрибуты, являющиеся колонками таблиц в которые они входят в качестве строк.

Данным примером мы продемонстрировали что на основе ООБД возможна эмуляция РБД.

В связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается.


С уважением, Дмитирй.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127800
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS.

shuklinеще один пример, уже разработанный и внедренный в СООБЗ Cerebrum - БД конфигурации.

Данный пример доступен в исходных текстах как часть реализации СООБЗ Cerebrum (но не ЭС Elex - тоесть другой zip тянуть)
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127819
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
А почему Вы решили, что информационная система = бухгалтерские задачи?

А почему знак равно? Бухгалтерские системы - частный случай информационных.

guest_20040621
> Был проект,

То есть Вы считаете, что далеко идущие выводы можно делать на основании одного проекта? ;)

Конечно можно. Даже один проект может определить новый класс проектов. Пусть у этого класса и не будет много экземпляров. Все рвано это уже класс .
А по классу проектов выводы делать можно.

guest_20040621
> Этого удалось добится реализовав на основе SQL таблиц модель данных
> документа. Пришлось отказаться от 3NF.

Хм... что Вы имеете в виду под "моделью данных документа", поясните, пожалуйста.

Документооборот. Документ хранится в БД в разрезаном на атомарные значения виде. Документы бухгалтерские. Тоесть все прелести отчетов по изменяющимся во времени данным и по аттрибутам документов, которых уже нет или еще нет. Структура хранения документа не стабильна. Соответсвенно описание структуры документа так же находится в бд как ее содержимое.

guest_20040621
И почему пришлось отказаться от 3НФ?

Слишком большая была стоимость владения у предыдущих версий в связи с ограниченностью возможностей.

guest_20040621
Ну, на что это походит, зависит исключительно от направления взгляда наблюдающего. ;) В итоге все равно СУБД - реляционная, правда? ;)) Какого цвета на ней рюшечки - дело десятое.

Однако вовсе не десятое дело, какова модель предметной области, обрабатываемая этим СУБД. Если модель сетевая, то возникают накладные расходы на эмуляцию сети в таблицах РМД.

guest_20040621
Ну, я тоже много в чем уверен. Аргументы есть? Сравнение совокупной стоимости владения, например. Или любая другая объективная оценка?

От предыдущих версий пришлось отказаться ))
И далее
guest_20040621
> А обосновано это тем, что в реальном мире реальные сущности не
> организованы в ортогональные таблицы.

Позвольте поинтересоваться, что следует из этого наблюдения? И как это связано с недостатками [неудобством применения? неприспособленностью для решения задачи?] реляционных баз данных (вообще, было бы неплохо хотя бы перечислить, какими именно недостатками)? И с преимуществами нереляционных СУБД, естественно?
Приходится моделировать сети на основе РМД. А это приводит к дополнительным расходом. Сначала работаем с РМД как с РМД, затем переводим все в сеть и работаем уже как с сетью (куда деватся то если предметная область - сеть).
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127836
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> А почему знак равно?

Вот и я удивился. Чего бы вдруг?

> Конечно можно. Даже один проект может определить новый класс проектов. Пусть у этого класса
> и не будет много экземпляров. Все рвано это уже класс .
> А по классу проектов выводы делать можно.

Хм... ровно то же другими словами: кто-то забил гвоздь микроскопом, у него получилось, - значит, теперь считаем микроскоп инструментом для забивания гвоздей. Цитата: "Может, в консерватории что-то подправить?" ;)

> Документ хранится в БД в разрезаном на атомарные значения виде. Документы бухгалтерские.
> Тоесть все прелести отчетов по изменяющимся во времени данным и по аттрибутам документов,
> которых уже нет или еще нет. Структура хранения документа не стабильна.
> Соответсвенно описание структуры документа так же находится в бд как ее содержимое.

Вы просто не умеете их готовить. Абслютно стандартные проблемы со стандартными методами решений.

> Слишком большая была стоимость владения у предыдущих версий в связи с ограниченностью возможностей.

;) Ну, правильно, кривые поделки обходятся дорого. Чем больше радиус кривизны - тем дороже. Непонятно только, при чем здесь реляционные СУБД?

> Однако вовсе не десятое дело, какова модель предметной области, обрабатываемая этим СУБД.
> Если модель сетевая, то возникают накладные расходы на эмуляцию сети в таблицах РМД.
и
> Приходится моделировать сети на основе РМД. А это приводит к дополнительным расходом. Сначала
> работаем с РМД как с РМД, затем переводим все в сеть и работаем уже как с сетью (куда деватся
> то если предметная область - сеть).

Ну да, возникают. И не только на эмуляцию сети. И что в этом криминального? Я получаю гибкое, переносимое, легко управляемое, стандартное решение. В обмен на небольшую избыточность. Меня это абсолютно устраивает. В чем проблема-то?
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127848
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
Хм... ровно то же другими словами: кто-то забил гвоздь микроскопом, у него получилось, - значит, теперь считаем микроскоп инструментом для забивания гвоздей. Цитата: "Может, в консерватории что-то подправить?" ;)


Забивание гвоздей микроскопами - тоже класс задач. Возможно разработать оптимальные приемы забивания гвоздей микроскопом, разработать гвозди предназначеннче для забивания микроскопами ... ; ))) Если это экономически где то оправдано, почему нет?

guest_20040621
Вы просто не умеете их готовить. Абслютно стандартные проблемы со стандартными методами решений.

А кто спорит, только истинные святые великой веры в РМД способны правильно готовить документы. В этом абсолютно никто не сомневается )))

Для не обращенного в святую веру очень не помешает перечень ссылочек с кошерными методами по готовке документов.

guest_20040621
Ну да, возникают. И не только на эмуляцию сети. И что в этом криминального? Я получаю гибкое, переносимое, легко управляемое, стандартное решение. В обмен на небольшую избыточность. Меня это абсолютно устраивает. В чем проблема-то?

Криминального - ничего. А если устраивает - то и вовсе чудно. А вот многих РМД не устраивает. И решения на их основе, тоже не устраивают. Меня к примеру.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127860
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shuklin c127А эти задачи вообще всегда при решении единственным средством вызывают значительные трудности. Интересно увидеть ООБД, например, которая сама отрисует GUI на клиенте, или вдруг станет компилировать программное обеспечение.

В СООБЗ Cerebrum http://contest2005.gotdotnet.ru/Request/Apps/Other/168720.aspx
модель GUI описывается объектами находящимися в ООБД. При этом объекты, которые находятся на стороне БД получают и обрабатывают запросы GUI. Так что посмотреть можно уже сегодня )))

Ну где я сказал модель? Не "модель", а "отрисовывать". Модель и обработку запросов от ГУЯ я и в РСУБД нарисую без проблем.

shuklin
Сначала ответ теоретический. Если система равномощна в вычислительном плане машине Тьюринга - она может эмулировать любую другую машину Тьюринга. Отсюда следует, что начиная с некоторой сложности, система позволяет реализовать ВСЕ что угодно. Тоесть, на SQL можно реализовать сетевую архитектуру, а на ООБД можно эмулировать таблицы SQL.

Извиняйте, коллега, но СКЛ язык не полный, там нет рекурсии, в нем чего угодно (эквивалентное машине Поста) не напишете.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127877
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Ну где я сказал модель? Не "модель", а "отрисовывать". Модель и обработку запросов от ГУЯ я и в РСУБД нарисую без проблем.

OnClick реализуете в РСУБД ? Речь идет о обработке совбсвенно события и реализации всего полезного (в том числе и отрисовки) в объекте лежащем в СООБЗ. Чтайте мысли автора а не то что вам хотелось бы прочесть вместо них - будет легче понимать чужие идеи )))

c127Извиняйте, коллега, но СКЛ язык не полный, там нет рекурсии, в нем чего угодно (эквивалентное машине Поста) не напишете.

А эта мелочь в данном контексте не существенна, т.к. проблема заключалась в представимости сети средсвами SQL.

А рекурсию можно эмулировать организовав стек в какойто таблице. И ваще в данном контектсе стоит рассматривать SQL в расширенном контексте вместе с SP, триггерами и пр.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127887
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Забивание гвоздей микроскопами - тоже класс задач.

На мой взгляд - нет.

> А кто спорит, только истинные святые великой веры в РМД способны правильно готовить документы.
> В этом абсолютно никто не сомневается )))

Вы передергиваете. ;) Никто возможность приготовления документов не узурпировал. Полистайте форум, - даже здесь готовых решений - вагон и маленькая тележка. Это действительно типовые задачи.

> Для не обращенного в святую веру

У-у-у... я просто инквизитором себя чувствую. :(

> очень не помешает перечень ссылочек с кошерными методами
> по готовке документов.

Поиск, как всегда, рулит. Ключевые слова "версионность", "хронология изменений". Если хочется реального геморроя, поищите тред про объектную надстройку; дерьма там - валом, но пара интересных формулировок есть. ;) Если время совсем некуда девать, ищите "локализация" и "контроль доступа". ;) В результате этих несложных манипуляций примерное [ни в коем случае не полное] представление о кошерности [не только в области документооборота] - на мой взгляд - должно сформироваться. ;) Только зачем это Вам, если Вы уже выбрали другое решение? ;)

> Криминального - ничего. А если устраивает - то и вовсе чудно.

Консенсус. Несколько хм... вызывают дискомфорт заявления о неприспособленности РСУБД для решения задач, которые они традиционно успешно решают на статистически безальтернативной основе. ;)

> А вот многих РМД не устраивает. И решения на их основе, тоже не устраивают. Меня к примеру.

Хех, ну вот и славно. ;)

Кстати: давно хотелось послушать грамотных людей о semantic web. Не поделитесь своими взглядами?
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127902
с127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shuklin

OnClick реализуете в РСУБД ? Речь идет о обработке совбсвенно события и реализации всего полезного (в том числе и отрисовки) в объекте лежащем в СООБЗ. Чтайте мысли автора а не то что вам хотелось бы прочесть вместо них - будет легче понимать чужие идеи )))


А что за проблема с OnClick? По OnClick что-то должно произойти, это что-то лежит где-то в БД, его нужно взять, может быть обработать и отправить на клиент. Это такие же данные как и все остальное и вообще нет никакой разницы это РСУБД или ООСУБД, если последние вдруг когда-нибудь появятся.

shuklin
c127Извиняйте, коллега, но СКЛ язык не полный, там нет рекурсии, в нем чего угодно (эквивалентное машине Поста) не напишете.

А эта мелочь в данном контексте не существенна ...

Кому как. По-моему как раз интересный момент, тем более Вы же сами сказали что это немного теории. Но не настаиваю.

shuklin
А рекурсию можно эмулировать организовав стек в какойто таблице.

Со стеком проблемы нет, проблема с циклами или, что то же самое, с рекурсией. Нельзя получить последовательность натуральных чисел заранее неизвестной длины.

shuklin
И ваще в данном контектсе стоит рассматривать SQL в расширенном контексте вместе с SP, триггерами и пр.

Если SP, то проблем нет.



По-делу. Тут уже много раз говорилось что для того чтоб что-то обсуждать нужно сначала договориться о смысле ключевых слов. Поэтому хорошо бы определить понятия "знание", "база знаний", это главное, а также желательно "объект" (если он используется в понятии ООСУБД), "ООБД", "ООСУБД". Или дайте ссылки где это можно прочитать. А то мы ни до чего не договоримся, поскольку будем говорить о разных вещах.

На всякий случай: Вашу диссертацию я вчера прочитал, может не сильно внимательно, этих определений там не нашел, возможно пропустил, поэтому если на нее ссылаетесь то ссылайтесь поподробнее, с указанием страницы или подраздела.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127903
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с127
По-делу. Тут уже много раз говорилось что для того чтоб что-то обсуждать нужно сначала договориться о смысле ключевых слов. Поэтому хорошо бы определить понятия "знание", "база знаний", это главное, а также желательно "объект" (если он используется в понятии ООСУБД), "ООБД", "ООСУБД". Или дайте ссылки где это можно прочитать. А то мы ни до чего не договоримся, поскольку будем говорить о разных вещах.


Пардрн, слегка перепутал топики, тут как раз нужно обязательно определить объект и ООСУБД, а знание и БЗ не обязательно.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127917
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему, ООСУБД годятся для чего угодно. Если бы им скорость формирования коллекций по условию, соизмеримую со временем выполнения соотв. SQL-запросов, да средства навигации по объектному пространству (OQL/OCL и т.п.), да прозрачное отображение объектов языка программирования на объекты сервера - то ничего другого и нафик не нужно. А еще бы реализацию исполнения методов объектов - на сервере. Чтобы не уродоваться с ХП, триггерами и т.п.

Индексацию атрибутов объектов еще. Чтобы быстро получить именно то, что нужно. Для повышения скорости доступа к часто используемым коллекциям.
И сборку мусора - "правильную", чтобы "вдовые" объекты не подвисали, и клиенты не тормозились. И многопоточность. И репликацию объектов. И синхронизацию "копия объекта на клиенте" -> "объект на сервере" -> "другие копии объкта на других клиентах" прозрачную. Чтобы даже контролы отображения понимали, что данные изменились - и что нужно не "4", а "5" отображать.
Э... про необходимость развитого механизма запросов я уже говорил, так...
Механизм авторизации доступа на уровне владельца объекта и группы его пользователей (м.б. раздельно - к атрибутам и методам).
Механизмы блокировок. Разные - по настроению/желанию.
И восстановление после сбоев. Т.е механизмы репликации, резервного копирования и журнализации.
И много чего еще. Но самое главное - это "...прозрачное отображение объектов языка программирования на объекты сервера..." и скорость выполнения запросов. Тогда скорость разработки будет колоссальной (ООП!), и система тормозить не будет.


А если уж ты такой искалеченный, что без табличек жить не можешь - юзай коллекции. Ах, да - там же поддержки SQL нету...
Ну, пока не вымрет нынешнее поколение, взращенное на реляционной модели, с идеей ООСУБД будут носиться только продвинутые энтузиасты.

А так - 2 shuklin - мои респекты. Может, вы в одиночку, как К.Книжник, доведете свою СУБД до реализации, пригодной к применению. Очень бы хотелось.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33127965
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mvПо-моему, ООСУБД годятся для чего угодно. Язык ассемблера, скажем, тоже годится для чего угодно. mvЕсли бы им скорость формирования коллекций по условию, соизмеримую со временем выполнения соотв. SQL-запросов, да средства навигации по объектному пространству (OQL/OCL и т.п.), да прозрачное отображение объектов языка программирования на объекты сервера - то ничего другого и нафик не нужно. А еще бы реализацию исполнения методов объектов - на сервере. Чтобы не уродоваться с ХП, триггерами и т.п.
Индексацию атрибутов объектов еще. Чтобы быстро получить именно то, что нужно. Для повышения скорости доступа к часто используемым коллекциям.
И сборку мусора - "правильную", чтобы "вдовые" объекты не подвисали, и клиенты не тормозились. И многопоточность. И репликацию объектов. И синхронизацию "копия объекта на клиенте" -> "объект на сервере" -> "другие копии объкта на других клиентах" прозрачную. Чтобы даже контролы отображения понимали, что данные изменились - и что нужно не "4", а "5" отображать.
Э... про необходимость развитого механизма запросов я уже говорил, так...
Механизм авторизации доступа на уровне владельца объекта и группы его пользователей (м.б. раздельно - к атрибутам и методам).
Механизмы блокировок. Разные - по настроению/желанию.
И восстановление после сбоев. Т.е механизмы репликации, резервного копирования и журнализации.
И много чего еще. Но самое главное - это "...прозрачное отображение объектов языка программирования на объекты сервера..." и скорость выполнения запросов. Тогда скорость разработки будет колоссальной (ООП!), и система тормозить не будет.
Говоря иными словами, если бы у бабушки был #^@, это была бы не бабушка, а дедушка.
mvА если уж ты такой искалеченный, что без табличек жить не можешь - юзай коллекции. Ах, да - там же поддержки SQL нету...
Ну, пока не вымрет нынешнее поколение, взращенное на реляционной модели, с идеей ООСУБД будут носиться только продвинутые энтузиасты. Ну, зачем же переходить на личности. Вы скопом обвиняете практически 90% IT специалистов в "искалеченности"? То есть все идут не в ногу, а один Вася в ногу? Может, действительно что-то "в консерватории подправить" :)
Что ж вы так злитесь то? Юпитер сердится, значит он неправ.
И еще. Помните фразу "если с нами Бог, то кто же с ними?". Так вот. Если за нами наука и практика, то что же за вами?
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128197
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv
Ну, пока не вымрет нынешнее поколение, взращенное на реляционной модели, с идеей ООСУБД будут носиться только продвинутые энтузиасты.


Реляционным не пришлось ждать вымирания поколений, взращенных на дореляционных моделях. Вот в чем заковыка таких предположений. Тогдашним продвинутым энтузиастам повезло больше. Либо они попродвинутее были нынешних, либо сама РМД все еще попродвинутее ООП, механически перенесенного на БД. Т.е. взяли просто данные своих прог и попытались сделать их БД, ну что-то прицепили от дореляционных. Этого, возможно, принципиально не достаточно с одной стороны, так как они могли унаследовать дореляционные черты - начали почти с чистого листа. Внешним признаком этого остается, то что многие бедные энтузиасты все еще могут претендовать налабать свои ООСУБД, у которых нет недостатков уже существующих. А ведь им уже 15 лет. Там видно полно всякого рода, и всегда есть место более продвинутым энтузиастам. С другой стороны есть, возможность перенести ОО рациональное зерно в РМД. Тем самым не возвращаться к устаревшим 30 лет назад идеям. И придется ждать вымирания еще нескольких поколений. А так как все не стоит на месте, может отмереть сама ООУБД, останутся тока энтузиасты, хотя и якобы продвинутые. Часто это просто бывшиее ООП кодеры из других проблемных областей, не связанных с приложениями БД, либо реальные базисты желающие создать свое СУБД. Но есть пока тока одно направление, относительно легкое, и где можно найти потребителей - тех самых ООП кодеров. Конечно, есть посложнее - СУБЗ. Но там реальные специ (а не просто продвинутые энтузиасты) уже долго никак ничего не могут реально продвинуть. Хотя я думаю их время еще придет.
Так что тут много неясного еще про то, кто вымрет и что будет.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128259
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv
Складывается впечатление, что ООП для Вас это не средство, а цель. По принципу "Что знаю, то и хочу везде и всегда". Мечты хорошо, однако где гарантия, что даже если они исполнятся, ООСУБД будут действительно удобнее чем РСУБД ? Идеалы и стандарты могут быть только в планах, при реализации продукта все равно идеалы и стандарты будут нарушены в силу изменения внешних условий, наложения ограничений текущей среды (ОС, используемое для разработки ПО и т.д.) или же непредвиденных обстоятельств.

Но самое главное - открою Вам секрет. Все что Вы хотите видеть в ООСУБД - ЕСТЬ В РСУБД !!! Причем не первый год, все отлажено, надежно и постоянно совершенствуется. И чтобы этим воспользоваться не нужно ждать чуда, мечтать и кидаться из стороны в сторону. Нужно всего лишь кое что подкрутить в голове, научиться мыслить в разных измерениях, для разных технологий, уйти от однобокости в мышлении. И настанет счастье - окажется, что непонятный SQL на самом деле понятный, краткий и очень мощный. Окажется, что ООП это не процедурные C, Java или ObjectPascal, кои являются всего лишь частной реализацией, а всего лишь один из способов описания данных, так же как и релляционная алгебра. При хорошем знании и того и другого окажется, что все 3 принципа ООП ложаться на РСУБД, если смотреть именно на принципы, а не привычные описания классов и манипуляции обьектами в процедурных языках.

Но для всего этого нужно стать этаким "буддистом" и научиться вместо отрицания чуждых, противоречащих собственной, религий, добиваться их понимания, осмысливания и принятия, помня, что на самом деле даже все разное - это часть одного общего, просто находящееся в другом измерении. Таким образом можно будет добиться разносторонних знаний, то есть стать действительно ценным специалистом, который в зависимости от ситуации может предложить достаточно широкий спектр решений, частенько удачно комбинируя касалось бы противоречащие друг другу алгоритмы из разных "измерений".
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128300
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все знали, что OS/2 лучше Windows, но где она теперь?
Это я о чем? А о том, что технические преимущества и недостатки вовсе не являются главными критериями, определяющими популярность и обеспечивающими процветание тех либо иных систем. И если завтра кто-то из большой тройки вдруг решит, что пришло время ООСУБД, то не пройдет и года, как все на них перейдут (заметьте, почти без всяких колебаний). А если не решит, то все также уверенно будут говорить о преимуществах РСУБД.

C'est la vie.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128321
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shuklin
...
Итак, чтобы продемонстрировать достоинства ООБД надо найти задачу, модель предметной области является сетью и / или требует наследования и полиморфизма. (Кстати версант не может продемонстрировать такие преимущества, так как они сами и признались, методы у объектов в БД не поддерживаются, тогда одного из удобнейших возможностей ОО - полиморфизма в FastObjects нет, мне странно, как можно не поддерживать полиморфизм в .NET Возможно Алексей что то напутал или недообъяснил и полиморфизм таки есть )
...


В ООСУБД Versant коды методов не хранятся в самой БД - они являются частью кода приложения, которое с этой базой работает. Разумеется, в рамках .NET-платформы можно организовать и хранение этих кодов в самой БД (например, в blob-атрибутах), но на практике это крайне редко может быть нужно. Возможно это нужно в нейронных сетях. Но вот в CAD/CAM и пр. - вряд ли. И даже когда это нужно, в крайнем случае достаточно ввести хранение методов применяемых к классам объектов, но не к каждому объекту индивидуально, как в вашей системе.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128372
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin

Спасибо за ответ, хотя и не на мой вопрос! Его формулировка действительно допускала ваш ответ, но мне интересно не это.

Я полностью согласен с вашим ответом вплоть до строк
Однако возможность нарушать 1NF - хранить в одном атрибуте объекта список значений из этих ID позволяет реализовывать коллекции объектов использующих метод прямой навигации (что в РБД уже затруднительно, так как отношения один ко многими или составной ключ - это уже не один а несколько операций поиска по индексам, к тому же прямая навигация в таком случае ИМХО удобнее JOIN ).

Это, на мой взгляд, не совсем верно с точки зрения решения задачи в рамках модели данных. Так как это все-таки вопрос физической реализации.

Постараюсь уточнить вопрос. Мне хотелось бы увидеть модель на UML реализация которой родными средствами РБД была бы не эффективна. Под родными средствами я понимаю ее реализация в виде R-схемы (или прямо SQL DDL&DML).
При этом я думаю что можно утверждать что такая модель будет существовать (с некоторыми оговорками) и при этом все ее отношения будут приводимы к 3НФ.

PS> к стати, вы первый кто вспомнил о том что в РБД "плохо" с динамическим полиморфизмом и я с этим полностью согласен
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128456
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuriPS> кстати, вы первый кто вспомнил о том что в РБД "плохо" с динамическим полиморфизмом и я с этим полностью согласенВот это очень интересный аспект на мой взгляд... Если уж брать РМД, то там нет никаких проблем с динамическим полиморфизмом. Достаточно сказать что-то вроде

R := R EXTEND ADD ('A' AS A);

чтобы у relvar R появился новый атрибут. Или

R := R {ALL BUT A};

чтобы убрать соответствующий атрибут. То есть мы можем легко и непринуждённо преобразовать одно отношение в совсем-совсем другое, используя алгебру. Такое возможно в обсуждаемых тут системах?

Другое дело, что если предположить, что R - "базовое" отношение и содержит большое количество кортежей, то такая операция при реализации окажется очень ресурсозатратной. Может оказаться таковой (зависит от реализации). Но ведь, насколько я понимаю, в обсуждаемых здесь системах всё то же самое. Обновление спецификации класса, количество экземпляров которого в базе исчисляется миллионами, тоже очень затратным делом...
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128468
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважемый Павел, мы не про ниследование и отношение "is a" говорим, а про динамический полиморфизм. Это, если грубо, поведение, а не структура.

Но, забегая вперед, скажу что у РМД с ним действительно проблем нет - это проблемы конкретных продуктов (всех)
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128483
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел,

дело еще и в том, что РМД - это модель, позволяющая формально описать данные. ОМД - кроме этого позволяет описывать поведение (на мой взгляд, это чуть ли не единственное отличие)
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128489
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuriУважемый Павел, мы не про ниследование и отношение "is a" говорим, а про динамический полиморфизм. Это, если грубо, поведение, а не структура.

Но, забегая вперед, скажу что у РМД с ним действительно проблем нет - это проблемы конкретных продуктов (всех)Тогда о чём это, уважаемый Юрий? Мне хотелось бы понять каким боком полиморфизм (да ещё и динамический) относится к поведению? Не корысти ради, а просвещения для...
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128490
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и еще - насчет ресурсоемкости... IMHO изменение описания схемы/описания классов это операции которые в большинстве случаев делаются редко и не на рабочей системе. Так что их ресурсоемкость - это дело второе
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128505
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Воронцов

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
class Parent{
public void printName() {
System.out.println("parent");
}
}

class Child extends Parent{
public void printName() {
System.out.println("child");
}

public static void main(String[] args) {
Parent obj = new Child();
obj.printName();
}
}

...
java Child
...

> child


Реализация динамического полиморфизм в C++, java, C# основана на механизме виртуальных функций.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128581
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuri.... skip ....
Реализация динамического полиморфизм в C++, java, C# основана на механизме виртуальных функций.Тут я тоже не вижу никаких проблем ни в РМД ни в современных СУБД. Хоть заперееопределяйся.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128596
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Воронцов

Что именно имеется в виду? (сразу скажу что я о возможностях SQL и его "Procedural extension")
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128676
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuri

Поскольку мы имеем дело с СУБД, задача которой - хранение, манипуляция и целостность данных, единственные существенные действия - добавление/изменение/удаление записи. И тут простор - от констрейнтов до триггеров. Проблемы конечно есть, но общая идея ясна.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128707
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, вот вы о чем. Я говорил про другие операции (не CRUD). Что касается же их, то Create - в ОО-языках обычно не полеморфен (т.е. это не виртальная функция), а так да - с CRUD в РСУБД все вроде нормально
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128723
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А другие операции в СУБД и не нужны. Всё остальное к логике хранения, манипулирования и целостности данных отношения не имеет.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33128745
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Воронцов

Павел, вы же сами любите говорить, что современная СУБД это не только данные + ограничения целостности... Хотя да, это относится к требованиям к процедурным расширениям, а не к РБД как таковой. Но, если не придираться, то хранимые процедуры сейчас неотъемлемая часть СУБД
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129012
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mvПо-моему, ООСУБД годятся для чего угодно....

Абсолютно и полностью согласен со всеми тезисами. Чтобы их воплотить в жизнь - нада работать )) Движемся потихоньку.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129023
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с127Нельзя получить последовательность натуральных чисел заранее неизвестной длины.


К слову. С точки зрения чистых теоретиков, эта задача не решаема обычным компом в принципе (Хотя абстрактной машиной Тьюринга - решаема). См. докозательство Клини. (Идея - как представить число с размерами битового образа превышающими суммарный объем RAM & HD ?)
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129034
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Только зачем это Вам, если Вы уже выбрали другое решение? ;)


Действительно, проверили ряд решений, выбрали, реализовали, внедрили, завершили внедрение уже как 2 года назад, теперь из чисто ностальгических соображений иногда со старыми знакомыми пивко потягиваем )) Вроде не жалуются )))
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129045
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с127На всякий случай: Вашу диссертацию я вчера прочитал, может не сильно внимательно, этих определений там не нашел, возможно пропустил, поэтому если на нее ссылаетесь то ссылайтесь поподробнее, с указанием страницы или подраздела.

Определений объекта и других ООП понятий в диссере нет вовсе - диссер нейронкам посвящен. Проблема построения базы знаний в диссере затронута краем, четких определений из области БЗ там тоже нет. В качестве книжки на ночь рекомендую японский пятитомник по ИИ. Он как раз проблеме знаний посвящен.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129084
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey RovdoВ ООСУБД Versant коды методов не хранятся в самой БД - они являются частью кода приложения, которое с этой базой работает.

Что мне не ясно. Я помню, что ты говорил, что методы не поддерживаются. Однако, что мешает мне реализовать в классе, хранящемся в БД FastObjects какой нибудь абстрактный интерфейс? Что произойдет если вызвать метод такого интерфейса? Во всех примерах которые ты приводил (из тех что я видел) ни ни методов ни темболее интерфейсов в классах, живущих в БД не наблюдалось. Мне непонятно как можно запретить наследование интерфейсов являющееся частью .NET Framework и что будет если такое реализовать и попытаться запустить? Об этом я и писал.

Alexey Rovdoне к каждому объекту индивидуально, как в вашей системе.

А про чужую разработку фантазировать не надо )) Я вот очень пытаюсь не зная деталей реализации БД от версант ничего к ним своего не прифантазировать )))

В моей системе реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД. Только данные экземпляра хранятся в БД. А описание метаданных и реализация методов - обеспечивается средой .NET
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129137
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ВоронцовА другие операции в СУБД и не нужны. Всё остальное к логике хранения, манипулирования и целостности данных отношения не имеет.

Если для решения ваших задач такие операции не нужны, это не значит, что они не нужны и для решения всех остальных задач.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129142
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Действительно, проверили ряд решений, выбрали, реализовали, внедрили,
> завершили внедрение уже как 2 года назад, теперь из чисто ностальгических
> соображений иногда со старыми знакомыми пивко потягиваем )) Вроде не
> жалуются )))

Ну и чудненько. ;)

Позволю себе влезть в дискуссию:

> Чтобы их воплотить в жизнь - нада работать )) Движемся потихоньку.

Хех, дело хорошее. Вы намерены - imho, это следует делать в первую очередь - написать-таки открытый стандарт для ООСУБД? ;)
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129691
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shuklin
...
В моей системе реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД. Только данные экземпляра хранятся в БД. А описание метаданных и реализация методов - обеспечивается средой .NET

Ну что же, значит я вас не правильно понял. Впрочем, учитывая следующие ваши фразы, у меня были некоторые основания так думать:

shuklin
... в базе храняться не данные, а объекты .NET. У них могут быть методы , свойства, поля ( логично было предположить, что все это хранится в базе - A.R)

А у вас нельзя даже метод в объекте на стороне БД исполнять ... ( а у вас получается можно исполнять метод в контексте БД ? - A.R.)

( 3) а где эти методы исполняются (учитывая распределенный характер системы)? -A.R.)
На стороне движка БД

... объект имеет право реализовать любой абстрактный интерфейс. То есть в cerebrum можно восспользоваться полиморфизмом. каждый объект имеет право реализовать свою собственную версию такого метода .

у каждой строки (внутри системы) есть набор методов который определяется классом .NET объекта ...

- база знаний
База некоторых сущностей в которой храняться не только данные (простые типы) но и методы по обработке этих данных .

Ну вот а теперь вы пишете "реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД". И оп-ля - я снова не вижу никакой разницы между вашей системой и Versant FastObjects .NET. А если нет разницы, то ...
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129858
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklinЕсли для решения ваших задач такие операции не нужны, это не значит, что они не нужны и для решения всех остальных задач.Они не нужны для решения задач хранения, манипулирования и целостности данных . Всё другое-остальное (очереди сообщений, посылка-приём email, полнотекстовые индексы, преобразование медиа-информации на лету (сжатие картинок к примеру), etc) тоже можно запихнуть в СУБД и это будет даже удобно и хорошо, но к собственно задачам СУБД не будет иметь никакого отношения. Бантики и рюшечки. funikovyuriПавел, вы же сами любите говорить, что современная СУБД это не только данные + ограничения целостности... Хотя да, это относится к требованиям к процедурным расширениям, а не к РБД как таковой. Но, если не придираться, то хранимые процедуры сейчас неотъемлемая часть СУБДВполне согласен.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129964
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Rovdo shuklin
...
В моей системе реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД. Только данные экземпляра хранятся в БД. А описание метаданных и реализация методов - обеспечивается средой .NET

Ну что же, значит я вас не правильно понял. Впрочем, учитывая следующие ваши фразы, у меня были некоторые основания так думать:

shuklin
... в базе храняться не данные, а объекты .NET. У них могут быть методы , свойства, поля ( логично было предположить, что все это хранится в базе - A.R)

А у вас нельзя даже метод в объекте на стороне БД исполнять ... ( а у вас получается можно исполнять метод в контексте БД ? - A.R.)

( 3) а где эти методы исполняются (учитывая распределенный характер системы)? -A.R.)
На стороне движка БД

... объект имеет право реализовать любой абстрактный интерфейс. То есть в cerebrum можно восспользоваться полиморфизмом. каждый объект имеет право реализовать свою собственную версию такого метода .

у каждой строки (внутри системы) есть набор методов который определяется классом .NET объекта ...

- база знаний
База некоторых сущностей в которой храняться не только данные (простые типы) но и методы по обработке этих данных .

Ну вот а теперь вы пишете "реализация методов объектов находится в обычной .NET сборке лежащей в файловой системе рядом с БД". И оп-ля - я снова не вижу никакой разницы между вашей системой и Versant FastObjects .NET. А если нет разницы, то ...

Все что я написал имеет место быть)) Какие проблемы запустить метод находящийся в сборке из домена бд? Разработчики версант знакомы с понятием thread, domain ? Встречный вопрос, почему вы говорите что в версанте объекты не могут реализовывать методы? Зачем же так свой продукт опускать? Или таки не могут на самом деле? Чем это обосновано технически ? Я вот не вижу причин. Мне реализовать эту возможность ни стоило ни каких усилий - это естественное поведение .NET Вы еще более странные вещи говорите ))
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129965
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir... Вы скопом обвиняете практически 90% IT специалистов в "искалеченности"?... Боюсь, что даже 99% - слишком смелое предположение. (Я имею в виду тех, кто проектирует БД - приложения)

2 shuklin - Вы знакомились с GOODS? Ну, хотя бы со структурой и принципами реализации, в плане того, чтобы Вам легче свою систему развивать.

Ну, конечно, нет там реализации методов на сервере - но т.к. система открытая, можно много придумать.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129969
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot shuklin]В связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается.
[quot]

Кто нибудь вызов принял ? )))
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33129983
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin shuklinВ связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается.


Кто нибудь вызов принял ? )))
1.
Код: plaintext
1.
2.
3.
- Правда-ли, что мужчина может родить?
- Нет, пока таких случаев не наблюдалось, но работа
в этом направлении ведется!
2. Есть статейки по этому поводу. Сам понимаешь, дикие тормоза при реализации.
3. Перестань издеваться!
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130010
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin shuklinВ связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается.
Кто нибудь вызов принял ? )))
Код: plaintext
create view ....
В чём проблема-то?
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130050
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Воронцов
Код: plaintext
create view ....
В чём проблема-то?

Пример этого View в студию !
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130051
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv2. Есть статейки по этому поводу. Сам понимаешь, дикие тормоза при реализации.
3. Перестань издеваться!

А что не так в предложении, в Cerebrum более-менее работает без тормозов. Собственно дисскуссия касается обнаружения задачи, которая решается на основе ООБД и решается на порядок менее эффективно на основе РСУБД.

Можно ли считать что такая задача найдена?
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130054
funikovyuri правильно, наверное, не согласился со "строками ответа" shukin. Но акценты не те, мне кажется.
Во-первых, для организации связей (причем не только многие-ко-многим) не следует, как это делает shukin, "хранить в одном атрибуте ... список значений из этих ID". При таком подходе невозможно будет реализовать связи многие-ко-многим, у которых есть собственные характеристики (свойства); затруднительно хранить семантику связей (любого типа); и т.п. Связи нужно и представлять, и хранить, как связи. Иначе все вырождается в то, что сейчас делают сторонники РСУБД в рамках "развития" своих продуктов до ОРСУБД ("вложенные" "таблицы", "встроенные" "объекты", ...).
И, во-вторых, "родные средства РБД" не могут, например, "представить" связь многие-ко-многим "из UML"...
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130120
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 shuklin
Непонятно, честно говоря, вообще цель Вашего вопроса "Задачи для объектно-ориентированных СУБД". Поддержки здесь вы все равно не найдете, скорее всего, а все обсуждения скатятся сперва до уровня "медленнее/быстрее", потом Вас обвинят в незнании терминологии, а закончится простым непониманием. Ответом для Вас будет один - "Таити, Таити... нас и здесь неплохо кормят!"
С РСУБД - все ясно - есть обширный класс задач, которые более - менее эффективно реализуются средствами реляционной модели. Естественно, ВСЕ они решаются и средствами ОО - моделирования - но с гораздо меньшими трудозатратами при проектировании. Ради уменьшения трудозатрат при разработке/сопровождении люди готовы идти и на O/R маппинг, невзирая на неминуемые тормоза.

По поводу Вашей задачи - что-то подобное я делал (даже чуть "страшнее" - там дополнительно была реализация модели реляционных таблиц, но с переменным числом столбцов, изменяемым в рантайме). От моделирования до рабочего прототипа прошло всего дня три. Использовался O/R маппинг - тормозило все, сами понимаете, неслабо.
Когда предложили переписать "напрямую", "традиционными" средствами с РСУБД - я посмотрел на диаграмму классов в Розе, погрустил - и отказался переводить диаграмму классов в ER - диаграмму для РСУБД. В принципе, методы перевода известны, но как дело дошло до реализации наследования и полиморфизма - то столько гемора, что ну его нафик. А потом сопровождать все это?

Вот, еще рассказка: вот, не понравилось шефу, что редактор диаграмм классов у нас чужой. Ну, Роза. Через неделю мы имели отлаженный свой собственный графический редактор классов. Проблем с тормозным маппингом на этот раз не было, т.к. объектов (классов/ассоциаций) обычно не очень много, и все помещаются в память (т.е. все же O/R маппинг был, но он не мешал). Напишет кто-нибудь "свою Розу" или пусть "свой ErWin" методами традиционного секса", использу обычные РСУБД? Ну, в общем, Вы называли это область - САПР/Моделирование. Но с использованием ОО - методов эти области становятся такими же доступными как, скажем, проектирование складской программы на Delphi+InterBase. Естественно, знание предметной области никто не отменял.

Так что выигрыш от использовании ОО - подхода при проектировании приложений, работающий с СУБД - громадный. Вот только маппинг (на сегодняшний день) может все преимущества сожрать.

Поэтому нужны ООБД. Которые быстрые. И к которым маппинг не нужен.
Сделайте, и будете русским Б.Гейтсом. Или Линусом Торвалдсом. Известным как украинский Дмитрий Шуклин. Какая нафик разница, лишь бы работало...
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130122
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 ();

Если интересно, как должна выглядеть реальная схема метаданных - возьмите системные таблицы любимой СУБД. В чем проблема?

Дружище, Ваша работа с теоретической точки зрения, наверное, действительно представляет интерес. Для продакшн, на минуточку, нужно выполнение еще целой кучи условий, главное из которых - это уже было отмечено - публичный стандарт.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130150
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 писать? А кто ее купит, по такой цене?!

Как говорил Жванецкий - "Давайте спорить о вкусе устриц с теми, кто их ел". Где устрицы? Ау-у!
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130163
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Отлично! Осталось только привести код запроса, формирующего новую метатаблицу
> как сущность эмулируемой системы, ну и запрос, выбирающий данные из такой мататаблицы.

;) Дружище, Вы о чем? На вопрос shuklin'а я ответил абсолютно адекватно.

> И оценить хотя бы ожидаемую производительность такой системы.

В каком-то треде (по-моему, как раз об объектной надстройке или похожем) была оценка для похожей структуры. Поищите, если интересно. Непонятно только, для чего это Вам?

> О чем спор-то?!

В [1642356] речь шла о реляционных СУБД и структуре для метаданных. Про любимую СУБД: автор в [1636938] упоминал о реализации чего-то-там-псевдообъектного на реляционной СУБД. Поскольку с этой СУБД опыт работы есть, а названия я в сообщении не нашел, идентифицировал ее таким образом.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130178
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shuklin с127Нельзя получить последовательность натуральных чисел заранее неизвестной длины.


К слову. С точки зрения чистых теоретиков, эта задача не решаема обычным компом в принципе (Хотя абстрактной машиной Тьюринга - решаема). См. докозательство Клини. (Идея - как представить число с размерами битового образа превышающими суммарный объем RAM & HD ?)

А кто тут говорил об обычном компьютере? В чистом СКЛ-е она не решаема вообще нигде, а в полных языках, как PL/SQL, например - решаема.

shuklin
Определений объекта и других ООП понятий в диссере нет вовсе - диссер нейронкам посвящен. Проблема построения базы знаний в диссере затронута краем, четких определений из области БЗ там тоже нет.

Чему посвящена диссертация я примерно представляю, я его привел для примера, что ссылка просто на источник малопродуктивна, нужно указывать страницу, если их в источнике много.


shuklin
В качестве книжки на ночь рекомендую японский пятитомник по ИИ. Он как раз проблеме знаний посвящен.


Вот об этом и речь. А поточнее ссылку дать нельзя? Например название книги, автор. Может есть что-то в сети, а то в библиотеке не всегда есть. Вообще немного странно что для того чтоб дать определение понятия "знание" необходимо написать 5 томов. Я как-то себе это представлял по-другому.

А где взять определение объекта и ООБД? Мне приводили ссылки, но эта книга постоянно на руках Может Вы что нибудь подобное знаете?

shuklin shuklinВ связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается.


Кто нибудь вызов принял ? )))

Это не вызов, это детские игрушки. Посмотрите например МС ЛДАП, реализовнном в реляционном МССКЛ сервере. Правда там не таблицы а объекты и иерархическая структура. Но разницы никакой поскольку объекты допускают хранение списков поэтому такой объект уже готовая таблица. Можно определять ссылки и тому подобное.

Или вариант guest_20040621.

Как правильно сказали при работе это страшные тормоза, но принципиальных проблем нет.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130217
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklinПример этого View в студию !Вопрос звучал так: shuklinВ связи с этим от апологетов РБД я бы хотел увидеть эмуляцию РБД средсвами РБД допускающую создания новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается.
Так вот любое представление на любой наперёд заданной структуре таблиц отвечает условию задачи. Это именно " создание новых "виртуальных" таблиц на основе некоторой фиксированной по колличеству таблиц структуры БД. Тоесть, при создании новой виртуальной таблицы новая таблица в БД не создается. " в чистом виде. Я уж не говорюо примере Прошлогоднего Гостя. Это вообще классика...
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33130433
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, братцы, я тут как раз в тему...
Мне нужно на DB2 нарисовать пример, чтобы показать объектно-ориентированные возможности этой базы. Вот только, блин, никак не могу найти подходящуюю область для применения всех этих наворотов. Т.е. все области достаточно хорошо описываются в простой реляционной модели.

Я думаю если взять тему .. ну допустим машины ...
Как построить иерархию классов? Какие атрибуты, какие методы? мож кто мысль какую подкинет?
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33131338
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Вот только, блин, никак не могу найти подходящуюю область для применения
> всех этих наворотов. Т.е. все области достаточно хорошо описываются
> в простой реляционной модели.

Пример номер раз. Представьте, что любые сущности, описываемые в базе данных, могут быть связаны с объектами авторского права. Объекты авторского права имеют владельцев (если хочется полной картины, то еще и область правоприменения).

Пример номер два. Представьте, что Ваша задача - регистрировать источники данных для Вашей базы данных, т. е. любая запись в базе данных имеет источник данных. Жестких требований к источникам данных нет, - т. е. это может быть все, что угодно (пресса, слухи, сообщения частных лиц, нормативные документы, события etc).
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33131406
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 guest_20040621
Ну а чуть чуть поконкретней, не так общо...

Ну, например, возьмем источники для базы данных.

Код: plaintext
1.
2.
3.
4.
5.
CREATE TYPE SRC AS (
   SRC_NAME CHAR( 30 )
) INSTANTIABLE NOT FINAL
MODE DB2SQL
@
а дальше? какие идеи? какие еще атрибуты добавить? какие методы?
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33131479
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Ну, например, возьмем источники для базы данных.

ОК, пусть будут источники.

У каждого типа источников есть свои атрибуты (для прессы - понятно, для нормативных документов - владелец, номер, дата, дата регистрации в Минюсте (пусть будут только отечественные документы), дата официальной публикации etc). Некоторые из источников могут быть связаны с описанными в базе данных сущностями. Было бы правильно иметь возможность связывать такие источники с записями или сущностями, которые появятся в базе данных позже (т. е. на момент описания источника их нет).

Т. о. неприспособленность задачи для традиционной реляционной модели заключается в том, что 1. запись может иметь больше одного источника, следовательно, обычную модель сложно использовать (количество таблиц связи приблизительно равно количеству таблиц, описывающих сущности), 2. сложно получить приемлемые результаты для выбора всех записей базы данных, связанных с определенным источником (особенно с учетом атрибутов источника): представьте себе запрос с выборкой из пары тысяч (ну, или сколько их в среднестатистической базе данных?) таблиц, 3. сложно связать источники данных с сущностями базы данных (громоздкая структура).

> а дальше? какие идеи?

Так все, собственно. ;) Imho и без дополнительных условий достаточно объемная задача. С одной стороны, связь источников с сущностями - владельцами, с другой - связь сущностей с источниками.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33131602
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>для прессы - понятно
может для нее и понятно.. хм .. а для меня нет.. наверно тормоз потому-что...
О владельце - то... хм.. эт наверно акционеры - их много.
Тут как-то не очень ОО подход подходит (сорри за мало масляное...)

Код: 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.
CONNECT TO TEST@

-- Единственное что есть у каждого источника - наименование
CREATE TYPE SRC AS (
   SRC_NAME CHAR( 30 )
) INSTANTIABLE NOT FINAL
MODE DB2SQL
REF USING CHAR( 13 ) FOR BIT DATA
@

-- Газеты
CREATE TYPE SRC_NEWSPAPER UNDER SRC AS (
	DT DATE,
	COUNTRY  CHAR( 20 ),
	NUM_PRESS  CHAR( 10 ),
	SIZE_PRESS INT
) INSTANTIABLE NOT FINAL
MODE DB2SQL
@

-- Web
CREATE TYPE SRC_WWW UNDER SRC AS (
	URL varchar( 255 )
) INSTANTIABLE NOT FINAL
MODE DB2SQL
@

--Телевидение
CREATE TYPE SRC_TV UNDER SRC AS (
	COMPANY VARCHAR( 255 ),
	COUNTRY	 CHAR( 20 )
) INSTANTIABLE NOT FINAL
MODE DB2SQL
@

--Книги
CREATE TYPE SRC_BOOK UNDER SRC AS (
	AUTHOR	VARCHAR( 255 ),
	YEAR CHAR( 20 ),
	PUBLISHER VARCHAR( 255 )
) INSTANTIABLE NOT FINAL
MODE DB2SQL
@



А методы будут?...
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33131665
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> может для нее и понятно.. хм .. а для меня нет..

Тип (журнал, газета), периодичность, регистрационный номер, регистрирующий орган, редакция (с реквизитами), - т. е. то, что обычно пишут в выходных данных.

> О владельце - то... хм.. эт наверно акционеры - их много.

Имелось в виду то, что владелец источника (в широком смысле владелец, т. е. это необязательно имущественное право собственности) может быть описан в базе данных в соответствующей структуре данных. Например, пусть одна из задач основной базы данных - регистрация юридических лиц. В числе прочих мы описали Издательский дом "Коммерсантъ". В качестве одного из источника данных мы используем газету "Коммерсантъ". Так вот нам нужно две связи: газета "Коммерсантъ" принадлежит Издательскому дому "Коммерсантъ" с одной стороны и ссылки на газету "Коммерсантъ" для тех записей базы данных, где газета выступает источником данных - с другой.

> Тут как-то не очень ОО подход подходит (сорри за мало масляное...)

Я привел это как пример, когда неудобна реляционная схема. А насколько для реализации этой задачи подойдет ОО, - судите сами.

Мой вариант решения этой задачи основан на использовании метаданных, отличных от системных.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33132244
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman... нарисовать пример, чтобы показать объектно-ориентированные возможности ...

В качестве простого примера ОО - подхода можно предложить процесс создания древовидной структуры из разнородных сущностей (Задача класса "Что из чего состоит"). Базовую сущность определяем как ассоциированный сам с собой класс ( + накидываем закрытые методы, броющииеся против "зацикливания" и т.д. и т.п. - дерево, короче), а все остальные сущности наследуются от базового. В итоге получаем древовидную структуру из сущностей любого типа - достаточно лишь, чтобы эти сущности наследовались от класса, представляющего собой базовое дерева. Ну, можешь на некоторые объекты установить ограничения, чтобы от них нельзя было ветвиться (типа: от веток - можно, а от листьев - нет).
Не могу сказать, что этого нельзя сделять средствами РСУБД (вспомним упоминание о машине Тьюринга - сам пользуюсь - ) - просто средствами ОО это делается не дольше, чем Вы читали мой пост.

Еще задачка - предположим, злобный заказчк желает, чтобы каждый чих юзера фиксировался в логе - в т.ч. попытки чтения любых данных. Тоже все просто. В базовом классе просто переопределяем два метода - начинающий и завершающий транзакцию. В первом фиксируем параметры запроса к данным, во втором - пишем результаты выполнения запроса в лог.

Ну, в общем, возьми любую задачу, в которой требуется, чтобы разные объекты вели себя ПОХОЖИМ (но не обязательно одинаковым) образом. Т.е. там, где удобно применять наследование и полиморфизм.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33133090
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv

Не могу сказать, что этого нельзя сделять средствами РСУБД (вспомним упоминание о машине Тьюринга - сам пользуюсь - ) - просто средствами ОО это делается не дольше, чем Вы читали мой пост.

В том то и дело - что в РБД это делаеться один в один как и в ОО-языке
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33134776
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127А поточнее ссылку дать нельзя? Например название книги, автор. Может есть что-то в сети, а то в библиотеке не всегда есть.
Представление и использование знаний / Под ред. Х. Уэно, М. Исидзука - М. Мир 1989 - 220 с.

c127Вообще немного странно что для того чтоб дать определение понятия "знание" необходимо написать 5 томов. Я как-то себе это представлял по-другому.

Мало того, в каждом томе свое определение этого термина и сноска, что определение не окончательное и требуются дальнейшие исследования этого вопроса.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33135439
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shuklin
Представление и использование знаний / Под ред. Х. Уэно, М. Исидзука - М. Мир 1989 - 220 с.

А как оно пишется по-английски? Там должно быть на одной из первых страниц.

shuklin
Мало того, в каждом томе свое определение этого термина и сноска, что определение не окончательное и требуются дальнейшие исследования этого вопроса.

Ужас. И как Вы работаете при таком бардаке, как можно хранить и обрабатывать неизвестно что? Вы же построили систему хранения и обработки чего-то конкретного.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33135583
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня тут как-раз воникла идея относительно применения ОО в РСУБД. Причем - слегка смешивая эти технологии. Как только оформлю код - поделюсь.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33136149
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanУ меня тут как-раз воникла идея относительно применения ОО в РСУБД. Причем - слегка смешивая эти технологии. Как только оформлю код - поделюсь.У Кодда и Дарвена она тоже возникла. Читайте 3 Манифест.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33136153
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть у Дейта и Дарвена, конечно же.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33136685
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127А как оно пишется по-английски? Там должно быть на одной из первых страниц.

Ну это я вам в скором времени предоставить не смогу (( Сейчас в бумаге этой книги рядом со мной нет.


c127Ужас. И как Вы работаете при таком бардаке, как можно хранить и обрабатывать неизвестно что? Вы же построили систему хранения и обработки чего-то конкретного.

А в этом как раз и прелесть научной работы по сравнению с инженерной. В производстве нельзя исспользовать непроверенные инновации, а в науке наоборт поощряется изобретение собственных велосипедов.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33137294
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shuklinА в этом как раз и прелесть научной работы по сравнению с инженерной. В производстве нельзя исспользовать непроверенные инновации, а в науке наоборт поощряется изобретение собственных велосипедов.

Создавая СУБЗ или как оно там Вы как раз занимаетесь самой что ни на есть инженерной работой. В своей конкретной системе Вы храните какие-то конкретные сущности. Вопрос в том что именно. Вы не можете сказать что изобрели велосипед который состоит из незвестно чего, там должны быть совершенно реальные материалы и принципы.

Что же касается науки то там как раз ценится умение использовать известные результаты для получения новых, т.е. сведение своей задачи к уже решенной. Перечитайте свою диссертацию, там на стр. 9, например, говорится: "При разработке формальной модели морфологической, синтаксической и семантической обработки текста естественного языка использовался математический аппарат теории интеллекта - алгебры конечных предикатов и предикатных операций, разработанный Шабановым-Кушнаренко Ю.П. и аппарат семантической нейронной сети, разрабатываемый в данной работе на основе существующего аппарата искусственных нейронных сетей Неймана-Маккалока-Питтса." Это же оно и есть, никакого велосипеда, все базируется на известных результатах.
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33137976
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Что же касается науки то там как раз ценится умение использовать известные результаты для получения новых, т.е. сведение своей задачи к уже решенной...., никакого велосипеда, все базируется на известных результатах.

Ну, то кандидатская была, теперь дело за докторской ;)))
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33138006
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin c127А как оно пишется по-английски? Там должно быть на одной из первых страниц.

Ну это я вам в скором времени предоставить не смогу (( Сейчас в бумаге этой книги рядом со мной нет.


Засада, однако. Пятитомник то японский ...

Том1.
С.Осуга Обработка знаний. М.Мир 1989

Том2
Представление и использование знаний. Под. ред. Х.Уэно, М.Исидзука. М.Мир 1989

Том3
Приобретение знаний Под.ред. С. Осуги, Ю. Саэки М.Мир 1990
...
Рейтинг: 0 / 0
Задачи для объектно-ориентированных СУБД.
    #33139350
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shuklinНу, то кандидатская была, теперь дело за докторской ;)))

Говорят что кандидатская это наука а докторская это политика. Так что в докторской будет еще хуже.

Кроме этих японцев должно же быть еще что-то. Хотя если сложно то не нужно, тут бы с объектами разобраться, не до знаний пока.
...
Рейтинг: 0 / 0
84 сообщений из 84, показаны все 4 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Задачи для объектно-ориентированных СУБД.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]