powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / ОРБД. сравнение объектных расширений реляционных СУБД.
108 сообщений из 108, показаны все 5 страниц
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33625478
laconix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот такой вот интересный вопрос: сравнение объектно-реляционных СУБД с точки зрения из объектных расширений. т.е. сравнение этих самых О-расширений.
какие ОРСУБД имеются в виду: Oracle, DB 2, PostgreSQL, Cache, возможно Informix...

я так понимаю, в качестве одного из критериев можно так же смотреть с точки зрения их реализации стандарта SQL:1999/2003 (в плане его объектных расширений), ну это конечно вопрос очень "растяяяжимый" =]

у кого какие мнения по этому вопросу? может, есть что-ть почитать на эту тему, это было бы очень кстати
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33626631
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала ответь на вопрос какие расширения тебе нужны.
Волна OO Расширений на мой взгляд прошла году эдак 2001
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33626848
laconix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nikolay KulikovСначала ответь на вопрос какие расширения тебе нужны
на этот вопрос более конкретно пока трудно ответить, т.к. вообще не ясно, какая именно будет поставлена задача и для чего нам все эти дела... (т.е. не ясно, надо ли нам будет использовать наследование таблиц или будет ли критичным отсутствие типа multisets...)
потому сравнение может быть по более общим параметрам (user defined type, user defined function, инкапсуляция, наследование (типа и таблицы). я вижу это так)

если бы у кого есть другое видение критериев сравнения, то буду очень рад выслушать =]

почему сразу не использовать ОСУБД, ответить толком не смогу - для меня самого тайна великая сия есть
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33627221
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
один из идеологов ORDBMS был господин Stonebreaker, используй как ключевое слово для поиска необходмой информации.
В принципе Informix/DB2/Oracle позволяют иметь все необходмые расширения вплоть до написания своих индексов в бд

http://ocw.mit.edu/NR/rdonlyres/Biological-Engineering-Division/BE-453JSpring-2005/BC09EB31-3E69-4C00-9003-75AAF18C7E7A/0/feb_10.pdf
http://www.service-architecture.com/object-oriented-databases/articles/stonebrakers_dbms_matrix.html
http://www.eecs.wsu.edu/~cdyreson/teaching/advancedDatabase/011/discussions/tworeport.htm

Ну и сайты прозводителей.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33639570
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PostgreSQL - расширение как раз не объектное. А реляционное. Тоесть его потом расширяли в реляционную сторону.

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

Какие объектные расширения интересуют? Наследование отношений? В постгрисе реализовано через SQL по средствам оператора INHERITS.
Я слышал что в Оракле ОР реализованна через яву. Тоесть через SQL низя. В Cache вроде тоже.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33639577
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sarin
Я слышал что в Оракле ОР реализованна через яву.

В Оракле ОР реализовано через поддержку ООП посредством объектных типов, которые могут быть объектами БД и поддерживаются в PL/SQL.

Ява в Оракле это само собой - можно хранить классы в БД и вызывать их из ХП PL/SQL. Но не она указывается в справке как ОР Оракла. Тем более она ваще ОО. Р там нету.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33639587
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли в оракле написать что-то типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE t1(id serial, name varchar( 32 ));
CREATE TABLE t2(position varchar( 32 )) INHERITS (t1);

INSERT INTO t2(name, position) VALUES('Sarin', 'Programmer');
SELECT * FROM t1;
>
id  |   name
----+---------
  1   | Sarin
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33639596
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33641472
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Оракл низзя. Постгри обскакал однако:).
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33642032
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo Sarin
Я слышал что в Оракле ОР реализованна через яву.

В Оракле ОР реализовано через поддержку ООП посредством объектных типов, которые могут быть объектами БД и поддерживаются в PL/SQL.

Ява в Оракле это само собой - можно хранить классы в БД и вызывать их из ХП PL/SQL. Но не она указывается в справке как ОР Оракла. Тем более она ваще ОО. Р там нету.Java-объекты можно хранить не только в Oracle. Как реализованы объектные расширения в РСУБД? Хреново, поэтому никто и не пользуется. И здесь не важно, на чем они реализованы. Конечно саму Java нельзя называть объектным расширением к РСУБД. С таким же успехом можно назвать РСУБД реляционным расширением к Java. Здесь опять возникает вопрос "кто на ком стоит?". Чаще, например, джависты пользуются СКЛ, а не наоборот.

Из всего, что предлагают известные ОРСУБД в качестве ОР, чаще всего используют сложные, определяемые пользователем, типы данных. Наследование, также используется, но только для определения типа. Все упирается в главное качество СУБД - быстродействие. Увы, хорошее быстродействие при работе со сложными данными известные ОРСУБД не поддерживают, за исключением Sav Zigzag . В конечном счете, программистам проще использовать автономные, невстроенные, объектные расширения типа Hibernete , JDO и конечно серверы приложений типа WebLogic . Они существенно автоматизируют работу с Object Persistence.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33642046
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nikolay KulikovСначала ответь на вопрос какие расширения тебе нужны.
Волна OO Расширений на мой взгляд прошла году эдак 2001Та волна была одна из первых и слишком маленькая. Не расслабляйтесь
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33642112
Критикан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
okdokyВсе упирается в главное качество СУБД - быстродействие. Увы, хорошее быстродействие при работе со сложными данными известные ОРСУБД не поддерживают, за исключением Sav Zigzag .
А как же Cerebrum ?
2 кита ОБД. Самые быстрые, самые обьектные, самые юзабельные....
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33642301
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
Как реализованы объектные расширения в РСУБД? Хреново, поэтому никто и не пользуется.

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

okdoky
Увы, хорошее быстродействие при работе со сложными данными известные ОРСУБД не поддерживают, за исключением Sav Zigzag.

Sav Zigzag не может рассматриваться в серьез вообще. Если рассматривать и такого рода СУБД, то клиппер быстрее в досе. Здесь же все-таки о реальных СУБД говорили, а Вы опять где-то откапываете и подрабасываете сюда все эти смешные вещи.


okdoky
С таким же успехом можно назвать РСУБД реляционным расширением к Java.

При всем уважении к Java - слишком большая честь для него.

okdoky
Все упирается в главное качество СУБД - быстродействие.

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

okdoky
В конечном счете, программистам проще использовать автономные, невстроенные, объектные расширения типа Hibernete, JDO и конечно серверы приложений типа WebLogic. Они существенно автоматизируют работу с Object Persistence.
Проще всего - ничего не использовать. Сиди себе и кури. Что тут сложного?
То что успешней всего использовать видно и так: РСУБД занимают более 90% от всех ИС. И если уж нуно пойти в сторону ООП то лучше от тех СУБД где Р сильно. Потому никакими расширениями никого не соблазнить. Будут, скорей всего, те расширения, что влидирующих РСУБД, так они сами по себе эти расширения менее важны, чем хорошая сильная Р.
Или думаете, что все они такие тупые, что не использовали то, что якобы проще? А Вы им всем со всеми их образованиями счас объясните, и будут всякие там левые расширения занимать 90%?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33642459
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdokyУвы, хорошее быстродействие при работе со сложными данными известные ОРСУБД не поддерживают, за исключением Sav Zigzag .Пожалуйста, приведите ссылку на результаты тестов, подтверждающие данное высказывание.

P.S. Ознакомился с кратким описанием Zigzag Language . Вердикт: авторы полные невежды как в области реляционной теории, так и в области реальных возможностей современных СУБД. Первое можно проиллюстрировать хотя бы тем, что "отношения" (table relations), которые можно задавать в ZigZag, не определены ни на каких множествах (типах, доменах). Поэтому называть их "отношениями" абсурдно с точки зрения хоть РМД, хоть математики. Что такое целостность (integrity) авторы тоже не знают. Под этим термином они понимают что-то совершенно иное, свое. Термин нигде формально не определяется, но иллюстрируется примером, который, естественно, ничего не поясняет. Зато гордо утверждается, что "There is integrity control for a field of many tables and the trigger procedure is not required for Zigzag." Из этой совершенно невнятной фразы ясно только одно -- осилить поддержку триггеров в своей системе товарищи тупо не сумели. Интересно, как бы они в своей системе делали, скажем, аудит, хе-хе?
Насчет незнания возможностей SQL-СУБД можно процитировать гордое "attribute name (not only value) may be expressed via request in a description or another request. These (and others) unique possibilities are not provided by SQL." Авторы, похоже, слыхом не слыхали ни о возможностях в SQL-СУБД работы с метаданными, ни о динамическом SQL.
Общее впечатление: поделка полуграмотных энтузиастов.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33642626
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может все-таки немного почитать:
http://www.citforum.ru/database/articles/sql_odmg/
http://www.citforum.ru/database/digest/codd_2.shtml
http://www.citforum.ru/database/digest/dig_1803.shtml
объектная функциональность и реляционная модель полностью ортогональны.

Мы хотели лишь разъяснить реальное положение дел для людей, которые все еще надеются на возможность совершения чудес и, в частности, ожидают появления систем управления базами данных, действительно сочетающих традиционные возможности SQL с преимуществами ODMG. Похоже, что это не произойдет.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33642664
AlexTheRaven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Расширения... Вопрос: а зачем?

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

Если хочется написать репозиторий САПР (неплохая задачка ценой от нескольких млн. $) - то тут "расширениями" не обойтись, нужна полноценная ООСУБД наподобие db4o.

К тому же нужно понимать: каждая СУБД "расширена" хоть и "с оглядкой" на стандарт, но по-своему. Переход с одной на другую (а для серьёзной системы такая задача вполне может встать) может вызвать не только перепрограммирование, но и перепроектирование.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33642889
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexTheRavenЕсли хочется написать репозиторий САПР (неплохая задачка ценой от нескольких млн. $) - то тут "расширениями" не обойтись, нужна полноценная ООСУБД наподобие db4o.

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

Мы хотели лишь разъяснить реальное положение дел для людей, которые все еще надеются на возможность совершения чудес и, в частности, ожидают появления систем управления базами данных, действительно сочетающих традиционные возможности SQL с преимуществами ODMG. Похоже, что это не произойдет.


Всеже это слишком категоричное утверждение. Со стороны РБД можно вспомнить НРМ, а со стороны ОБД - Видимо слияние РБД и ODMG действительно не произойдет, но говорить о приемуществах ODMG тоже как то не к месту. Обычно ОБД делают слизав ее с ODMG т.е. ну там каждый объект имеет уникальный в пределах БД идентификатор и т.п. У меня ИД объекта ближе к примари кей из РБД. Пользователи сами обязаны задавать эти ИД, мало того, один и тот же объект может иметь несоклько разных ИД, или несколько разных объектов могут иметь одинаковые ИД. Это позволяет мне производить операции, аналогичные JOIN. Я это называю объектным JOIN когда некоторый производный объект получает в свое владение аттрибуты нескольких исходных объектов. Чем то это напоминает view из РБД.

На днях опубликована новая версия СООБЗ Cerebrum.
Полностью пересмотрено и значительно переписано ядро.
Теперь в Cerebrum работают 3 подсистемы сборки мусора.

1. - Сборщик мусора Microsoft .NET Framework
2. - Сборщик мусора объектного кэш выгружающий изменения из RAM в хранилище Работает на основании списка Last Recently Used
3. - Сборщик мусора, уничтожающий удаленные объекты в хранилище. Работает на основании подсчета количества ссылок.

Основное изменение - атрибуты объектов могут иметь несколько parent объектов, или что тоже самое несколько объектов могут совместно использовать один и тот же атрибут.

Так что смерть братьев SQL вполне реальна, пусть даже и не от моей руки )))
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33643375
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
okdoky
Та волна была одна из первых и слишком маленькая. Не расслабляйтесь

Ха-Ха... Что то не видно что пользователи пачками пишут свои расширения для ORDBMS. Как писали вендоры БД (IBM/Oracle) так пишут. Сторонних производителей не так много. Так что не вижу причин для ORDBMS. следующей волны.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33643516
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdokyИз всего, что предлагают известные ОРСУБД в качестве ОР, чаще всего используют сложные, определяемые пользователем, типы данных. Наследование, также используется, но только для определения типа. Все упирается в главное качество СУБД - быстродействие. Увы, хорошее быстродействие при работе со сложными данными известные ОРСУБД не поддерживают, за исключением Sav Zigzag . В конечном счете, программистам проще использовать автономные, невстроенные, объектные расширения типа Hibernete , JDO и конечно серверы приложений типа WebLogic . Они существенно автоматизируют работу с Object Persistence.Странно, что из всего, что было сказано, самое главное, объектные расширения , например такие как Hibernate и WebLogic оказались незамеченными. А ведь именно они сейчас определяют общую тенденцию развития ПО и путь по которому происходит реальное соединение объектного и реляционного. Встроенные в ОРСУБД расширения значительно им уступают и не имеют такой популярности.

Часто упоминаемый здесь Zigzag не имеет прямого отношения к данному топику. Хотя он также позволяет маппирование программных объектов в БД. Я не считаю это его главной примечательностью. Это прежде всего очень быстрый инструмент для работы со сложными таблично-иерархическими структурами данных.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33643669
AlexTheRaven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод AlexTheRavenЕсли хочется написать репозиторий САПР (неплохая задачка ценой от нескольких млн. $) - то тут "расширениями" не обойтись, нужна полноценная ООСУБД наподобие db4o.

а подробнее, что там такого нереляционного ?
Согласен, все данные и там можно уложить в реляционную структуру.
Но структура эта получится весьма сложной: в ней нужно хранить объекты нескольких тысяч классов и их взаимосвязи, в т.ч. вхождения и наследования. Полигонами не обойдёшься, там ведь не только 3d графика, но и физика с сопроматом и имитационным моделированием...
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33643725
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
А ведь именно они сейчас определяют общую тенденцию развития ПО и путь по которому происходит реальное соединение объектного и реляционного.

Откуда инфа что именно они что-то определяют? И вообще что реальное соединение происходит. В Оракле, может думают, что оно в Оракле уже произошло.

AlexTheRaven
Но структура эта получится весьма сложной: в ней нужно хранить объекты нескольких тысяч классов и их взаимосвязи, в т.ч. вхождения и наследования. Полигонами не обойдёшься, там ведь не только 3d графика, но и физика с сопроматом и имитационным моделированием...

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

На самом деле действительно для реализации наследования надо все классы сложить в одну таблицу РБД, т. е. получается таже модель EAV как надстройка над обычной РСУБД. А дальше можно делать что хочешь.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33644129
AlexTheRaven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
AlexTheRaven
Но структура эта получится весьма сложной: в ней нужно хранить объекты нескольких тысяч классов и их взаимосвязи, в т.ч. вхождения и наследования. Полигонами не обойдёшься, там ведь не только 3d графика, но и физика с сопроматом и имитационным моделированием...

А в ООСУБД структура простая получится? Там Полигонами можно обойтись? И при чем тут db4o? У ООСУБДшников есть Вераснт, ГетмСтоун или что-то подобное, но широко известное. А про в db4o в общей литературе по БД что-то не часто встречается.
Не горячитесь.
1) Я не ортодоксальный сторонник и не противник РСУБД, ОРСУБД и ООСУБД. Я считаю, что для каждого класса СУБД есть [предметные] области, в которых их рационально применять.
2) Я не сказал, что получится простая структура. Просто по моему мнению для САПР при использовании она будет более естественной и управляемой.
3) Я сказал, что полигонами там вообще не обойтись. Предметная область не зависит от класса СУБД.
4) Я не приверженец db4o и честно говоря даже не работал с ней, но читал, возможно даже на sql.ru, что её успешно применяют для решения задач САПР. Ничего против Versant и т.д. я не имею.

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

На самом деле действительно для реализации наследования надо все классы сложить в одну таблицу РБД, т. е. получается таже модель EAV как надстройка над обычной РСУБД. А дальше можно делать что хочешь.
По своему опыту знаю, что EAV хорошо работает, пока не начинаешь реализовывать сложных связей между классами (агрегация, наследование) и между экземплярами.
Представьте себе: нужно спроектировать... ну пусть детскую игрушку, инерционную машинку. Просто? У шестерёнки будут одни свойства, у вала - другие, у маховика - третьи, а если шестерёнку и маховик насадить на один вал, свойства у детали будут четвёртые. С EAV, насколько я представляю, сделать компоновку объектов совсем сложно. Если использовать объекты и не реализовывать сложный алгоритм их раскладывания по таблицам - по-моему, будет несколько проще.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33644353
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexTheRavenПо своему опыту знаю, что EAV хорошо работает, пока не начинаешь реализовывать сложных связей между классами (агрегация, наследование) и между экземплярами.

EAV: все объекты (включая будущие) в двух таблицах. Все связи между классами - внутри этих двух таблиц. Структура классов - любая. Метод, написанный для одного класса в терминах этих двух таблиц можно применять для наследников (и не только для наследников).
Наследование при появлении новых таблиц реализовать затруднительно.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33644607
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir P.S. Ознакомился с кратким описанием Zigzag Language . Вердикт: авторы полные невежды как в области реляционной теории, так и в области реальных возможностей современных СУБД. Первое можно проиллюстрировать хотя бы тем, что "отношения" (table relations), которые можно задавать в ZigZag, не определены ни на каких множествах (типах, доменах). Поэтому называть их "отношениями" абсурдно с точки зрения хоть РМД, хоть математики. С таким же успехом невеждами можно назвать разработчиков любой РСУБД (Oracle, DB2) только за то, что они не следовали в полной мере описанию РМ Кодда и допустили повторяемость строк. Главный критерий определяющий соответствие СУБД реляционной модели, это прежде всего соответствие операционального языка СУБД реляционной алгебре. Множественные классы, используемые в Zigzag, соответствуют понятию домен. При желании любой класс в Zigzag можно определить заранее, но это не является и не должно быть обязаловкой.
mir Что такое целостность (integrity) авторы тоже не знают. Под этим термином они понимают что-то совершенно иное, свое. Термин нигде формально не определяется, но иллюстрируется примером, который, естественно, ничего не поясняет. Зато гордо утверждается, что "There is integrity control for a field of many tables and the trigger procedure is not required for Zigzag." Из этой совершенно невнятной фразы ясно только одно -- осилить поддержку триггеров в своей системе товарищи тупо не сумели. Интересно, как бы они в своей системе делали, скажем, аудит, хе-хе? Обязательное связывание столбцов таблиц через триггеры подчеркивает лишь низкий уровень СУБД. В Zigzag контроль целостности автоматизирован только благодаря тому, что внутреннее представление больше соответствует реляционной модели. Таблица в Zigzag –производная от доменов. При удалении значения домена автоматически очищаются все соответствующие поля таблиц и удаляются все связки (кортежи) для которых это значение является ключевым. mir
Насчет незнания возможностей SQL-СУБД можно процитировать гордое "attribute name (not only value) may be expressed via request in a description or another request. These (and others) unique possibilities are not provided by SQL." Авторы, похоже, слыхом не слыхали ни о возможностях в SQL-СУБД работы с метаданными, ни о динамическом SQL. Пожалуйста, приведите пример использования и оперирования метаданными на SQL. Я обязательно Вам отвечу тем же и добавлю еще.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33644827
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
С таким же успехом невеждами можно назвать разработчиков любой РСУБД (Oracle, DB2)

Назвать то можно, но успех все-таки совсем не тот (особенно Oracle, DB2).

okdoky
только за то, что они не следовали в полной мере описанию РМ Кодда и допустили повторяемость строк.

Не просто допустили, а намерено пошли на это (ввели понятие мультимножества).

okdoky
При желании любой класс в Zigzag можно определить заранее, но это не является и не должно быть обязаловкой.

Класс то можно пожелать, а вот пожелать Zigzag было бы очень неосмотрительно.

okdoky
Обязательное связывание столбцов таблиц через триггеры подчеркивает лишь низкий уровень СУБД.

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

okdoky
В Zigzag контроль целостности автоматизирован только благодаря тому, что внутреннее представление больше соответствует реляционной модели.

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

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

Я считаю так.

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

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

Как только количество необходимых функций ООСУБД достигает некоторого критического рубежа (как в случае с репозиторием САПР) - становится проще изучить ООБД и смириться с настандартностью и 60% зависимостью концепции от реализации, чем реализовывать всё заново своими силами.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33645333
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky mir P.S. Ознакомился с кратким описанием Zigzag Language . Вердикт: авторы полные невежды как в области реляционной теории, так и в области реальных возможностей современных СУБД. Первое можно проиллюстрировать хотя бы тем, что "отношения" (table relations), которые можно задавать в ZigZag, не определены ни на каких множествах (типах, доменах). Поэтому называть их "отношениями" абсурдно с точки зрения хоть РМД, хоть математики. С таким же успехом невеждами можно назвать разработчиков любой РСУБД (Oracle, DB2) только за то, что они не следовали в полной мере описанию РМ Кодда и допустили повторяемость строк. К слову, именно так и считают такие авторитеты как Крис Дейт и Фабиан Паскаль. Это один из потенциальных недостатков SQL, вызванный плохим пониманием реляционной модели. Однако с помощью SQL можно легко создать и поддерживать полностью правильное отношение без дубликатов (для это просто нужно как положено объявить первичный ключ), а вот как создать в ZigZag отношение, ежели его не на чем определить ? В доке утверждается, что “Zigzag does not assume the type declaration” и “there are not schema control in Zigzag”. Возможно, я что-то упустил, укажите тогда как задать отношение с типизированными атрибутами, это будет другой разговор. okdokyГлавный критерий определяющий соответствие СУБД реляционной модели, это прежде всего соответствие операционального языка СУБД реляционной алгебре.Очередное безапелляционное утверждение, ничем не подкрепленное. Неужели вы такой мега-эксперт в области баз данных, что можете самостоятельно определять критерии реляционности СУБД? Может, это будет для вас открытием, но существуют, во-первых, четкое определение реляционной модели данных, а во-вторых, известные 12 правил Кодда, определяющие реляционность СУБД. Так что не надо собственных фантазий на эту тему, пожалуйста. okdokyМножественные классы, используемые в Zigzag, соответствуют понятию домен. При желании любой класс в Zigzag можно определить заранее, но это не является и не должно быть обязаловкой. Я вроде в курсе терминологии и РМД, и ТМ и ООП, но ей-богу не знаю, что такое «множественные классы». Я знаю, что домен — это просто тип данных, то есть в свою очередь — именованное множество значений. okdoky mir Что такое целостность (integrity) авторы тоже не знают. Под этим термином они понимают что-то совершенно иное, свое. Термин нигде формально не определяется, но иллюстрируется примером, который, естественно, ничего не поясняет. Зато гордо утверждается, что "There is integrity control for a field of many tables and the trigger procedure is not required for Zigzag." Из этой совершенно невнятной фразы ясно только одно -- осилить поддержку триггеров в своей системе товарищи тупо не сумели. Интересно, как бы они в своей системе делали, скажем, аудит, хе-хе? Обязательное связывание столбцов таблиц через триггеры подчеркивает лишь низкий уровень СУБД. А кто здесь вообще говорил про «связывание столбцов таблиц», да еще и «через триггеры»? Речь шла вроде о целостности.
okdokyВ Zigzag контроль целостности автоматизирован только благодаря тому, что внутреннее представление больше соответствует реляционной модели. Какая-то бессмысленная фраза, что ни слово, то вопрос. «Контроль целостности в Zigzag» — что это? Это понятие нигде в доке по ZZ не определяется, но ясно, что это что-то совсем не то, что в РМД. «Контроль целостности автоматизирован» — что значит «автоматизирован»? Он либо есть, либо нет. «Внутреннее представление» — представление чего? Что значит «внутреннее»? Это имеет отношение к модели ANSI/SPARC? Если да, при чем здесь модель данных, которая не присутствует на внутреннем уровне представления? «Больше соответствует реляционной модели» — больше чего ? okdokyТаблица в Zigzag –производная от доменов. При удалении значения домена автоматически очищаются все соответствующие поля таблиц и удаляются все связки (кортежи) для которых это значение является ключевым. Вы о чем? Из домена невозможно удалить значение, так как домен — не переменная, а тип данных. Можно лишь переопределить домен. Далее, при чем здесь принадлежность ключам? Если такого значения в домене больше нет, то все его вхождения в кортежи более невалидны, вне зависимости от того, входят ли они в ключи или нет.
okdoky mir Насчет незнания возможностей SQL-СУБД можно процитировать гордое "attribute name (not only value) may be expressed via request in a description or another request. These (and others) unique possibilities are not provided by SQL." Авторы, похоже, слыхом не слыхали ни о возможностях в SQL-СУБД работы с метаданными, ни о динамическом SQL. Пожалуйста, приведите пример использования и оперирования метаданными на SQL. Я обязательно Вам отвечу тем же и добавлю еще.Тут не понял: вы не верите, что на SQL можно работать с метаданными? Если не верите, то это ваше личное горе. Если верите, то к чему просьба привести пример? Речь, между прочим, о том, что авторы ZZ объявляют возможность работы в нем с метаданными не больше не меньше как «unique possibilities are not provided by SQL». Это просто невежество.

Но извольше, вот вам пример на T-SQL:
Код: 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.
CREATE PROCEDURE #DropIndexAndConstraint ( @TableName VARCHAR( 100 ) )
as
BEGIN 
  DECLARE 
    @TableID INT, 
    @ColID INT,
    @SQL NVARCHAR( 4000 ),
    @Name NVARCHAR( 4000 )

  SELECT @TableID = T.id, @ColID = C.colid 
  FROM syscolumns C JOIN sysobjects T ON C.id = T.id
  WHERE c.name = 'rowguid' AND T.name = @TableName
  SELECT @Name = name 
  FROM dbo.sysindexes 
  WHERE id = @TableID AND indid = (SELECT indid FROM sysindexkeys WHERE id = @TableID AND colid = @ColID)

  SET @SQL = 'DROP INDEX [' + @TableName + '].[' + @Name + ']'
  EXEC SP_EXECUTESQL @SQL 

  SELECT @Name = name 
  FROM sysobjects O 
  WHERE ID = (SELECT constid FROM sysconstraints c WHERE id = @TableID AND colid = @ColID AND ((status &  5 ) <>  0 ))

  SET @SQL = 'ALTER TABLE [' + @TableName + '] DROP CONSTRAINT [' + @Name + ']'
  EXEC SP_EXECUTESQL @SQL 
END

P.S. А вопросик про триггеры с удовольствием повторю: как на ZZ реализовать аудит? Триггеры в РСУБД с этим прекрасно справляются.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33645455
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexTheRaven
Лично я применял EAV в двух проектах и, наверное, буду применять в третьем, отдавая себе отчёт в том, что изобретаю велосипед, но простой и удобный.

Именно так. При том что можно использовать промышленные РСУБД со всеми вытекающими.
AlexTheRaven
Как только количество необходимых функций ООСУБД достигает некоторого критического рубежа...
А какие такие особые функции ООСУБД ? Лично у меня такая библиотека уже практически перестала расти.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33645665
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklinТеперь в Cerebrum работают 3 подсистемы сборки мусора shuklinТак что смерть братьев SQL вполне реальна, пусть даже и не от моей руки )))Правильно - мусор это всё !
Даёшь 4-ый способ сборки SQL-мусора
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33647396
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir Вы о чем? Из домена невозможно удалить значение, так как домен — не переменная, а тип данных. Можно лишь переопределить домен. Далее, при чем здесь принадлежность ключам? Если такого значения в домене больше нет, то все его вхождения в кортежи более невалидны, вне зависимости от того, входят ли они в ключи или нет.Нет домен, это – не тип данных. Надеюсь, этот Ваш ляп случаен и Вы просто пытались в своих рассуждениях использовать упрощенную аналогию, как и я. Мне это простительно, потому что я объясняю Zigzag-представление на основе РМ. Вам непростительно, так как Вы аргументируете с позиций РМ и требуете от меня более четкой реляционной терминологии. Понятие класс в Zigzag, это именно множество значений, то есть в конечном счете домен, а не тип. Класс может быть определен простым перечислением значений. Этот класс (множество значений) в Zigzag отвечает задаче ограничения целостности. Отношения можно определять на основе имеющихся классов. Важным и уникальным является то, что мы можем переопределять класс, то есть менять имена его значений, удалять их и вставлять новые. При этом автоматически меняются все отношения определенные на данном классе.
mir Тут не понял: вы не верите, что на SQL можно работать с метаданными? Если не верите, то это ваше личное горе. Если верите, то к чему просьба привести пример? Речь, между прочим, о том, что авторы ZZ объявляют возможность работы в нем с метаданными не больше не меньше как «unique possibilities are not provided by SQL». Это просто невежество.

Но извольше, вот вам пример на T-SQL: Прокомментируйте, если не трудно. С таким наворотом SELECT и системных названий, боюсь его не сможет сразу понять, даже хорошо знающий SQL.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33647438
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО mir никаких упрощенных аналогий не использует.

А вот okdoky...класс в Zigzag, это именно множество значений, то есть в конечном счете домен, а не тип......ммм... может вызвать нездоровое оживление :)....здесь явно где-то что-то лишнее... а тип тогда - это что?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33647440
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
Прокомментируйте, если не трудно. С таким наворотом SELECT и системных названий, боюсь его не сможет сразу понять, даже хорошо знающий SQL.

А чего тут понимать? "Системные названия" - имена таблов метаднных (данные о данных). Я Ораклист, но легко догадываюсь, что в Скуле:
в dbo.sysindexes - инфа об индесках
в sysobjects - инфа об объектах БД
в syscolumns - о колонках таблов и представлений.
И т.д.
Важно что все управление БД осуществляется на SQL и, в частности, инфа о БД извлекается с помощью Селектов.
Сам пример - процедура удаляет индекс и ограничение целостности для таблы указанной в аргументах процедуры. Куда проще?
Вот теперь и думайте про то как Зигзагу победить SQL.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33648069
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky mir Вы о чем? Из домена невозможно удалить значение, так как домен — не переменная, а тип данных. Можно лишь переопределить домен. Далее, при чем здесь принадлежность ключам? Если такого значения в домене больше нет, то все его вхождения в кортежи более невалидны, вне зависимости от того, входят ли они в ключи или нет.
Нет домен, это – не тип данных. Надеюсь, этот Ваш ляп случаен и Вы просто пытались в своих рассуждениях использовать упрощенную аналогию, как и я. Мне это простительно, потому что я объясняю Zigzag-представление на основе РМ. Вам непростительно, так как Вы аргументируете с позиций РМ и требуете от меня более четкой реляционной терминологии.
Понятие класс в Zigzag, это именно множество значений, то есть в конечном счете домен, а не тип. Класс может быть определен простым перечислением значений.
Да ну? Вы как-то можете начать обосновывать свои интересные теоретические открытия?

Вот, к примеру, цитата из Википедии про классы (http://ru.wikipedia.org/wiki/Класс):
Класс в объектно-ориентированном программировании — абстрактный тип данных.

Вот, к примеру, цитата из Дейта (Введение в системы баз данных, 8 изд. стр.165):
«Понятие типа данных … является фундаментальным: каждое значение, каждая переменная, каждый параметр, каждый оператор… и особенно каждый реляционный атрибут относится к тому или иному типу. Так что же такое тип? Кроме всего прочего, он представляет собой множество значений . […]Типы можно также называть доменами , особенно когда речь идет о реляционной модели; фактически сам автор использовал последний термин в предыдущих изданиях настоящей книги, но теперь предпочитает термин типы

Вот еще цитата из Википедии про реляционную модель данных (http://en.wikipedia.org/wiki/Relational_model):
The basic relational building block is the domain or data type, usually abbreviated nowadays to type .

A domain is simply a set of values, together with its associated operators. It is equivalent to the notion of a type in programming languages.
okdokyЭтот класс (множество значений) в Zigzag отвечает задаче ограничения целостности. Не знаком с таким термином: «задача ограничения целостности». Знаю про обширную задачу обеспечения целостности БД , решаемую, в том числе, с помощью ограничений целостности , которые являются ни чем иным, как правилами , накладывающими ограничения на допустимые состояния БД. В РМД выделяют ОЦ общего вида по уровням (ОЦ домена, ОЦ атрибута, ОЦ отношения, ОЦ базы данных) и два специальных важных ОЦ частного вида: ОЦ потенциального ключа (так наз. целостность сущностей) и ОЦ внешнего ключа (так наз. ссылочная целостность). Важным свойством РМД является возможность декларативного задания различных ОЦ в виде предикатов. После этого краткого курса ответьте мне: что же, черт возьми, в точности означает ваша загадочная фраза «класс отвечает задаче ограничения целостности»?
okdokyОтношения можно определять на основе имеющихся классов.А можно и нет? Но тогда полученное «нечто» будет чем угодно, но не отношением, просто по определению.
okdokyВажным и уникальным является то, что мы можем переопределять класс, то есть менять имена его значений, удалять их и вставлять новые. При этом автоматически меняются все отношения определенные на данном классе. 1. У значений имен не бывает. Значения просто существуют, они сами себя идентифицируют. По-вашему, какое имя имеет значение 137? Поэтому фраза про изменение имен значений для меня не имеет смысла.
2. Операции редактирования типа данных по определению невозможны, так как тип данных — не переменная. Можно лишь пытаться переопределить тип данных. Операция крайне редкая, что уж вы нашли в ней такого важного? Кстати, что тут и такого уникального? Вы полагаете, что в SQL нельзя сменить тип атрибута? okdoky mirНо извольте, вот вам пример на T-SQПрокомментируйте, если не трудно. С таким наворотом SELECT и системных названий, боюсь его не сможет сразу понять, даже хорошо знающий SQL.Читаем ответ vadiminfo.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33650375
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoА чего тут понимать? "Системные названия" - имена таблов метаднных (данные о данных). Я Ораклист, но легко догадываюсь, что в Скуле:
в dbo.sysindexes - инфа об индесках
в sysobjects - инфа об объектах БД
в syscolumns - о колонках таблов и представлений.
И т.д.
Важно что все управление БД осуществляется на SQL и, в частности, инфа о БД извлекается с помощью Селектов.
Сам пример - процедура удаляет индекс и ограничение целостности для таблы указанной в аргументах процедуры. Куда проще?
Вот теперь и думайте про то как Зигзагу победить SQL.Начну с того, что именно возможность работы с метаданными является главной причиной, почему мы использовали Zigzag для проекта Mobile Hosting (многопользовательская база данных конструируемая и управляемая из мобильного устройства). Изначально стояла задача «Разработчик справочной не должен программировать интерфейс, он должен генерироваться автоматически на основе текущей структуры и содержания базы данных». Это потом обнаружилось, что Zigzag еще и обладает большим быстродействием. Та справочная, на которую я уже давал ссылку Организации Москвы , работает на полную нагрузку. Она не только быстро выдает результаты на запрос, но и помогает сформировать этот запрос. Повторюсь, сценарий диалога генерируется на основе текущей БД. Отдельный HTML-интерфейс не создавался. Система на основе БД предлагает пользователю текущий каталог (дерево таблиц), текущие атрибуты таблиц (их имена и значения). Создать такую справочную можно за час. Достаточно только импортировать данные на сервер.

Аналогия с SQL.
Код: plaintext
SELECT name FROM syscolumns WHERE ID = (SELECT id FROM sysobjects WHERE name=’организации’);
Тоже самое на Zigzag
Код: plaintext
= (организации)
Мы выдаем все имена колонок таблицы «организации».

Но есть и другие уникальные вещи. Допустим знаем только, что в фирме работает Иванов. В какой таблице находится информация о нем мы не знаем. Достаточно ввести оператор:
Код: plaintext
$printTable(/Иванов)
Здесь /Иванов – имена таблиц у которых ключевое значение Иванов. То есть мы можем использовать эти имена в других запросах, например
Код: plaintext
= {/Иванов}:Петров

U-gene okdoky...класс в Zigzag, это именно множество значений, то есть в конечном счете домен, а не тип......ммм... может вызвать нездоровое оживление :)....здесь явно где-то что-то лишнее... а тип тогда - это что?Тип, уважаемый U-gene, это не множество значений, а то, что описывает или определяет это множество. Прочитайте цитату, которую привел mir
mirВот, к примеру, цитата из Дейта (Введение в системы баз данных, 8 изд. стр.165):
«Понятие типа данных … является фундаментальным: каждое значение, каждая переменная, каждый параметр, каждый оператор… и особенно каждый реляционный атрибут относится к тому или иному типу. Так что же такое тип? Кроме всего прочего, он представляет собой множество значений. […]Типы можно также называть доменами, особенно когда речь идет о реляционной модели; фактически сам автор использовал последний термин в предыдущих изданиях настоящей книги, но теперь предпочитает термин типы.»Согласно переводу, тип - не значения, тип представляет собой значения. Но что значит "представляет", как это слово выглядит в оригинале? В любом случае, Дэйт в последнее время предпочитает отделять понятие тип от понятия домен. Пора бы и Вам внимательнее отнестись к данным терминам.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33650392
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky - посмотрел я на Вашу подделку, возник закономерный вопрос - Вы что, правда думаете, что если не знаешь SQL или руки кривые, то он такого примитива что ли сделать не может ??? Мда, задачка для студентов успешно была выведена в ранг супер задачи, которая оказывается победила SQL
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33650428
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "последнее время"?То факт, что Дейт (исходя из смысла цитаты последнето восьмого издания) не делает разницы между типами и доменами Вас не убеждает - Вы доколебались к словосочетанию "представлять собой". Ну-ну.

Я не заю, что в вашем понимании есть "представляет собой", но в английском варианте я неоднократно у разных автором встречал простое что-то типа "type is set of values". Кстати, "представлять собой" является одним из основных вариантов перевода глагола "to be". Вот и думайте то ли они имеют в виду, то ли Вы что то себе понавыдумывали:).

okdoky...тип - не значения, тип представляет собой значения... толи мы читать не умеем, то ли подметки на ходу режем... куда слово множество делось (в оригинале оно между словами "собой" и "значени")
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33650449
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вчитался.

okdoky[quot mir]Аналогия с SQL.
Код: plaintext
SELECT name FROM syscolumns WHERE ID = (SELECT id FROM sysobjects WHERE name=’организации’);[/quot]

Тоже самое на Zigzag
= (организации)

Подождите, подождите уважаемый okdoky. Какая такая "организация"? mir привел абсолютно законченный и полезный пример. Ваше сравнение - это как взять картину Репина "Утро в сосновом лесу", потом сделать копию фломастерами и в довершении сказать, что вот эти мазки обозначающие траву не такие зелеными, как зеленый флуоресцентный маркер.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33650573
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
Начну с того, что именно возможность работы с метаданными является главной причиной, почему мы использовали Zigzag

Тада Вы совсем погорячились с выбором - любая современная РСУБД имеет словарь БД (метаданные). А Оракл так и тучу динамических словарей, позволящих понять что с ним происходит, что делают сессии, чего ждут и т.д. И все с помощью Селектов.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33650632
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу метаданных еще замечание. ИМХО okdoky не совсем въехал в ту идею РБД, что метаданные представлены точно также как данные, а именно - набором таблиц. Конечно
Код: plaintext
= (организации)
выглядит круто, но насколько я понял - это специальная конструкция, предназначенная для какой то манипуляцмм именно с метаданными. То есть в SQL для операции с метаданными нужны те же конструкции, что и для операций с обычными данными (что позволяет мне крутить метаданными как угодно), а в Zigzag - что-то иное,что, насколько я понял,задано заранее. Но позвольте! я таких хранимок наваяю видимо-невидимо и никакой ZigZag не угониться. Например я могу наваять хранимку getNamesOfAllColumnsOfTable(...) и эта хранимка будет ни чем не хуже, чем пресловутая
Код: plaintext
= (организации)

Например потребовалось мне заменить в некоторых таблицах , во всех их строковых столбцах некоторые строковые значения на другие.Так пожалйста, написаля я хранимку, что достает только стороковые столбцы и? затем, формирует и выполняет необходимый UPDATE. Обозвал эту хранимку как ReplaseSomeStringInWholeTable(@TableName ..., @StringToSearch ..., @NewString ...) и получил новую команду в которой и метаданные используются и данные обрабатываются. Если Вас, уважаемый okdoky не затруднит, покажите, как сделать это средствами ZigZaga?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33650880
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdokyНачну с того, что именно возможность работы с метаданными является главной причиной … бла-бла-бла Но есть и другие уникальные вещи … бла-бла-блаДорогой okdoky. Вы слишком легко забываете тему разговора. Я твердой рукой возвращаю нас к истокам, а именно: я утверждал, что авторы ZZ невежды как в области реляционной теории, так и в области реальных возможностей современных СУБД. Про теорию, полагаю, все уже ясно, но это мы еще обсудим. А вот про невежество в области возможностей РСУБД я говорил на примере фразы "attribute name (not only value) may be expressed via request in a description or another request. These (and others) unique possibilities are not provided by SQL ." Невежество состоит в том, что авторы ZZ полагают, что РСУБД не позволяют работать с метаданными. Я это показал (и любой мог это показать). Поэтому признайте, что процитированное утверждение не соответствует действительности, а потом уже можно обсуждать детали. Итак: авторы ZZ берутся критиковать возможности SQL просто не зная этих возможностей . Закономерный диагноз: невежды.
okdokyТип, уважаемый U-gene, это не множество значений, а то, что описывает или определяет это множество. Прочитайте цитату, которую привел mir
mirВот, к примеру, цитата из Дейта (Введение в системы баз данных, 8 изд. стр.165):
«Понятие типа данных … является фундаментальным: каждое значение, каждая переменная, каждый параметр, каждый оператор… и особенно каждый реляционный атрибут относится к тому или иному типу. Так что же такое тип? Кроме всего прочего, он представляет собой множество значений. […]Типы можно также называть доменами, особенно когда речь идет о реляционной модели; фактически сам автор использовал последний термин в предыдущих изданиях настоящей книги, но теперь предпочитает термин типы.»Согласно переводу, тип - не значения, тип представляет собой значения. Но что значит "представляет", как это слово выглядит в оригинале? В любом случае, Дэйт в последнее время предпочитает отделять понятие тип от понятия домен. Пора бы и Вам внимательнее отнестись к данным терминам.Вы либо искусный демагог вроде ЧАЛа, либо … не буду продолжать. Во-первых, вы не обосновали ни одного своего утверждения по данному вопросу. Во-вторых, вы проигнорировали прямые цитаты из энциклопедии (повторю с переводом):

The basic relational building block is the domain or data type, usually abbreviated nowadays to type. Базовый «строительный блок» реляционной теории — домен, или тип данных, в наше время обычно сокращаемый до слова «тип».

A domain is simply a set of values, together with its associated operators. It is equivalent to the notion of a type in programming languages. Домен представляет собой просто множество значений, вместе с ассоциированными операциями. Он является эквивалентом понятию типа в языках программирования.

Здесь все сказано предельно четко.

И в-третьих, вы сделали крайне неуклюжую попытку дать свою интерпретацию цитате Дейта, а точнее — просто переврать ее. Ваша фраза «Согласно переводу, тип - не значения» не имеет никакой связи с цитатой Дейта, там ничего подобного нет. И ни я, ни кто-либо еще никогда не говорили, что тип — это значение. Первая ваша неуклюжая ложь. Ваша фраза «тип представляет собой значения» — вторая ложь, так как в тексте «он (тип) представляет собой множество значений».
Далее, рассуждения «что значит "представляет", как это слово выглядит в оригинале?» просто смехотворны, так как в тексте вовсе не «представляет», а «представляет собой», а «являться/быть» и «представлять собой» в русском языке — синонимы, о чем все прекрасно знают. Это такая нелепая попытка навести тень на плетень.

И, наконец, ваша фраза «Дэйт в последнее время предпочитает отделять понятие тип от понятия домен» — это третья прямая ложь, ничего подобного в тексте нет. Дейт ясно указал, что 1) тип — это множество значений («он [тип] представляет собой множество значений»), что 2) домен и тип суть одно и то же («типы можно также называть доменами, особенно когда речь идет о реляционной модели») и 3) он предпочитать в последних изданиях использовать термин «тип», а не термин «домен» («теперь [автор] предпочитает термин типы»). Предпочесть термин «тип» синонимичному термину «домен», это совсем не то же самое, что «отделять понятие тип от понятия домен».

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

P.S. А как там насчет целостности? Что-то вы эту тему совсем подзамяли.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33652126
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneЧто значит "последнее время"?То факт, что Дейт (исходя из смысла цитаты последнето восьмого издания) не делает разницы между типами и доменами Вас не убеждает - Вы доколебались к словосочетанию "представлять собой". Ну-ну.

Я не заю, что в вашем понимании есть "представляет собой", но в английском варианте я неоднократно у разных автором встречал простое что-то типа "type is set of values". Кстати, "представлять собой" является одним из основных вариантов перевода глагола "to be". Вот и думайте то ли они имеют в виду, то ли Вы что то себе понавыдумывали:).

okdoky...тип - не значения, тип представляет собой значения... толи мы читать не умеем, то ли подметки на ходу режем... куда слово множество делось (в оригинале оно между словами "собой" и "значени")Ну и что. Согласен, скорее всего было “type is a set of values”. Но это не значит их полное равенство. Это не синонимы, вы не можете ими разбрасываться где попало. Повторю свою главную мысль
okdoky Пора бы … внимательнее отнестись к данным терминам. Вдумайтесь внимательнее во фразу U-gene is a man. И вдруг, некто okdoky заявляет «U-gene – не мужчина, U-gene представляет собой мужчину». На первый взгляд выглядит издевательски. Уважаемый mir обвинил меня даже во лжи и перетасовки фактов. Но вдумайтесь еще раз. Я прав, Вы действительно не столько мужчина, сколько представляете собой мужчину, в своем роде instance. Если U-gene is a man, это не значит, что теперь я везде вместо U-gene буду использовать слово man. Тот же mir меня опять не поймет и обвинит во лжи. Скажет нет у нас таких
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33652139
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОЙ....
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33652462
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdokyСогласен, скорее всего было “type is a set of values”. Но это не значит их полное равенство.
Ё...

"is" - глагол 3-го лица единственного числа настоящего времени от "be"

"type is a set of values" - "тип есть множество значений"

"U-gene is a man" - "U-gene есть мужчина"
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33652769
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да наш оппонент okdoky, оказывается, не только специалист в области баз данных, но еще и лингвист-профессионал. Прям сыпет интересными лингвистическими открытиями, как недавно сыпал открытиями в области баз данных. да еще и укоряет, де "пора бы … внимательнее отнестись к данным терминам", "нельзя-де ими разбрасываться где попало." Я так считаю, что у Чернышова с Шуклиным есть еще один достойный продолжатель.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33653043
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 okdoky
Давайте признаем что в теории Вы не сильны и в принципе в этом ничего плохого нет. Плохо вот демагогией заниматься.
Продемонстрируйте лучше как можно на зигзаге аудит сделать.
Или например такая задача: есть некие счета, по ним идут операции прихода/расхода. Надо при каждой операции обновлять остаток.

Заранее благодарен.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33653236
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneПо поводу метаданных еще замечание. ИМХО okdoky не совсем въехал в ту идею РБД, что метаданные представлены точно также как данные, а именно - набором таблиц. Конечно
Код: plaintext
= (организации)
выглядит круто, но насколько я понял - это специальная конструкция, предназначенная для какой то манипуляцмм именно с метаданными. То есть в SQL для операции с метаданными нужны те же конструкции, что и для операций с обычными данными (что позволяет мне крутить метаданными как угодно), а в Zigzag - что-то иное,что, насколько я понял,задано заранее. Но позвольте! я таких хранимок наваяю видимо-невидимо и никакой ZigZag не угониться. Например я могу наваять хранимку getNamesOfAllColumnsOfTable(...) и эта хранимка будет ни чем не хуже, чем пресловутая
Код: plaintext
= (организации)

Например потребовалось мне заменить в некоторых таблицах , во всех их строковых столбцах некоторые строковые значения на другие.Так пожалйста, написаля я хранимку, что достает только стороковые столбцы и? затем, формирует и выполняет необходимый UPDATE. Обозвал эту хранимку как ReplaseSomeStringInWholeTable(@TableName ..., @StringToSearch ..., @NewString ...) и получил новую команду в которой и метаданные используются и данные обрабатываются. Если Вас, уважаемый okdoky не затруднит, покажите, как сделать это средствами ZigZaga?Что значит нечто заданное заранее? Разумеется это не хранимка. Мы легко можем работать с метаданными любой таблицы. Например
Код: plaintext
$x = /Иванов;
- Записали в переменную $x имена таблиц, содержащих информацию об Иванове. Например $x может быть равно {сотрудник, заказчик}, то есть множеству имен двух таблиц.
Код: plaintext
= ($x);
- Отобразили все имена атрибутов множества таблиц $x. Например, это будет {дата рождения, зарплата, заказ, статус заказа}. Здесь непонятно какой атрибут (колонка) к какой таблице принадлежит. Тогда мы можем предварительно задать переменной $y только имена таблиц имеющих информацию об Иванове и атрибут заказ*
Код: plaintext
$y = $x(заказ*)
- Сейчас $y равно { заказчик }. Теперь после
Код: plaintext
= ($y)
будет отображено { заказ, статус заказа }. Используя переменные $x, $y можем делать другие запросы.

На счет хранимок. Можно легко написать Java-класс, создать в Zigzag Java-объект c определенными параметрами, сохранить его и вызывать его методы (фактически процедуры, функции). Все это есть в документации по Zigzag
- 2.7.Program objects
- 2.8. Meaning and other
Если интересно могу продемонстрировать. Хранить можно не только Java-объекты, но и Zigzag-операторы. Затем обращаться к ним по запросам и вызывать на выполнение. Не забывайте, что Zigzag – ОРСУБД.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33653478
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuper
Давайте признаем что в теории Вы не сильны и в принципе в этом ничего плохого нет.

Если не обращать внимания на выбор Зигзага в качестве ОРСУБД и прочие подобные мелочи.

okdoky
Можно легко написать Java-класс, создать в Zigzag Java-объект c определенными параметрами, сохранить его и вызывать его методы (фактически процедуры, функции).

Можно это легко написать и в Оракле (хотя как правило для хранимок вполне хватает родного PL/SQL). Так что не ради чего мучаться с Зигзагом. Тем более что у Оракла для Джавы, кроме всего прочего, налабано полно своих классов для разных задач и есть тулсы для джавы на реальном уровне (Джидевелопер), позволяющие клепать много кликаньем.

okdoky
Не забывайте, что Zigzag – ОРСУБД.

А вот тут извените. Это как раз можно таки и забыть - Зигзаг как ОРСУБД в литературе не прописан и врядли может реально сопоставляться с реальными ОРСУБД. Ему товарищь все-таки скорее Клиппер, а не Ораклы со Скулями, ДиБиДвами и Сибэйсами. Так шо пусть он пока (до выяснения каких-то новых обстоятельств) остается просто Зигзагом без всяких там приписок типа ОРСУБД.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33654225
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo okdoky
Не забывайте, что Zigzag – ОРСУБД.

А вот тут извените. Это как раз можно таки и забыть - Зигзаг как ОРСУБД в литературе не прописан и врядли может реально сопоставляться с реальными ОРСУБД. Ему товарищь все-таки скорее Клиппер, а не Ораклы со Скулями, ДиБиДвами и Сибэйсами. Так шо пусть он пока (до выяснения каких-то новых обстоятельств) остается просто Зигзагом без всяких там приписок типа ОРСУБД.На счет Оракла и Клиппера не знаю, но взгляните на сайт Most Popular in Database . Sav ZAPI (старая версия Sav Zigzag) тягается с MySQL, PostgreSQL и SQL Server . Согласен, это произошло недавно, но такие темпы меня настораживают самого.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33654264
-------------
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky vadiminfo okdoky
Не забывайте, что Zigzag – ОРСУБД.

А вот тут извените. Это как раз можно таки и забыть - Зигзаг как ОРСУБД в литературе не прописан и врядли может реально сопоставляться с реальными ОРСУБД. Ему товарищь все-таки скорее Клиппер, а не Ораклы со Скулями, ДиБиДвами и Сибэйсами. Так шо пусть он пока (до выяснения каких-то новых обстоятельств) остается просто Зигзагом без всяких там приписок типа ОРСУБД.На счет Оракла и Клиппера не знаю, но взгляните на сайт Most Popular in Database . Sav ZAPI (старая версия Sav Zigzag) тягается с MySQL, PostgreSQL и SQL Server . Согласен, это произошло недавно, но такие темпы меня настораживают самого.

okdoky , сам-то понял, на какую х#$ню ссылка?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33654352
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
На счет Оракла и Клиппера не знаю, но взгляните на сайт Most Popular in Database. Sav ZAPI (старая версия Sav Zigzag) тягается с MySQL, PostgreSQL и SQL Server . Согласен, это произошло недавно, но такие темпы меня настораживают самого.

На сайт взглянул. Там какие то левые дешевые тулсы в основном, а не сами ОРСУБД. Оттого Вашей настороженности нет никаких причин. Скорее наоборот, надо было настораживаться када сделали такую ошибку как купилсь на использование Зигзага. Вас так могут развести и на бесплатные утюги и прочее на улице. Надо быть все-таки немножечко осмотрительнее. Сами знаете в какое время и где живем.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33654824
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тов. okdoky. Предлагаю подвести некие итоги состоявшегося обсуждения по ZigZag, которые я считаю вполне обоснованными. Итак:

1. Авторы ZigZag не понимают реляционную модель данных, поскольку они, в частности:

1.1. Называют отношением то, что отношением в принципе не является.

1.2. Используют термин «целостность» (integrity) в контексте работы с РБД, совершенно не понимая его смысл в РМД.

2. Авторы ZigZag не знакомы с возможностями современных СУБД, поскольку

2.1. Они полагают, что возможность работать с метаданными является уникальной отличительной чертой ZZ, и в SQL невозможна.

2.2. Они полагают, что отсутствие в СУБД триггеров является не недостатком, а достоинством, причем считают, что триггеры нужны только для «integrity control for a field of many tables».

Про ваши собственные ляпы я повторяться не хочу, это никому уже не интересно. А вот про еще некоторые аспекты ZZ хотел бы упомянуть. Мы обсудили, что авторы ZZ слабы в реляционной теории в аспектах структуры и целостности. Пару слов про аспект манипулирования.

1. Я нигде не нашел аналога операции JOIN (соединение) или хотя бы CROSS JOIN/TIMES (декартово произведение). Без одной из них система операций заведомо не полна.

2. Интерпретация реляционной операции RESTRICTION (WHERE), похоже, неверна (неполна), поскольку в WHERE по определению РМД в качестве условия может быть задан произвольный предикат, а в ZZ, судя по описанию, только несколько частных случаев равенства-неравенства вроде (A1 = a1 AND ...) или (A1 = a1 OR ...)

3. Вообще, отдельных операций — аналогов DELETE, INSERT, UPDATE нет (я не нашел), они записываются в форме присваивания. Само по себе это не является ошибкой, так как они теоретически выразимы через присваивание переменной отношения выражения, дающего отношение того же типа. На это указывал и Дейт. Но он же указывал, что это является недостатком , так как не позволяет обрабатывать некоторые важные виды событий: попытка удалить отсутствующие кортежи, попытка обновить несуществующие кортежи, попытка вставить существующие кортежи. Кроме того, если нет полноценной возможности записи произвольных R-выражений (см. выше пп. 1 и 2), то и операции модификации тоже заведомо неполноценны.

4. Нет крайне полезных реляционных операций группировки (GROUP BY/SUMMARIZE), расширения (EXTEND), переименования (RENAME), квотирования (QUOTA/TOP/FIRST). Не нашел и нереляционной, но полезной операции сортировки (ORDER BY).

5. Не нашел агрегатных функций COUNT, SUM, MIN, MAX, AVG. Вообще, полезной библиотеки функций нет.

6. Ничего подобного DCL я вообще не нашел. Как правами доступа-то управлять?

В целом, описание языка выполнено крайне убого и непрофессионально: практически полностью отсутствуют определения используемых понятий, абсолютно нет формального описания синтаксиса языка в BNF или хоть в какой-то формальной нотации (просьба раздел 3 "Language Reference" даже не пытаться за таковую выдать). Вместо этого используются примеры, которые не могут быть полноценной заменой определениям и формальной нотации, и которые мне лично показались зачастую просто непонятными и ничего толком не проясняющими.

Если я что-то просто упустил, okdoky, просто укажите источники, где я могу прочитать о верном положении дел.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33656900
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir
На сколько я понимаю, авторы не ставили перед собой цель дать какие-либо определения используемым терминам. Почему Вы считаете, что они обязаны опираться на реляционную терминологию? Потому, что Вы знаете ее лучше? А знаете ли Вы сами точные определения из РМД? Даже Ваши ссылки на Дэйта, Википедию и пр., это сплошной винегрет, из которого Вы заключили, что домен и тип, это синонимы. Я не считаю, что терминологию РМД нужно использовать как догму. Тем более, как выяснилось согласно Вашей ссылке, Дэйт применил термин «тип» только в 8-м издании своего Введения в БД. Очевидно в первых изданиях понятие «тип» вообще не существовало? А что если в 9-м издании он (Дэйт) возьмет и заменит «тип», на «класс»? И скажет, ребята, чтобы Вам было понятнее, это тоже самое, что мы называли доменом в своих первых изданиях. Как Вы будете выкручиваться? Предложите очередной винегрет из ссылок? Я не хочу отвечать за авторов Zigzaga, но могу дать Вам свои собственные определения. Можете использовать их в дальнейшем за основу и даже ссылаться на них.
Домен – множество значений.
Тип – определение множества значений.
Класс – именованное множество значений.

Повторю то, что сказал ранее, из “A is B” вовсе не следует, что A есть синоним B. Конечно обобщение – полезная вещь, особенно для начинающих. Профессионалы должны чувствовать тонкости. Например, понятие класс по своему смыслу ближе к множеству, поэтому имя класса можете использовать во множественном числе: «mir относится к классу мужчин». С типом нужно быть осторожнее, советую использовать его обозначение в единственном числе, например «mir имеет тип мужчины». В любом случае, если возникнут вопросы или сомнения обращайтесь, обязательно помогу

На счет метаданных. Да “Moreover, attribute name (not only value) may be expressed via request in a description or another request” выглядит сжато и непонятно. Под description понимается возможность создавать новое отношение используя известные имена или значения атрибутов. То есть description понимайте как CREATE TABLE, где имена колонок и таблиц задаются через запросы или переменные. Можно ли это сделать в SQL? При этом в запросах могут указаны только значения атрибутов. Как я уже демонстрировал ранее, метаданные в Zigzag существуют не сами по себе в системных таблицах, а тесно связаны с самими данными (например со значениями атрибутов) и могут выводится из них. Здесь обобщение действительно играет важную роль.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33656994
###
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky mir
На сколько я понимаю, бла-бла-бла...
Блин, и ни слова по делу... Любопытно, он (okdoky) кроме себя кого-нибудь слышит?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33657000
Фотография NO COMMENTS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторавторы не ставили перед собой цель дать какие-либо определения используемым терминам

No comments
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33657060
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
CREATE TABLE, где имена колонок и таблиц задаются через запросы или переменные. Можно ли это сделать в SQL?

А Вы надетесь что не может? Или уверены? Типа где SQL до Зигзага? Ну еще бы хто придымувыл SQL и хто Зигзаг?
Ить не впервый раз облом Вашим таким наивным мечтам, а Вы все без предварительной проверки пытаетесь предполагать что на SQL нельзя и типа восхитить Зигзагом.

CREATE TABLE table_name AS SELECT .... - известнешая конструкция.

Мож все-таки изучите SQL? Преимущества от этого:
1) не будет такого смешного хвастовства тем что, Зигзаг может перелетать с забора на забор.
2) Поймете что Зигзагу до SQL как до луны, и не будете время тратить на напрсную пропаганду этого Герболайфа.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33657458
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как говорится, Зигзаг не читал, но скажу:).
видимо, это означает, что выражения второго порядка непосредственно входят в язык, т.е. можно без использования динамического SQL писать типа
Код: plaintext
Select $(select x from table_columns where tableName ='x' and col_ISPK = 1 ) ...

где $ указывает, что результат следует понимать как имя, а не значение.
По русски - выдать значения колонок, объявленных как PK.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33658489
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 okdoky
Прежде, чем разобрать ваш «поток сознания», отмечу, что делаю это (отвечаю вам), похоже, последний раз, поскольку за все это время вы не привели ни одного заслуживающего внимания аргумента, ни одной завалящей цитаты или ссылки в подтверждение вашей позиции. Мне уже все ясно, окружающим, похоже, тоже все ясно, ничего нового или интересного в споре от вас ожидать, увы, не приходится. Теперь детали.
okdokyНа сколько я понимаю, авторы не ставили перед собой цель дать какие-либо определения используемым терминам. Почему Вы считаете, что они обязаны опираться на реляционную терминологию?Сколь жалко выглядят подобные заявления. Авторы ZZ сами заявили про то, что их язык позволяет работать с реляционными базами данных, причем лучше SQL. Кто написал на титульной странице сайта: “Sav Zigzag is an object relational DBMS (ORDBMS) supporting Zigzag language, more expressive than SQL ”. Никто их за язык не тянул. Зачем тогда писать “Zigzag algebraic expressions enable lightly to process not only tabular data, like in SQL , but also hierarchy, like XML.” И первым же разделом доки по ZZ они сами выбрали “ Relational Database Application”. И после этого вы смеете заявлять «Почему Вы считаете, что они обязаны опираться на реляционную терминологию?» У вас что-то с логикой, родной мой человек. Люди сами начали направо и налево использовать слова «реляционный» и “SQL”, разумеется они обязаны опираться на реляционную терминологию.
okdokyПотому, что Вы знаете ее лучше? Чем авторы ZZ? Да. Чем вы? Дважды да.
okdokyА знаете ли Вы сами точные определения из РМД? Да. По крайней мере стремлюсь к этому.
okdokyДаже Ваши ссылки на Дэйта, Википедию и пр., это сплошной винегретРодной, я-то эти ссылки нашел и привел (и могу еще десяток найти и привести), а вот лично вы ничего не нашли и не привели. Похоже, пытаетесь обвинить другого, что он плоховато бегает, а сами и ходить -то пока не можете. А по поводу винегрета, так он у вас в голове. Приведенные ссылки и цитаты друг другу не противоречат, а напротив, взаимно подтверждаются.
okdokyиз которого Вы заключили, что домен и тип, это синонимы. Родной, это не я так заключил, это там так и написано.
okdokyЯ не считаю, что терминологию РМД нужно использовать как догму. Чтобы решить, использовать или не использовать терминологию РМД, нужно ее хотя бы знать. По опыту этого форума, обычно обзывают стандартную терминологию «догмой» и «не хотят ее использовать» те, кто ее просто не знает.
okdokyТем более, как выяснилось согласно Вашей ссылке, Дэйт применил термин «тип» только в 8-м издании своего Введения в БД.Это просто дань исторической традиции: Кодд изначально использовал термин «домены». Но и традиции сходят на нет, просто термин «тип» известен и употребим шире. okdokyОчевидно в первых изданиях понятие «тип» вообще не существовало?.А что если в 9-м издании он (Дэйт) возьмет и заменит «тип», на «класс»? И скажет, ребята, чтобы Вам было понятнее, это тоже самое, что мы называли доменом в своих первых изданиях. Как Вы будете выкручиваться? Оставьте свои фантазии и домыслы при себе, они кроме вас мало кому интересны. Хотя понимаю, тогда вам и сказать будет нечего.
okdokyПредложите очередной винегрет из ссылок?Это мы уже обсудили. Научитесь ходить, потом критикуйте тех, кто бегает.
okdokyЯ не хочу отвечать за авторов Zigzaga, но могу дать Вам свои собственные определения. Можете использовать их в дальнейшем за основу и даже ссылаться на них.
[всякая ересь] Мания величия. Вы кто, простите, такой, чтобы кого-то интересовали ваши доморощенные определения? Эксперт с мировым уровнем? Для начала, приведите список ваших публикаций по данной тематике, а там видно будет. А пока будем пользоваться мнением более известных и авторитетных людей, уж простите.
okdoky[бла-бла-бла]. В любом случае, если возникнут вопросы или сомнения обращайтесь, обязательно помогу Вопросы я вам задавал, неоднократно. Про целостность, про реализацию аудита без триггеров, про конкретные недостатки ZZ. Вы их «замолчали». Ответить-то нечего. Поэтому сомнения у меня закономерно возникли. Сомнения в вашей профпригодности. И вы мне помогли . Помогли утвердиться в этом мнении.

Можете не трудиться отвечать, если у вас по прежнему не будет окромя эмоций и слепой любви к ZZ никаких технических аргументов.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33658919
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo okdoky
CREATE TABLE, где имена колонок и таблиц задаются через запросы или переменные. Можно ли это сделать в SQL?

А Вы надетесь что не может? Или уверены? Типа где SQL до Зигзага? Ну еще бы хто придымувыл SQL и хто Зигзаг?
Ить не впервый раз облом Вашим таким наивным мечтам, а Вы все без предварительной проверки пытаетесь предполагать что на SQL нельзя и типа восхитить Зигзагом.

CREATE TABLE table_name AS SELECT .... - известнешая конструкция.

Мож все-таки изучите SQL? Преимущества от этого:
1) не будет такого смешного хвастовства тем что, Зигзаг может перелетать с забора на забор.
2) Поймете что Зигзагу до SQL как до луны, и не будете время тратить на напрсную пропаганду этого Герболайфа.CREATE TABLE A AS SELECT * FROM B на Zigzag выглядит как A = B:. То есть таблица А получает такую же структуру и содержание как B. Нет, конечно я спрашивал о другом. Впрочем, используя динамический SQL или формирование запроса из обычного языка программирования можно выйти из положения. Точно также можно преодолеть любые ограничения имеющиеся в Zigzag.

mir4. Нет крайне полезных реляционных операций группировки (GROUP BY/SUMMARIZE). Согласен, это недостатки Zigzag. Их можно преодолеть программируя на Java/Zigzag. Например создать какую-нибудь универсальную процедуру типа GROUPBY(файл результата, исх. множество, действие над элементами) и вызывать ее. Содержание ее будет простым.

Например, на основе таблицы СОТРУДНИК нужно распечатать таблицу ОТДЕЛ используя подсчет количества сотрудников для каждого отдела.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
СОТРУДНИК ОТДЕЛ
Иванов         20 
Петров         30  
Сидоров      20 

ОТДЕЛ    ЧИСЛЕННОСТЬ
 20           2 
 30          1 
На Java/Zigzag программа будет выглядеть так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Session ss = new Session();
Base b = ss.useBase(“КОМПАНИЯ”);
ss.z(“$x=ОТДЕЛ:”);
Variable vx = ss.var(“$x”);
System.out.println(“ОТДЕЛ    ЧИСЛЕННОСТЬ”);
for (String otd = vx.first(); otd != null; otd = vx.next()) {
  ss.z(“$y=$number(СОТРУДНИК:(“ + otd + “)”)));
  System.out.println(dep + “    ” + ss.get(“$y”));
}

На основе ее можно сделать универсальную процедуру и вызывать подставляя соответствующие параметры.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33659169
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 okdoky

Ну вот, хоть что-то.

Гляжу на ваш последний пост, где вы сравнили с SQL на ZZ две задачи (вверху и внизу поста). Вывод напрашивается такой: на зигзуге в сравнении с SQL некоторые простые задачи решать чуть проще (точнее даже не проще а запись покороче), зато сложные --- гораздо сложней. Ежли так, я лучше выберу SQL.

Кстати, по поводу группировки. На SQL я группировку могу воткнуть внутрь сложного запроса как подвыражение, короче, алгебра в действии. А куда я воткну внутрь запроса вашу хитромудрую подпрограмму? Насколько я вижу, она просто результат куды-то печатает, а это совсем не то же самое. И еще: когда я применяю группировку в SQL, оптимизатор РСУБД может этот запрос оптимизировать, используя ежли надо индексы. А вашем примере никакой оптимизации не наблюдается, тупой перебор.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33659535
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRКак говорится, Зигзаг не читал, но скажу:).
видимо, это означает, что выражения второго порядка непосредственно входят в язык, т.е. можно без использования динамического SQL писать типа
Код: plaintext
Select $(select x from table_columns where tableName ='x' and col_ISPK = 1 ) ...

где $ указывает, что результат следует понимать как имя, а не значение.
По русски - выдать значения колонок, объявленных как PK.Точно. Я уже говорил об этой возможности, только mir так ничего и не понял. Попробую разобрать еще один вполне реальный пример на Zigzag. Допустим, есть одна общая таблица о сотрудниках
СОТРУДНИК; ПОЛ; ЗАРПЛАТА; ОТДЕЛ
и есть более "узкая" таблица о программистах
ПРОГРАММИСТ; ОТДЕЛ
Нам нужно из общей таблицы СОТРУДНИК выдать информацию подобную таблице ПРОГРАММИСТ о вполне конкретных людях имеющихся в переменной $x. Оператор будет выглядеть компактно.
Код: plaintext
$printTable($x, СОТРУДНИК, (ПРОГРАММИСТ));
Если не уверен в точном имени атрибута или таблицы, можно использовать сокращения. Например:
Код: plaintext
$printTable($x, СОТР*, *З*Р*П*);
Когда на месте имени таблицы стоит множество имен или неопределенное имя, может быть выдано несколько таблиц. Например
Код: plaintext
$printTable($x, /Иванов);
Здесь, об объектах $x будут выданы таблицы точно такие же, в каких имеется информация об Иванове.

Не думаю, что перечисленные выше действия легко запрограммировать на PL/SQL. Некоторые (последний пример, где используется значение атрибута - /Иванов) вообще не поддаются SQL. А вот последовательные итерации, как группирование, программируются в цикле Java/Zigzag элементарно. Возможно поэтому разработчики Zigzag такую возможность предоставили прикладным программистам. Последовательный перебор обычно не поддается оптимизации.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33659581
Критикан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
okdoky
Когда на месте имени таблицы стоит множество имен или неопределенное имя, может быть выдано несколько таблиц. Например
Код: plaintext
$printTable($x, /Иванов);
Здесь, об объектах $x будут выданы таблицы точно такие же, в каких имеется информация об Иванове.

2 вопроса.
1. В какой прикладной задаче может потребоваться такой маразм - искать по произвольному кол-ву таблиц-колонок в БД.
2. Если например заместо строки "Иванов" нарисовать число "15". Отработает ?
А если у меня в базе есть 2 таблицы с миллионами записей каждая - сколько мне результата ждать ? До пенсии ?
okdoky
Последовательный перебор обычно не поддается оптимизации.
У разработчиков зигзага - вполне возможно. Даже охотно верю.
А вообще, вы фразу "двоичный поиск" или слово "сортировка" когда нибудь слышали ? Вы в курсах что 3-й том "Искусства программирования" Кнута называется "Сортировка и поиск"?
Резюме.
Аффтар выпей йаду и упей сибя ап стену.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33659605
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZZ - это поделие для написания коротеньких скриптиков, это мы уже поняли.
Уважаемый ты через 2-3 года поймешь, что означает эти перловые (язык такой)
конструкции. Ты неверное ни разе не писал систем в которых больше 500.000 строк кода, что не не так уж и много...

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

У меня есть классическая схема типа звездочка , продажи в магазине

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

Количество сумма продаж за 1 неделю 2 квартала, продуктов в категории ZZZ
в магазинах находящихся в городах с количеством жителей от 100.000 до 300.000

Просто интересно посмотреть...
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33659813
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nikolay KulikovZZ - это поделие для написания коротеньких скриптиков, это мы уже поняли.
Уважаемый ты через 2-3 года поймешь, что означает эти перловые (язык такой)
конструкции. Ты неверное ни разе не писал систем в которых больше 500.000 строк кода, что не не так уж и много...

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

У меня есть классическая схема типа звездочка , продажи в магазине

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

Количество сумма продаж за 1 неделю 2 квартала, продуктов в категории ZZZ
в магазинах находящихся в городах с количеством жителей от 100.000 до 300.000

Просто интересно посмотреть...Важно, что все SQL-задачи на Zigzag решаются. А вот обратное, как выяснилось, не всегда. Кстати сортировка выполняется Зигзагом автоматически. На счет ORDER BY как-то не приходилось заботится . Вы бы выразили свой запрос на SQL. Боюсь, что сами не поймете теперь.
Код: 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.
Session ss = new Session();
Base bissue = ss.useBase("Issue");

String script = 
"$x = проданный товар:(категория:ZZZ,
магазин:(город:(количество жит*:100.000^300.000)),
дата:2005-04-01^2005-04-07);";
ss.z(script);

Base bresult = ss.newBase("Result");
Variable vx = ss.var("$x");
for (String tov = vx.first(); tov != null; vx.next()) {
  sum(tov);
}
ss.z("$printTable(ZZZ:)");


void sum(String tov) {
  String store = bissue.attrValue(tov, "магазин");
  String count = bissue.attrValue(tov, "количество");
  String price = bissue.attrValue(tov, "цена");
  String res = "ZZZ:" + store;
  int  sum_count = Integer.parseInt(count);
  float  sum_price = Float.parseFloat(price);
  if (bresult.contains(res)) {
    String count = bresult.attrValue(res, "количество");
    String price = bresult.attrValue(res, "цена");
    sum_count += Integer.parseInt(count);
    sum_price += Float.parseFloat(price);
  }
  ss.z(res + "~()");
  ss.z(res + " ( количество:" + sum_count + ")");
  ss.z(res + " ( цена:" + sum_price + ")");
}
Распечатана буден информация для ZZZ сгруппированная по магазинам. Здесь я сам усложнил задачу. Если бы просмотр осуществлялся последовательно по магазинам, временную таблицу ZZZ можно было не создавать. А выводить суммарные результаты сразу для каждого магазина.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33659836
dvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dvm
Гость
okdokyВажно, что все SQL-задачи на Zigzag решаются.

Решаться то решается,но сколько кода ради group by.Ужас.Тащим досовскую систему на clippere. От cliper-а плююсь постоянно, ну нету там select from. Цикл блин писать надоть.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33659920
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dvm okdokyВажно, что все SQL-задачи на Zigzag решаются.

Решаться то решается,но сколько кода ради group by.Ужас.Тащим досовскую систему на clippere. От cliper-а плююсь постоянно, ну нету там select from. Цикл блин писать надоть.
Вот вот - я тоже примерно так на клиппере-89 в 91-ом писал - очень даже похоже, что тут okdoky на коде ваяет. Вот только ностальжи не пробивает - нет как то желания вернуться к "счастливому детству без SQL".
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33659927
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdokyВажно, что все SQL-задачи на Zigzag решаются.Скажу больше: все SQL-задачи и на ассемблере решаются. Только кто же их так решает. Тонкий намек понятен?
okdokyА вот обратное, как выяснилось, не всегда.Где ж это выяснилось?
okdokyКстати сортировка выполняется Зигзагом автоматически. На счет ORDER BY как-то не приходилось заботится . Тогда поясните, как задать многокритеральную сортировку (сначала по столбцу B, потом по A, потом по С...) и как задать направление сортировки (убывание/возрастание).

Впрочем, вы все неудобные вопросы просто игнорируете. Я их уже множество сформулировал, а ответа все нет.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33660544
Критикан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
okdokyКстати сортировка выполняется Зигзагом автоматически. На счет ORDER BY как-то не приходилось заботится .
Сортировки только для ORDER BY нужны ?
Жжошь....
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33662507
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir okdokyВажно, что все SQL-задачи на Zigzag решаются.Скажу больше: все SQL-задачи и на ассемблере решаются. Только кто же их так решает. Тонкий намек понятен?
okdokyА вот обратное, как выяснилось, не всегда.Где ж это выяснилось?
okdokyКстати сортировка выполняется Зигзагом автоматически. На счет ORDER BY как-то не приходилось заботится . Тогда поясните, как задать многокритеральную сортировку (сначала по столбцу B, потом по A, потом по С...) и как задать направление сортировки (убывание/возрастание).

Впрочем, вы все неудобные вопросы просто игнорируете. Я их уже множество сформулировал, а ответа все нет.Разговор глухих и слепых. Сколько ни показывал и ни выяснял, все напрасно. И JOIN демонстрировал в каком-то топике и на счет целостности говорил. Понятно только то, что на SQL и в виде таблицы? Зигзаг оперирует не только таблицами, но и деревьями. У Zigzag-таблиц записи автоматически упорядочиваются по первому ключевому полю. Вершины на всех уровнях дерева также имеют упорядоченность. Например, на SQL есть таблица A; B; C; D. Я могу сразу создать иерархическую структуру B:A:C(A,B,C,D). Можно опять же в цикле для произвольной сортировки создавать промежуточные таблицы, у которых будет в качестве ключевого поля конкатенация произвольных полей. Распечатывать конечно можно только определенные колонки таблицы. Есть возможность обратного прохода опять же в цикле используя методы last() и back() для обратного упорядочивания.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33662607
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравни свою процедуру которую придется переделывать достаточно часто с запросом

Количество сумма продаж за 1 неделю 2 квартала, продуктов в категории ZZZ
в магазинах находящихся в городах с количеством жителей от 100.000 до 300.000

select sh.shopname,pr.productname,Sum(sa.USD),count(sa.USD) from SALES
from shop sh ,sales sa, product pr
where
sh.shopid=sa.shopid and
pr.productid=psa.productid and
pr.category='ZZZ'
sh.citizens# between 100000 and 300000
group by sh.shop,pr.product


Самое удивитиельное, все параметры для группировки можно добавлять и удалять динамически, без написания нового класса на каждый запрос :)

И что мы будем делать если условий будет не 4 как я указал, а 20 в твоем zig-zage

Чем твои промежуточные таблицы отличаются от временных таблиц или Common Table Expression в SQL??? Там тоже иерархии можно делать. Ты из SQL знаешь только select * from и утверждаешь что какие-то возможности в zig-zag. Лучше. Лучше не увидел увидел короче и непонятней...
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33662615
iliker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще раз повторюсь
Я человек ленивый.Ради сортировки в любом порядке по любым полям вместо order by городить отдельную таблицу к терапевту,
группировка циклом - прошлый век.
Про join ничего не скажу не видел.
Ну и напомню :
ОРБД. сравнение объектных расширений реляционных СУБД.

Мне М-систы и zigzag -ники напоминают одного чела который не мог изучить sql и решил написать собственную СУБД на циклах(где-то пробегало)
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33662705
Ц4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ц4
Гость
okdokyУ Zigzag-таблиц записи автоматически упорядочиваются по первому ключевому полю

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

А что же Вы хотели? Зигзаг напрасен в силу природы вещей. Тем более что Вы еще в первых постах прокололись, када выяснилось, что SQL в легкую может то, что Вы надеялись он не может, и заодно признали, что Зигзаг не может (группировок нет, чего там динамического нет), но Зигзагу поможет Джава. После этого моно забыть про Зигзаг навсегда, потому шо Джава поможет кому угодно - ей все равно. Надо было хоть немного ознакомиться с SQL прежде, чем пытаться удивлять Зигзагом. А теперь поезд ушел.

okdoky
Зигзаг оперирует не только таблицами, но и деревьями.

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

okdoky
У Zigzag-таблиц записи автоматически упорядочиваются по первому ключевому полю.

Это достижнение. Это так трудно и так нужно. Просто Нобелевскую премию за это давать в пору.

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

В цикле ваще можно что угодно. Для этого однако луче Джава без всякого там Зигзага.

okdoky
Распечатывать конечно можно только определенные колонки таблицы. Есть возможность обратного прохода опять же в цикле используя методы last() и back() для обратного упорядочивания.

Просто вершина в ИТ технологиях. Не любой школьник это сумеет.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33662958
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky У Zigzag-таблиц записи автоматически упорядочиваются по первому ключевому полю.
А их(ключевых полей) что - может быть несколько?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33663120
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdokyРазговор глухих и слепых. Сколько ни показывал и ни выяснял, все напрасно. И JOIN демонстрировал в каком-то топике и на счет целостности говорил. Понятно только то, что на SQL и в виде таблицы? Зигзаг оперирует не только таблицами, но и деревьями. У Zigzag-таблиц записи автоматически упорядочиваются по первому ключевому полю. Вершины на всех уровнях дерева также имеют упорядоченность. Например, на SQL есть таблица A; B; C; D. Я могу сразу создать иерархическую структуру B:A:C(A,B,C,D). Можно опять же в цикле для произвольной сортировки создавать промежуточные таблицы, у которых будет в качестве ключевого поля конкатенация произвольных полей. Распечатывать конечно можно только определенные колонки таблицы. Есть возможность обратного прохода опять же в цикле используя методы last() и back() для обратного упорядочивания.Короче, что на SQL делается строчечкой вроде ORDER BY Col1 DESC, Col3 ASC, Col5 DESC, на ZZ потребует охеренных усилий. Ладно, тут за это вас и так распяли ржавыми гвоздями, мне интересно другое. Во-первых, про JOIN. Сделайте одолжение, дайте либо ссылочку, либо повторите для нас убогих. Раз уж в этой теме мы начали все претензии к ZZ систематизировать. То же и про целостность. В этой теме вы по поводу целостности несли ахинею , а когда я откомментировал и попросил разъяснений, просто перестали про это отвечать (любимый прием). Тоже прошу, дайте либо ссылочку, либо повторите где и что в другом топике вы рассказали про целостность в ZZ.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33665577
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nikolay KulikovСравни свою процедуру которую придется переделывать достаточно часто с запросом

Количество сумма продаж за 1 неделю 2 квартала, продуктов в категории ZZZ
в магазинах находящихся в городах с количеством жителей от 100.000 до 300.000

select sh.shopname,pr.productname,Sum(sa.USD),count(sa.USD) from SALES
from shop sh ,sales sa, product pr
where
sh.shopid=sa.shopid and
pr.productid=psa.productid and
pr.category='ZZZ'
sh.citizens# between 100000 and 300000
group by sh.shop,pr.product


Самое удивитиельное, все параметры для группировки можно добавлять и удалять динамически, без написания нового класса на каждый запрос :)

И что мы будем делать если условий будет не 4 как я указал, а 20 в твоем zig-zage

Чем твои промежуточные таблицы отличаются от временных таблиц или Common Table Expression в SQL??? Там тоже иерархии можно делать. Ты из SQL знаешь только select * from и утверждаешь что какие-то возможности в zig-zag. Лучше. Лучше не увидел увидел короче и непонятней...Почему Вы решили, что нужно писать новый класс под каждый запрос, а не сделать один универсальный? При этом в качестве параметров можно передавать массивы, даже строки со специальными разделителями? Перебираемые записи можно определить заранее
"$x = проданный товар:(категория:ZZZ,
магазин:(город:(количество жит*:100.000^300.000)),
дата:2005-04-01^2005-04-07);"
Кстати, чем больше условий в запросе, тем больше преимущества будет у Zigzag по быстродействию. Это мы уже проверяли в сравнении с Oracle, Interbase, Access.

Честно говоря мне не требовалось часто составлять отчеты. Решаемые задачи имели другой онлайновый характер, генерация интерфейса с пользователем по текущему содержимому БД, обработка иерархических зависимостей для Интернет-хостинга (сложный каталог ресурсов с разделенными правами для пользователей типа LDAP). Если хотите управлять генерацией отчета (при большом объеме выводимых данных, красивых постраничных формах и пр), советую и Вам создать универсальную процедуру. Увы, тогда преимущества SQL сойдут на нет.

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

Размечтались. Пока что конкуренты SQL за всю его историю сходили на нет. А Зигзаг, наверняка, не выдержал бы конкуренции с ними. Впрочем, судя по Вашим постам, Вы не в курсах в чем же преимущества SQL. Типа полагаетесь на свою интуицию. Но она Вас подводит практически во всех Ваших постах. Так Вы SQL не победили бы даже если бы у Вас было что-то реальное, а не то что с каким-то там Зигзагом. Правда, если бы знали, то такими тулсами как Зигзаг, врядли бы пытались с ним бороться.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33666040
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел было спросить, уж не сам ли Okdoky накропал эту статью по ZZ ("Точка Зрения на ОРСУБД"). Много там знакомых фразочек, которые у него встречались. Однако решил, что все же нет. Хотя степень невежества и непрофессионализма автора статьи Сергея Савушкина столь же велика, как и у Okdoky, он все же поглаже излагает. Похоже, Okdoky просто этой статьи в свое время начитался.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33666393
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky Важно, что все SQL-задачи на Zigzag решаются. А вот обратное, как выяснилось, не всегда. Вспомнил вот. Хоть и не скромно конечно. Вот задача. Есть решение на SQL. Судя по тому как Вы ZZ описываете, вполне вероятно что он для этих целей больше подходит.
Напишите как это на ZZ будет, ведь все SQL-задачи на Zigzag решаются

Про аудит и ведение счетов, я понял, что нам уже не дождаться
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33759561
XaMeL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
------------- okdoky vadiminfo okdoky
Не забывайте, что Zigzag – ОРСУБД.

А вот тут извените. Это как раз можно таки и забыть - Зигзаг как ОРСУБД в литературе не прописан и врядли может реально сопоставляться с реальными ОРСУБД. Ему товарищь все-таки скорее Клиппер, а не Ораклы со Скулями, ДиБиДвами и Сибэйсами. Так шо пусть он пока (до выяснения каких-то новых обстоятельств) остается просто Зигзагом без всяких там приписок типа ОРСУБД.На счет Оракла и Клиппера не знаю, но взгляните на сайт Most Popular in Database . Sav ZAPI (старая версия Sav Zigzag) тягается с MySQL, PostgreSQL и SQL Server . Согласен, это произошло недавно, но такие темпы меня настораживают самого.

okdoky , сам-то понял, на какую х#$ню ссылка? Если Zigzag работает с большими XML БД, чем он лучше Berkly? Где можно скачать более новую версию Zigzag 7.4?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33888720
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XaMeLЕсли Zigzag работает с большими XML БД, чем он лучше Berkly? Где можно скачать более новую версию Zigzag 7.4?Уже существует 8-я версия Sav Zigzag .

Мы делали только самое общее сравнение Sav Zigzag с Berkeley DB XML. Судя по описанию Berkeley, как и Zigzag, действительно очень быстро обрабатывают XML и используют индексацию при работе с иерархическими данными. Самым важным у Berkeley DB XML, конечно является поддержка XQuery! Пока она достаточно сырая ИМХО. Zigzag был реализован раньше, чем XQuery. На основе Zigzag уже внедрены и работают серверные системы, доступные даже из мобильного телефона, если интересно, это: хостинг Smanshome и очень быстрая справочная Организации Москвы (Smanswer).
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33889667
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не думаю, что объектные расширения являются главным ориентиром развития СУБД. Более того, убежден, что ОО системы (в том числе ОСУБД), следует считать совершенно новым классом систем (т.е. не СУБД). Да, современные ОО системы базируются на СУБД..., но ведь и СУБД базируются на файловых системах… :)

Фундаментальное направление развития СУБД следует искать в усложнении структуры представляемых ими данных и языковых инструментах, позволяющих обрабатывать эти структуры. Очевидно XML и XQuery – главные направления, на которые сейчас ориентируются IBM, Oracle и Microsoft - http://www.citforum.ru/database/articles/xquery_1.0/ .
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33889752
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdokyНе думаю, что объектные расширения являются главным ориентиром развития СУБД. Более того, убежден, что ОО системы (в том числе ОСУБД), следует считать совершенно новым классом систем (т.е. не СУБД). Да, современные ОО системы базируются на СУБД..., но ведь и СУБД базируются на файловых системах… :)


Можно поподробнее с этого места - насчёт базирования на файловых системах?
То, что такие СУБД имеются, не означает, что "СУБД базируются на файловых системах"
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33890041
AlexTheRaven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky<...>и очень быстрая справочная Организации Москвы (Smanswer).
Тому может быть 1000 причин, но субъективно форум sql.ru работает в разы быстрее. Особенно когда щёлкаю на "Аптека" и после получаю на экране "346 objects". Время ожидания - до 3 секунд, на таких смешных объёмах - многовато.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33890155
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexTheRaven okdoky<...>и очень быстрая справочная Организации Москвы (Smanswer).
Тому может быть 1000 причин, но субъективно форум sql.ru работает в разы быстрее. Особенно когда щёлкаю на "Аптека" и после получаю на экране "346 objects". Время ожидания - до 3 секунд, на таких смешных объёмах - многовато.Ответ в 3 сек оценивать бессмысленно. Вы забыли, что это Интернет? Объем БД не влияет существенно на производительность. Вы забыли принципы индексации? Время отклика в основном зависит от объема искомых данных, особенно если система пытается их (или их количество) выдать сразу.

Решил проверить сам, как быстро работает поиск в SQL и в справочной. Сделал такие запросы:
Аптека | Цена | разработка - для SQL
Аптека, Цена, разработка - для Smanswer.
Получил результаты:
найдено 213 тем за 9 сек - для SQL
найдено 578 объектов за 6 сек - для Smanswer.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33890196
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилМожно поподробнее с этого места - насчёт базирования на файловых системах?
То, что такие СУБД имеются, не означает, что "СУБД базируются на файловых системах"Зачем Вам файловые системы? Вы обратили внимание на мордочку :)?

Три категории, о которых шла речь, и их зависимость можно, например, представить так:
Код: plaintext
файловые системы (с прямым и последовательным доступом) -> СУБД -> ОО системы (например Hibernate, JDO)
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33890357
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdokyНе думаю, что объектные расширения являются главным ориентиром развития СУБД. Более того, убежден, что ОО системы (в том числе ОСУБД), следует считать совершенно новым классом систем (т.е. не СУБД). Да, современные ОО системы базируются на СУБД..., но ведь и СУБД базируются на файловых системах… :)

Фундаментальное направление развития СУБД следует искать в усложнении структуры представляемых ими данных и языковых инструментах, позволяющих обрабатывать эти структуры. Очевидно XML и XQuery – главные направления, на которые сейчас ориентируются IBM, Oracle и Microsoft - http://www.citforum.ru/database/articles/xquery_1.0/ .

Объектные расширения и есть "усложнения" структуры в данном контексте. Точнее претендуют на ПО более сложной структуры. И естественно претендуют на обработку этой структуры. Т.е. они как бы укладываются в эти "фундаментальные направления".

Если же они не СУБД, как сказано у автора, но базируются на СУБД, то они просто проги к БД. Не СУБЗ же они в самом деле? (Если, конечно, не обращать внимания на Селебрум Шуклина).

Что до очевидности того, что "XML и XQuery – главные направления, на которые сейчас ориентируются IBM, Oracle и Microsoft", то это не совсем пока очевидно. Напрмер, Оракл приписал новым версиям букву "g", а не "х". Т.е. не XML они считают главным, а гриды, в 8 и 9 версиях было "i" - интернет - ближе к XML. Это скорей лишь одна из составляющих какого-то такого фундаментального направления.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33890768
ABC_1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky...
Решил проверить сам, как быстро работает поиск в SQL и в справочной. Сделал такие запросы:
Аптека | Цена | разработка - для SQL
Аптека, Цена, разработка - для Smanswer.
Получил результаты:
найдено 213 тем за 9 сек - для SQL
найдено 578 объектов за 6 сек - для Smanswer.
Н-да... Сравнил, называется...
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33891065
AlexTheRaven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky<...>Ответ в 3 сек оценивать бессмысленно. Вы забыли, что это Интернет? Объем БД не влияет существенно на производительность. Вы забыли принципы индексации? Время отклика в основном зависит от объема искомых данных, особенно если система пытается их (или их количество) выдать сразу.

Про объём у меня вообще ни слова не было. Про неопределённость Интернет - нет, не забыл. Потому и написал про 1000 причин. И не собираюсь путать мягкое с тёплым - есть технология и есть реализация. Но IMHO не стоит называть очень быстрым то, что очень полезно, но работает медленно. Ну пусть на запрос-ответ уходит 1 сек. Всё равно, 2 секунды считать 400 записей - многовато даже для перегруженной производственной БД.

okdoky
Получил результаты:
найдено 213 тем за 9 сек - для SQL
Как удалось? :) Разрешите поинтересоваться, не MySQL ли Denwer'а использовалась с установками по умолчанию?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33891156
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky ты недопонимаешь XQuery имеeт место в индустрии. Отнюдь не потому что это супер прорывные идея, хотя в их реализации в внутри любой БД есть много интересных вещей.

Появление возможностей XML внутри БД связано с потребностью хранить его в БД (на данный момент факт, то что XML является результатом множества транзакций во всем мире) В США до и после Enron и им подобных появилось огромадное количество требований по хранению данных финансовых транзакций. Если результатом является XML, то нужно хранить XML. Но не просто хранить но и эффективно по нему искать.

Так что в первую очередь деньги, а потом уже технологии. Я думаю что у немногих компаний которые сейчас занимаются XML БД есть шансы превратится в что то подобное DB2/MSSQL/Oracle в мире реляционных БД. А те у которых такие шансы есть, скорее всего будут скуплены вышеупомянутой тройкой

А так по большому счету XML внутри БД очень сильно похож на объектные расшинения БД. Вводится новый базовый тип под названием XML
И самом деле завязан на объектные расшинения (по крайней мере для DB2)

Да кстати если ты отслеживашь последние тенденции в этой области, то XQuery уже не актуально. Актуален XUpdate.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33891890
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexTheRavenТому может быть 1000 причин, но субъективно форум sql.ru работает в разы быстрее. Особенно когда щёлкаю на "Аптека"…
okdokyРешил проверить сам, как быстро работает поиск в SQL и в справочной. Сделал такие запросы:
Аптека | Цена | разработка...
AlexTheRaven okdoky
Получил результаты:
найдено 213 тем за 9 сек - для SQL
Как удалось? :) Разрешите поинтересоваться, не MySQL ли Denwer'а использовалась с установками по умолчанию?Я отвечал на ваш первый пост. Конечно речь идет об sql.ru. А вот какая система поддерживает сайт sql, это вопрос не ко мне? Не думаю, что MySQL Denwer'а…
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33892997
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, когда я говорю об XML, XQuery, Zigzag и пр. как об основных ориентирах или главных направлениях развития СУБД, не подразумеваю, что именно они будут основным языковым интерфейсом будущих СУБД. Возможно, это будет какой-нибудь SQLX или что-то в этом роде. Например, XML худо-бедно еще можно использовать для внутренних межмашинных протоколов и представления реляционно-иерахических структур, но не как основной способ ввода данных человеком. Взгляните, как будет выглядеть одна и та же структура
на XML
Код: plaintext
1.
2.
3.
4.
5.
<A>
  <C a=’ 1 ’/>
</A>
<B>
  <C a=’ 1 ’/>
</B>
на Zigzag
Код: plaintext
[A,B]:C(a: 1 )=
На SQL это уж пусть vadiminfo изголяется, ему не привыкать придумывать идентификаторы …

ОСУБД - прошлый этап. Зачем vadiminfo их вытаскивает? Они никак не могут быть сегодняшним ориентиром развития СУБД. Из ОО-систем работающих с объектами и хранящих их в БД, наиболее популярны сейчас серверы приложений. Но это не значит, что их нужно называть СУБД и на «проги» они не тянут…
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33893193
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
ОСУБД - прошлый этап. Зачем vadiminfo их вытаскивает?

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

Насчет того, где искать фундаментальные направления - ну что-то же надо искать. Ни ООСУБД, ни XML и тем более Зигзага лично я к фундаментальным направлениям не привистовывал. Первые два просто какие-то направленния (не фундаментальные скорее всего), третье , если и направление то назад, в лучшем случае в сторону от развития.

okdoky
Фундаментальное направление развития СУБД следует искать в усложнении структуры представляемых ими данных и языковых инструментах


Т.е. надо объяснить када их от туда (из усложненных структур) успели убрать.

Тогда как XML не на усложнение структуры, а на полуструктурированные МД претендовал. Т.е. не заменяет ОО в смысле структур - у стуктурированных и полуструктурированных свои достоинства и недостатки, не позволяющие во всех случаях предпочесть что-либо одно. Возможно, для okdoky такие мелочи не имеют значения. Однако, перед начертанием направления поиска фундаментальных направлений по признаку усложнения структур, этим бы стоило хоть немного озаботиться.

Конечно, никто не подозревает okdoky в том, что он просто опять вытащил Зигзага, и подстраивает под него якобы фундаментальные направления развития БД (чего мелочиться то?). Тогда бы, действительно, усложнения структур это просто то, что первое пришло в голову ему, после того как никаких достоинств среди СУБД сегодняшнего дня (т.е. накануне фундаментального развития) у Зигзага выявить ему ранее не удалось.

okdoky
Они никак не могут быть сегодняшним ориентиром развития СУБД.


Ну, okdoky конечно видней в общем случае ориентиры развития СУБД. Однако, если он там увидел совершенно случайно Зигзага, то он погорячился, скорее всего.

okdoky
Из ОО-систем работающих с объектами и хранящих их в БД, наиболее популярны сейчас серверы приложений.


Ноу каментс.

okdoky
Но это не значит, что их нужно называть СУБД и на «проги» они не тянут…

Это , скорей всего, ничего не может значить.
Нужно ли называть Весант СУБД или нет, конечно, дело версантников, но пока в литератре его за СУБД считают. И только ради вытаскивания Зигзага любой ценой, они вряд ли от этого откажутся.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33893710
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky Взгляните, как будет выглядеть одна и та же структура
на XML
Код: plaintext
1.
2.
3.
4.
5.
<A>
  <C a=’ 1 ’/>
</A>
<B>
  <C a=’ 1 ’/>
</B>
на Zigzag
Код: plaintext
[A,B]:C(a: 1 )=
На SQL это уж пусть vadiminfo изголяется, ему не привыкать придумывать идентификаторы …

При большой вложенности на XML будет наглядней(когда не понять какая скобка что закрывает)
И еще: XML не предназначен для хранения и манипулирования данными, его удобно использовать как формат передачи данных. Поэтому и функции в разные SQL-и вводятся как раз для того чтоб взять эти данные и дальше уже работать с ними "по-человечески".
Ну и говорить "а как это структура будет выглядеть на SQL?" - по меньшей мере неграмотно.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33895439
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuper:
Для наглядности можно делать отступы. На счет манипулирования, XSLT по своей сути - XML, то есть XML позволяет манипулировать данными. Что значит XML не предназначен для хранения? Можно хранить в форме XML. Хотя согласен, это больше способ представления данных (как и таблицы).

vadiminfo:
Если вы до сих пор не работаете с сервером приложений, например Oracle Application Server 10g , комментировать действительно нечего. Я уже полтора года работаю с WebLogic, до этого с JBoss. Если вам так нравится называть их ОРСУБД, называйте. ОК, будем считать что вы не согласны с моей градацией
Код: plaintext
файловые системы (с прямым и последовательным доступом) -> СУБД -> ОО системы (например Hibernate, ...)
Эта градация действительно условна...
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33895547
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
Для наглядности можно делать отступы.
Можно. Но если скобку пропустил - разобраться где всё равно тяжело будет. Ну а вообще между тем что Вы написали на зигзаге и XML-е я принципиальной разницы не вижу.
На счет манипулирования, XSLT по своей сути - XML, то есть XML позволяет манипулировать данными.
Не покажите ли как мне с помощью XSL-T проапдейтить XML?
Да и вообще по поводу XSL-T у меня цензурных слов нет
Что значит XML не предназначен для хранения? Можно хранить в форме XML.
Можно и в Ворде хранить
Хотя согласен, это больше способ представления данных (как и таблицы).
Это именно промежуточный (в частности транспортный) формат
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33895893
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
vadiminfo:
Если вы до сих пор не работаете с сервером приложений, например Oracle Application Server 10g , комментировать действительно нечего.
...
Нет комментариев от того, что, например, использование Application Server 10g не делает систему с Ораклом ОО - системой. Равно как этого не далают клиентские приложения использующие парадигму ООП. В общем случае сервер приложений вовсе не отменяет использование СУБД, в том числе и ООСУБД. Была двухзвенка, с сервером приложений - стала трехзвенка. Отмена из-за этого сервера БД не предполагается. А Вы вывели, что ООСУБД не СУБД раз там есть сервер приложений или ООСУБД стали не нужны, если вообще Ваша фраза (как впрочем и другие якобы задвигающие ООСУБД) может быть как-то переведена.

okdoky
Я уже полтора года работаю с WebLogic, до этого с JBoss. Если вам так нравится называть их ОРСУБД, называйте. ОК, будем считать что вы не согласны с моей градацией
...
На них мне забить. А наравится мне ОРСУБД называть СУБД Оракл. А Версанта нравится называть ООСУБД не зависмо от того с чем Вы работали или использовали, но в силу того, что они таковыми признаются в более авторитетных источниках. Если Вы не использовали сервер БД или использовали Зигзаг (что возможно одно и то же), то этого недостаточно чтобы ООСУБД оказалось задвинутым.
Про Вашу градацию - не смешите меня.

okdoky
Код: plaintext
файловые системы (с прямым и последовательным доступом) -> СУБД -> ОО системы (например Hibernate, ...)
Эта градация действительно условна...
Может лучше было Вам больше технолгиями БД заниматься, а не с серверами приложений работать, чтобы лучше представлять себе приложения БД? Тада бы Вы не выдумывали условных градаций, а пользовались бы классификацией систем БД, предложенной более продвинутыми спецами и описанными в толстых книгах. И уж точно не связались бы с Зигзагом.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33897297
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuper
>Не покажите ли как мне с помощью XSL-T проапдейтить XML?
XSLT обычно используется как фильтр, позволяющий из одного XML-файла делать другой, соответственно апдейтить исходный файл. У XQuery намечаются еще интереснее возможности, ориентированные специально на XML БД - Расширение языка XQuery функциональными update-выражениями .

vadiminfo
Что вы все доказываете и выдвигаете? Я давно с вами согласился. Конечно, если стулом забивать гвозди, то его вполне можно назвать молотком. Давайте договоримся на том, что О(Р)СУБД это СУБД на которой могут базироваться ОО-системы, а ОО-системы использующие БД – не О(Р)СУБД. И вам хорошо и мне тоже. ОК?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33898036
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky SergSuper
>Не покажите ли как мне с помощью XSL-T проапдейтить XML?
XSLT обычно используется как фильтр, позволяющий из одного XML-файла делать другой, соответственно апдейтить исходный файл. У XQuery намечаются еще интереснее возможности, ориентированные специально на XML БД - Расширение языка XQuery функциональными update-выражениями .

Ну дык Вы попробуйте напишите такой XSL, который допустим в Вашем XML-е заменит "1" на "2". Модификации как таковой нету, есть создание на основе данных старого.
Про то что в XQuery намечается - ну не серьёзно, двоим чего-то в голову пришло, но какое отношение они имеют к стандартизации языка? Мало ли кому еще чего придёт.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33898567
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky SergSuper:
Для наглядности можно делать отступы. На счет манипулирования, XSLT по своей сути - XML, то есть XML позволяет манипулировать данными. Что значит XML не предназначен для хранения? Можно хранить в форме XML. Хотя согласен, это больше способ представления данных (как и таблицы).

...

Да-да. Оракл сделал новый режим выгрузки данных из базы в xml-based вид. Сделанный прежним способом дамп данных занимал 50М, теперь, без отступов для наглядности (лишние байты) - 500М. Разницу улавливаете?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33898584
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
vadiminfo
Что вы все доказываете и выдвигаете? Я давно с вами согласился. Конечно, если стулом забивать гвозди, то его вполне можно назвать молотком. Давайте договоримся на том, что О(Р)СУБД это СУБД на которой могут базироваться ОО-системы, а ОО-системы использующие БД – не О(Р)СУБД. И вам хорошо и мне тоже. ОК?
Не так мы не договаривались. Для проггеров ОО-системы, т.е. парадигма программирования, наверное, первична. Для базистов первична БД и стало быть на данном этапе развития ИТ - СУБД. На ней базируется не ОО-система, а ИС. А ОО она или нет, есть ли там сервер приложения или нет, это вторично.
Оправданием этому служит то, что именно применение технологий БД дало значительную производительность программным системам, программными методами (т.е. не за счет железа) за послендие 20 а то и 30 лет. Поэтому ООСУБД и ОРСУБД не определяется тем, что на ней базируются какие-то там ОО-системы, а чем-то другим, более важным (моделью данных и поддержкой именно в ней ООП, скорее всего).
А ОО-системы, равно как и любые другие использующие БД, но не использующие СУБД - это файловые системы и ничего больше. И поэтому, скорее всего, не представляют в настоящее время интереса в технологиях БД.
Т.е. давайте договоримся забить на ОО-системы или считать их чем-то вторичным, не достойным быть определением никаких СУБД.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33909618
casmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo...Т.е. давайте договоримся забить на ОО-системы или считать их чем-то вторичным, не достойным быть определением никаких СУБД.А как же тогда сам термин "Объектно ориентированные системы управления базами данных"?
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33913031
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
casmith
А как же тогда сам термин "Объектно ориентированные системы управления базами данных"?

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

vadiminfo
Здесь существенно "системы управления базами данных" - СУБД. okdoky рассуждая про ОО системы (не уточняя понгятие), выводил как раз упразднение ООСУБД. Т.е. ОО системи не нужны СУБД, в том числе и ООСУБД. Они типа серверами приложений пользуются.Кто (что) пользуется серверами приложений? По вашему СУБД пользуется ОО-системами, а не наоборот? Батенька, вас понесло. Это ж надо, так возвеличивать СУБД.... Повторюсь и уточню специально для вас, что я везде говорил об ОО-системах базирующихся на СУБД, а не об ООП. У каждой категории свое предназначение в той схеме, которую я предлагал
Код: plaintext
файловая система -> СУБД -> ОО-ситема

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

okdoky все очевидно кроме главного. Не пользуюсь и не собираюсь вплоть до того момента, когда файлровые системы (будь они ОО или ОГОГО - дело десятое) в ИС превзойдут сисетмы с СУБД. Об этом неприменно станет известно из солидных источников, а не из тех которыми пользуется okdoky, особенно када выбирал СУБД Зигзаг (несомненрнно принебрежительное отношение к СУБД и сподобило его на такой выбор - СУБД вторично, поэтому какая разница, сойдет и Зигзаг, все равно она никакой роли не играет в ОО-системе, там главное сервер приложений).
Кстати, насчет серверов приложений - у Оракла есть и такой продукт - сервер приложений. Так что Вы поторопились в подмене одного другим.

okdoky
По вашему СУБД пользуется ОО-системами, а не наоборот?

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



okdoky
Повторюсь и уточню специально для вас, что я везде говорил об ОО-системах базирующихся на СУБД, а не об ООП.

Ноу каментс.

okdoky
У каждой категории свое предназначение в той схеме, которую я предлагал
файловая система -> СУБД -> ОО-ситема

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

okdoky
Вам ради спора захотелось все перепутать.

Какой там еще спор? И куда еще больше напутать, чем было у Вас изначально?

okdoky
Но я же согласился.

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

okdoky
Да, иногда файловую систему можно назвать СУБД, СУБД ОО-системой, стул молотком и т.д.

Ну Вам то можно "файловую систему можно назвать СУБД", но не всем это разрешено (можно аттестацию не пройти). СУБД ОО-системой могут называть ООСУБД (если очень надо)
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33914690
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo okdoky
Уважаемый vadiminfo недооценивает ОО-системы использующие постоянные хранилища (persistent store) для объектов, очевидно потому, что он ими не пользуется.

okdoky все очевидно кроме главного. Не пользуюсь и не собираюсь вплоть до того момента, когда файлровые системы (будь они ОО или ОГОГО - дело десятое) в ИС превзойдут сисетмы с СУБД.Очевидно, вы что-то недопонимаете, object's persistent store в серверах приложений, это прежде всего СУБД. Пока читайте, изучайте..., потом может быть поговорим.
...
Рейтинг: 0 / 0
ОРБД. сравнение объектных расширений реляционных СУБД.
    #33914739
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky
Очевидно, вы что-то недопонимаете, object's persistent store в серверах приложений, это прежде всего СУБД. Пока читайте, изучайте..., потом может быть поговорим.

Хотя и не очевидно, но скорее всего Вы недопонимаете, что я ради одолжения с Вашей стороны, поговрить с мной в будущем, не собираюсь читать то, что Вы считаете нужным. Это от того, что то чего Вы начитались и изучали не впечатляет.
В частности, СУБД в сервере приложений в общем случае не совсем та архитектура, на которую стоит тратить время с одной стороны (приличное СУБД имеет фирменное название, Некоторые языки типа Мумпса могут постоянно сохранять переменные, т.е. у них есть типа persistent store, но их не относят к СУБД в литературе). А с другой, если у Вас СУБД в сервере приложений и оно якобы ООСУБД, то как бы Ваша начальная цель упразднить ООСУБД не только не решена, но опровергнута Вами же. Она просто теперь у Вас там в сервере приложений процветает во всю.

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

Скажите правду - нужно как-то Зигзага проталкивать. В лоб не получилось пошли в обход? Про фундаментальные направления, где как бы случано потом должен был оказаться Зигзаг? Это такой неловкий маневр был? Из далека начали?
...
Рейтинг: 0 / 0
108 сообщений из 108, показаны все 5 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / ОРБД. сравнение объектных расширений реляционных СУБД.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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