Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5   вперед  Ctrl      все
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
okdoky
Member

Откуда:
Сообщений: 349
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. Я обязательно Вам отвечу тем же и добавлю еще.
4 апр 06, 19:30    [2523996]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
okdoky

С таким же успехом невеждами можно назвать разработчиков любой РСУБД (Oracle, DB2)

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

okdoky

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

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

okdoky

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

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

okdoky

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

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

okdoky

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

А то тут никто не знает про ограничения целостности в РМД, чтобы повестись на такой текст. Все ограничения целостности РМД реализованы декларативно в РСУБД (целостность отношений, ссылочная целостность, целостность на значения). Триггеры для ограничений целостности, которых нет в РМД. Так шо не надо нас дурачить.
4 апр 06, 22:45    [2524432]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
AlexTheRaven
Member

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

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


Я считаю так.

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

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

Как только количество необходимых функций ООСУБД достигает некоторого критического рубежа (как в случае с репозиторием САПР) - становится проще изучить ООБД и смириться с настандартностью и 60% зависимостью концепции от реализации, чем реализовывать всё заново своими силами.
5 апр 06, 10:18    [2525344]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
mir
Member

Откуда: Томск
Сообщений: 1027
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:
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 реализовать аудит? Триггеры в РСУБД с этим прекрасно справляются.
5 апр 06, 10:23    [2525373]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
мод
Guest
AlexTheRaven

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

Именно так. При том что можно использовать промышленные РСУБД со всеми вытекающими.
AlexTheRaven

Как только количество необходимых функций ООСУБД достигает некоторого критического рубежа...

А какие такие особые функции ООСУБД ? Лично у меня такая библиотека уже практически перестала расти.
5 апр 06, 10:55    [2525601]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
hvlad
Guest
shuklin
Теперь в Cerebrum работают 3 подсистемы сборки мусора
shuklin
Так что смерть братьев SQL вполне реальна, пусть даже и не от моей руки )))
Правильно - мусор это всё !
Даёшь 4-ый способ сборки SQL-мусора
5 апр 06, 11:45    [2525937]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
okdoky
Member

Откуда:
Сообщений: 349
mir
Вы о чем? Из домена невозможно удалить значение, так как домен — не переменная, а тип данных. Можно лишь переопределить домен. Далее, при чем здесь принадлежность ключам? Если такого значения в домене больше нет, то все его вхождения в кортежи более невалидны, вне зависимости от того, входят ли они в ключи или нет.
Нет домен, это – не тип данных. Надеюсь, этот Ваш ляп случаен и Вы просто пытались в своих рассуждениях использовать упрощенную аналогию, как и я. Мне это простительно, потому что я объясняю Zigzag-представление на основе РМ. Вам непростительно, так как Вы аргументируете с позиций РМ и требуете от меня более четкой реляционной терминологии. Понятие класс в Zigzag, это именно множество значений, то есть в конечном счете домен, а не тип. Класс может быть определен простым перечислением значений. Этот класс (множество значений) в Zigzag отвечает задаче ограничения целостности. Отношения можно определять на основе имеющихся классов. Важным и уникальным является то, что мы можем переопределять класс, то есть менять имена его значений, удалять их и вставлять новые. При этом автоматически меняются все отношения определенные на данном классе.
mir
Тут не понял: вы не верите, что на SQL можно работать с метаданными? Если не верите, то это ваше личное горе. Если верите, то к чему просьба привести пример? Речь, между прочим, о том, что авторы ZZ объявляют возможность работы в нем с метаданными не больше не меньше как «unique possibilities are not provided by SQL». Это просто невежество.

Но извольше, вот вам пример на T-SQL:
Прокомментируйте, если не трудно. С таким наворотом SELECT и системных названий, боюсь его не сможет сразу понять, даже хорошо знающий SQL.
5 апр 06, 19:17    [2528664]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
ИМХО mir никаких упрощенных аналогий не использует.

А вот
okdoky
...класс в Zigzag, это именно множество значений, то есть в конечном счете домен, а не тип...
...ммм... может вызвать нездоровое оживление :)....здесь явно где-то что-то лишнее... а тип тогда - это что?
5 апр 06, 19:40    [2528723]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
okdoky

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

А чего тут понимать? "Системные названия" - имена таблов метаднных (данные о данных). Я Ораклист, но легко догадываюсь, что в Скуле:
в dbo.sysindexes - инфа об индесках
в sysobjects - инфа об объектах БД
в syscolumns - о колонках таблов и представлений.
И т.д.
Важно что все управление БД осуществляется на SQL и, в частности, инфа о БД извлекается с помощью Селектов.
Сам пример - процедура удаляет индекс и ограничение целостности для таблы указанной в аргументах процедуры. Куда проще?
Вот теперь и думайте про то как Зигзагу победить SQL.
5 апр 06, 19:41    [2528726]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
mir
Member

Откуда: Томск
Сообщений: 1027
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.
6 апр 06, 10:06    [2529964]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
okdoky
Member

Откуда:
Сообщений: 349
vadiminfo
А чего тут понимать? "Системные названия" - имена таблов метаднных (данные о данных). Я Ораклист, но легко догадываюсь, что в Скуле:
в dbo.sysindexes - инфа об индесках
в sysobjects - инфа об объектах БД
в syscolumns - о колонках таблов и представлений.
И т.д.
Важно что все управление БД осуществляется на SQL и, в частности, инфа о БД извлекается с помощью Селектов.
Сам пример - процедура удаляет индекс и ограничение целостности для таблы указанной в аргументах процедуры. Куда проще?
Вот теперь и думайте про то как Зигзагу победить SQL.
Начну с того, что именно возможность работы с метаданными является главной причиной, почему мы использовали Zigzag для проекта Mobile Hosting (многопользовательская база данных конструируемая и управляемая из мобильного устройства). Изначально стояла задача «Разработчик справочной не должен программировать интерфейс, он должен генерироваться автоматически на основе текущей структуры и содержания базы данных». Это потом обнаружилось, что Zigzag еще и обладает большим быстродействием. Та справочная, на которую я уже давал ссылку Организации Москвы, работает на полную нагрузку. Она не только быстро выдает результаты на запрос, но и помогает сформировать этот запрос. Повторюсь, сценарий диалога генерируется на основе текущей БД. Отдельный HTML-интерфейс не создавался. Система на основе БД предлагает пользователю текущий каталог (дерево таблиц), текущие атрибуты таблиц (их имена и значения). Создать такую справочную можно за час. Достаточно только импортировать данные на сервер.

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

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

U-gene
okdoky
...класс в Zigzag, это именно множество значений, то есть в конечном счете домен, а не тип...
...ммм... может вызвать нездоровое оживление :)....здесь явно где-то что-то лишнее... а тип тогда - это что?
Тип, уважаемый U-gene, это не множество значений, а то, что описывает или определяет это множество. Прочитайте цитату, которую привел mir
mir
Вот, к примеру, цитата из Дейта (Введение в системы баз данных, 8 изд. стр.165):
«Понятие типа данных … является фундаментальным: каждое значение, каждая переменная, каждый параметр, каждый оператор… и особенно каждый реляционный атрибут относится к тому или иному типу. Так что же такое тип? Кроме всего прочего, он представляет собой множество значений. […]Типы можно также называть доменами, особенно когда речь идет о реляционной модели; фактически сам автор использовал последний термин в предыдущих изданиях настоящей книги, но теперь предпочитает термин типы.»
Согласно переводу, тип - не значения, тип представляет собой значения. Но что значит "представляет", как это слово выглядит в оригинале? В любом случае, Дэйт в последнее время предпочитает отделять понятие тип от понятия домен. Пора бы и Вам внимательнее отнестись к данным терминам.
6 апр 06, 19:38    [2533822]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
okdoky - посмотрел я на Вашу подделку, возник закономерный вопрос - Вы что, правда думаете, что если не знаешь SQL или руки кривые, то он такого примитива что ли сделать не может ??? Мда, задачка для студентов успешно была выведена в ранг супер задачи, которая оказывается победила SQL
6 апр 06, 19:49    [2533854]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Что значит "последнее время"?То факт, что Дейт (исходя из смысла цитаты последнето восьмого издания) не делает разницы между типами и доменами Вас не убеждает - Вы доколебались к словосочетанию "представлять собой". Ну-ну.

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

okdoky
...тип - не значения, тип представляет собой значения...
толи мы читать не умеем, то ли подметки на ходу режем... куда слово множество делось (в оригинале оно между словами "собой" и "значени")
6 апр 06, 20:16    [2533915]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Вчитался.

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

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


Подождите, подождите уважаемый okdoky. Какая такая "организация"? mir привел абсолютно законченный и полезный пример. Ваше сравнение - это как взять картину Репина "Утро в сосновом лесу", потом сделать копию фломастерами и в довершении сказать, что вот эти мазки обозначающие траву не такие зелеными, как зеленый флуоресцентный маркер.
6 апр 06, 20:31    [2533948]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
okdoky

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

Тада Вы совсем погорячились с выбором - любая современная РСУБД имеет словарь БД (метаданные). А Оракл так и тучу динамических словарей, позволящих понять что с ним происходит, что делают сессии, чего ждут и т.д. И все с помощью Селектов.
6 апр 06, 23:08    [2534214]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
U-gene
Member

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

Например потребовалось мне заменить в некоторых таблицах , во всех их строковых столбцах некоторые строковые значения на другие.Так пожалйста, написаля я хранимку, что достает только стороковые столбцы и? затем, формирует и выполняет необходимый UPDATE. Обозвал эту хранимку как ReplaseSomeStringInWholeTable(@TableName ..., @StringToSearch ..., @NewString ...) и получил новую команду в которой и метаданные используются и данные обрабатываются. Если Вас, уважаемый okdoky не затруднит, покажите, как сделать это средствами ZigZaga?
7 апр 06, 00:15    [2534299]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
mir
Member

Откуда: Томск
Сообщений: 1027
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. А как там насчет целостности? Что-то вы эту тему совсем подзамяли.
7 апр 06, 09:25    [2534654]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
okdoky
Member

Откуда:
Сообщений: 349
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 меня опять не поймет и обвинит во лжи. Скажет нет у нас таких
7 апр 06, 14:01    [2536557]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
ОЙ....
7 апр 06, 14:05    [2536576]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
pavelvp
Member

Откуда:
Сообщений: 673
okdoky
Согласен, скорее всего было “type is a set of values”. Но это не значит их полное равенство.

Ё...

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

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

"U-gene is a man" - "U-gene есть мужчина"
7 апр 06, 15:18    [2537054]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
mir
Member

Откуда: Томск
Сообщений: 1027
Да наш оппонент okdoky, оказывается, не только специалист в области баз данных, но еще и лингвист-профессионал. Прям сыпет интересными лингвистическими открытиями, как недавно сыпал открытиями в области баз данных. да еще и укоряет, де "пора бы … внимательнее отнестись к данным терминам", "нельзя-де ими разбрасываться где попало." Я так считаю, что у Чернышова с Шуклиным есть еще один достойный продолжатель.
7 апр 06, 16:26    [2537500]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
2 okdoky
Давайте признаем что в теории Вы не сильны и в принципе в этом ничего плохого нет. Плохо вот демагогией заниматься.
Продемонстрируйте лучше как можно на зигзаге аудит сделать.
Или например такая задача: есть некие счета, по ним идут операции прихода/расхода. Надо при каждой операции обновлять остаток.

Заранее благодарен.
7 апр 06, 17:45    [2537952]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
okdoky
Member

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

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

На счет хранимок. Можно легко написать Java-класс, создать в Zigzag Java-объект c определенными параметрами, сохранить его и вызывать его методы (фактически процедуры, функции). Все это есть в документации по Zigzag
- 2.7.Program objects
- 2.8. Meaning and other
Если интересно могу продемонстрировать. Хранить можно не только Java-объекты, но и Zigzag-операторы. Затем обращаться к ним по запросам и вызывать на выполнение. Не забывайте, что Zigzag – ОРСУБД.
7 апр 06, 19:16    [2538262]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
SergSuper

Давайте признаем что в теории Вы не сильны и в принципе в этом ничего плохого нет.

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

okdoky

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

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

okdoky

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

А вот тут извените. Это как раз можно таки и забыть - Зигзаг как ОРСУБД в литературе не прописан и врядли может реально сопоставляться с реальными ОРСУБД. Ему товарищь все-таки скорее Клиппер, а не Ораклы со Скулями, ДиБиДвами и Сибэйсами. Так шо пусть он пока (до выяснения каких-то новых обстоятельств) остается просто Зигзагом без всяких там приписок типа ОРСУБД.
7 апр 06, 22:51    [2538736]     Ответить | Цитировать Сообщить модератору
 Re: ОРБД. сравнение объектных расширений реляционных СУБД.  [new]
okdoky
Member

Откуда:
Сообщений: 349
vadiminfo
okdoky

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

А вот тут извените. Это как раз можно таки и забыть - Зигзаг как ОРСУБД в литературе не прописан и врядли может реально сопоставляться с реальными ОРСУБД. Ему товарищь все-таки скорее Клиппер, а не Ораклы со Скулями, ДиБиДвами и Сибэйсами. Так шо пусть он пока (до выяснения каких-то новых обстоятельств) остается просто Зигзагом без всяких там приписок типа ОРСУБД.
На счет Оракла и Клиппера не знаю, но взгляните на сайт Most Popular in Database. Sav ZAPI (старая версия Sav Zigzag) тягается с MySQL, PostgreSQL и SQL Server . Согласен, это произошло недавно, но такие темпы меня настораживают самого.
9 апр 06, 12:47    [2540190]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить