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

Откуда:
Сообщений: 3
Прочел все и получил огромное удовольствие ! Спасибо Всем!
Страсти кипели нешуточные !
Я не специалист по D3 но все таки выскажу свое мнение о нем.
Работать с СУБД D3 (по современным меркам) это все равно что писать графический пользовательский интерфейс на ассемблере! И люди которые работают с ним , в силу разных причин достойны уважения!
Наверное Alex25 путем вхождения в транс и используя весь свой не малый опыт сможет создать ТАКОЕ что вызовет восхищение тех кто сталкивался с D3, НО зачем так напрягаться ведь решение аналогичной проблемы в некоторых других СУБД будет быстрее проще и по моему даже дешевле и гордится этим Решением не кому и в голову не придет разве только самим Создателям этих самых СУБД.
И еще если Вы уважаемый Alex25 против всяких НИКОВ и Анонимов и тычете этим всех подряд то вам стоит в первую очередь самому подписывать свои сообщение Именем Фамилией и Отчеством или хотя бы Именем . Может я конечно и ошибаюсь но по моему Alex25 это не имя данное вам при рождении .
30 сен 03, 00:00    [356889]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
alex25
Member

Откуда:
Сообщений: 52
Ну вот еще один из серии не видел, но знаю.

Andreww выступая забыл сказать, что очень любит жену, кино и пиво и еще не может жить без SQL, не удосужился сделать даже некоторый обзор средств и возможностей СУБД D3 (ПИКа) плюсы и минусы (для объективности)

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

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

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

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

Действительнно, SQL сервер реализован в D3, как сокет сервер (не надо путать с телнетом и считать сокеты подмножеством телнета !!!) с инкапсуляцией SQL запросов, вероятно, в разработанный протокол взаимодействия между старой и доброй виртуальной машиной ПИКа, вышеназванным сервером и ODBC клиентом.... действительно, когда этот сервис появился у дождливых он был не на высоте, некоторые русские буквы транслировались в ... мусор, некоторые нетранслировались вообще. Но я еще раз замечаю, появление этого сервиса это дань моды, а СУБД здесь НЕПРИЧЕМ
эти детские болезни прошли и реализовали они триггеры, исправили ошибки и многое другое, действительно до поддержки SQL-92 пока не дошли, но кто знает их планы прошу со мной поделится (есть U2, jBase используйте их, там SQL работает хорошо, совместимость хорошая с D3), недочеты в реализации были, есть и будут и это нормально, последние ошибки ЛЕГКО обходимы, но при наличие базисных знаний Access(a) и языка программирования PICK/BASIC (между прочим про полиморфизм, инкапсуляцию и т.п в документации не сказано, так что, хотя то что есть легко позволяет грамотному программеру все это реализовать!) это не составит труда

Вот так, не хотел вступать в полемику и ... вступил
отмечу что лично я АТЕИСТ, а не религиозный фанатик, как выразился
andreww, а замечания о ПИКе, как о покойнике - это вырванные из контекста слова или специально подобраные суждения, судя по данному форуму, вероятность последнего очень высока
30 сен 03, 11:23    [357207]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
Andreww
Member [заблокирован]

Откуда:
Сообщений: 1752
Опять поехало.

Новый круг :)

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

Попробуем ответить по существу.

>>СУБД D3 (ПИКа) плюсы и минусы (для объективности)

Весь форум, с нечеловеческим терпением, ждёт от вас плюсов СУБД D3, Zaxx уже довольно долго ждёт "трудно нормализуемых" данных для которых она предназначена :|)

>>GUI средства в нем есть и некоторые уровня CASE средства, но халява там не ходит

Уж не MVDesigner ли вы имеете ввиду ? Который на самом деле OMNIS STUDIO ?
Как ни печально работали, знаем...
В мощном GUI уровня CASE (я надеюсь вы понимаете что значит CASE-средство), всё очень красиво и дорого, это так, но документация там сильно хромает (никто из АПП не смог рассказать как в Runtime-e изменить свойство компонента в ответах были уже знакомые мне "МУ-МУ", в документации об этом ни слова). Скрипт язык там свой ещё из OMNIS STUDIO ни на что не похожий. Цена сравнима с Delphi или Visual Studio. Каждое клиентское место (sic!) лицензируется отдельно за клиентские деньги. Т.е. TCO огромна, эффективность минимальна.

>>СУБД - это наперво структура и средства работы со структурой,а они эффективные смею Вас заверить или предложу их попробовать.

Все ждут от вас ПРИМЕРОВ эффективности СУБД, а новый аргумент "смею Вас заверить" есс-но никуда не годится.

>> Но я еще раз замечаю, появление этого сервиса это дань моды, а СУБД здесь НЕПРИЧЕМ

Так и давайте примеры ЭФФЕКТИВНОЙ РАБОТЫ (например быстрая выборка из больших объёмов, различные виды индексов - а не только BTree, и т.п.)
Что же на вопросы про D3 вы всем рассказывайте какой я плохой, и про свинину? А про дань моде было очень смешно, спасибо.

>>эти детские болезни прошли и реализовали они триггеры

Триггер теперь различает INSERT и UPDATE, BEFORE и AFTER как вы собираетесь это РЕАЛИЗОВАТЬ ?
В триггере теперь можно отменить операцию ?

Ссылочку плиз на документацию где это заявлено....

>>и языка программирования PICK/BASIC (между прочим про полиморфизм, инкапсуляцию и т.п в документации не сказано, так что, хотя то что есть легко позволяет грамотному программеру все это реализовать!) это не составит труда

Ну насчёт "не составит труда", при реализации скажем ПОЛИМОРФИЗМА в не ОО среде, я бы не горячился. С инкапсуляцией в среде которая не подде рживает именованые структуры то же не спешил бы. А реализовать можно в принципе ВСЁ, только сколько это займёт времени и сил.


>>отмечу что лично я АТЕИСТ, а не религиозный фанатик, как выразился
andreww,

Боюсь не только у меня сложилось другое впечатление ;)

>>а замечания о ПИКе, как о покойнике - это вырванные из контекста слова или специально подобраные суждения, судя по данному форуму, вероятность последнего очень высока

Это моё мнение уважаемый ! Мнение, подтверждённое аргументами, а не фразами типа "смею вас заверит", "это и так понятно", "всё можно написать".
30 сен 03, 11:58    [357311]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
...Весь форум, с нечеловеческим терпением, ждёт от вас плюсов СУБД D3, Zaxx уже довольно долго ждёт "трудно нормализуемых" данных для которых она предназначена...

и

...Насчет структуры хранения - не поняв смысл не надо делать выводы!
кто-то кроме поверхности (2-х мерной) так до конца жизни и не осоздает, что
живет он во многомерном мире...

и

...для данного запроса я применил бы многомерную структуру...

и

...Да, действительно, у Вас не сложилось правильное впечатление о ПИКе, как о многомерной СУБД...

и

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


Я уже неоднократно задаю вопрос - что такое "многомерная" БД? Я спрашивал это у сторонников Cache, но не получил никакого ответа. Можно я спрошу это здесь? А то возникае впечатление, что пока я тут рассматриваю данные в виде "двумерных таблиц" (хотя данное обозначение, мягко говоря, некорректно), где-то существует нечто гораздо более продвинутое. Очень хотелось бы узнать - если вас не затрудноит, киньте хоть пару слов о том, что же это такое - "многомерность данных". Буду Вам очень признателен....
30 сен 03, 12:16    [357357]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
Petrakov
Member

Откуда:
Сообщений: 87
>>Очень хотелось бы узнать - если вас не затрудноит, киньте хоть пару слов о >>том, что же это такое - "многомерность данных". Буду Вам очень признателен
Вероятно под "Многомерностью данных" подразумевается такая абстракция, как "Таблица в таблице". Программисты "Домино" и другие пользователи Pervasive SQL меня поймут. Но эта , прости господи, "многомерность" не более, чем блажь, поедающая ощутимое количество ресурсов и не приносящая практически никакой пользы.
30 сен 03, 13:18    [357512]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
Alexander_Chepack
Member

Откуда: London
Сообщений: 22649
Я все больше начинаю подозревать, что Alex25 не технический специалист. С другой стороны - кто же он? Потому как, судя по результатам его "рекламы" ПИКа на этом форуме, к продажам и маркетингу его близко подпускать нельзя.
30 сен 03, 13:30    [357546]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
alex25
Member

Откуда:
Сообщений: 52
Я НЕ ПРОПОВОДЕНИК, не хочу НИКОГО убеждать!!! убежденных хватает, про многомерность D3 можно найти кучу информации, не надо ленится, в общем формула проста

счет-словарь (один)
- N число разделов данных - N-ое кол-во записей - N атрибутов - N значений - N значений - N подзначений
- ......

длина записи, атрибута, значений, подзначений НЕОГРАНИЧЕНА (точнее 4 GB)


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

и многое многое другое, что есть, что в рамках формата форума не перечислить, да я думаю этого делать и не надо!!!!
30 сен 03, 13:32    [357551]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
Alexander_Chepack
Member

Откуда: London
Сообщений: 22649

да я думаю этого делать и не надо!!!!


Вынужден согласиться - по причине того, что СУБД эта, похоже, нахер никому не нужна.
30 сен 03, 13:43    [357588]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
Andreww
Member [заблокирован]

Откуда:
Сообщений: 1752
To Petrakov.

Постараюсь объяснить доступнее.

Под многомерностью понимается возможность хранить в поле данных строку переменной длинны с разделителями. Т.е. в одном поле можно сохранить :
Значение1<,>Подзначение20<,,>Подзначение21<,,>Значение3

Разделителей не сколько угодно а всего 2, в документации они называются атрибут и значение.
Т.е. МНОГОмерность просто рекламный слоган, на самом деле 2 или 3 это не значит МНОГО, правильнее говорить Не 1-я нормальная форма.

Плюсы :

- Есть операторы для обработки такой строки в языке включаемых процедур
- Запрос на равенство неравенство и прочие операции применятся для каждого подзначения

Минусы

- Нельзя считать из базы нужное мне подзначение - только строку целиком и потом разобрать при помощи имеющихся для этого операторов - это не быстро, согласитесь.
- Нельзя сказать что в поле содержится таблица т.к. каждое значение (строка) может содержать произвольное число Подзначений (столбцов)
- Нельзя полноценно использовать подзначения в запросе (для суммирования подзначений, нахождения среднего и т.д) варианты "напиши сам" есс-но не рассматриваем - стандартных средств нет
- Нельзя сохранить поле в кодировке UNICODE например, т.к. разделители это фиксированные значения и отличить код символа в строке от разделителя невозможно
- После считывания строки определить содержит ли она несколько "измерений" можно только проверив присутствие в ней разделителей (sic!)

Т.е. ORACLE или MySQL хранящие длинные строки с разделителями в терминах D3 можно смело считать Многомерными СУБД :)


---------------------------------------------------------------------------------

To Alex25:

>>счет-словарь (один)
>>- N число разделов данных - N-ое кол-во записей - N атрибутов - N значений - N значений - N подзначений

В ORACLE :

Схема БД (одна)
-Таблица-Partrions(Разделы в таблице) - Записи - Поля - В поле хранится таблица - Каждый элемент таблицы это таблица - .... и т.д. нужное кол-во - Элементы последней таблицы это строки типа CLOB (или NCLOB)

Чем эта структура отличается от приведённой "Несколькомерной"?

Кстати тут вложенных таблиц может быть сколько угодно :)

>>длина записи, атрибута, значений, подзначений НЕОГРАНИЧЕНА (точнее 4 GB)

Аналогично.


>> зависимость между значениями, подзначениями, может быть определана корреляция, конверсия, триггеры, описание поля (атрибута), усечение, выравнимание, длина вывода содержимого записи на экран и многое другое

Аналогично и ещё много чего :)
30 сен 03, 14:08    [357643]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
AI
Member

Откуда: Москва
Сообщений: 2817
>>длина записи, атрибута, значений, подзначений НЕОГРАНИЧЕНА (точнее 4 GB)

Аналогично.


В оракле не аналогично. Типы LOB до 4Г, а колонок в таблице до 1000 штук.

Читаю эту ветку с огромным удовольствием! Надо уметь создать такую антирекламу для продукта. С такими способностями можно даже оракл завалить.
30 сен 03, 15:09    [357808]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
Andreww
Member [заблокирован]

Откуда:
Сообщений: 1752
2 Al

Спасибо за информацию.
Про 1000 колонок не знал, значит ORACLE не многомерная СУБД :(

С большим трудом могу представить для чего может понадобится таблица даже с 500 полями, поэтому в это ограничение не разу не упирался.

А типы LOB вроде аналогичны (по 4Гб везде) разве нет ?

Про "способности" это вы зря, способности тут ни при чём, просто в среде "специалистов" по D3 остались именно те (ИМХО) про которых я писал в своём первом посте.

А про богатые "невозможности" D3 и инструментов для неё можете узнать сами скачав evaluation с сайта производителя.

Если интересно конечно.
30 сен 03, 15:21    [357827]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
August
Guest
Я уже неоднократно задаю вопрос - что такое "многомерная" БД? Я спрашивал это у сторонников Cache, но не получил никакого ответа. Можно я спрошу это здесь? А то возникае впечатление, что пока я тут рассматриваю данные в виде "двумерных таблиц" (хотя данное обозначение, мягко говоря, некорректно), где-то существует нечто гораздо более продвинутое. Очень хотелось бы узнать - если вас не затрудноит, киньте хоть пару слов о том, что же это такое - "многомерность данных". Буду Вам очень признателен....

Ничего особенного в отношении Cache это не представляет. Термин был либо неверно переведен либо авторы его, давшие ему жизнь, что-то свое имели ввиду, но за давностью лет точное понимание было утрачено, но термин остался в отделах маркетинга для заумия. В обычных языках программирования есть понятие массив. То есть когда можно написать что-то вроде
a = arr[ i ]
Вообще говоря, вся память наших с вами машин примерно так и устроена. Но вот взяли и придумали другую абстракцию, которую та же машина переваривает:
a = arr[ i, j, k ]
Вроде как внутрях осталась та же колбаса, но стало круче. Примерно то же самое и в М:
set a = arr( i, j, k)
Как-бы нечто существует уже в трех измерениях.
Понятие двумерных таблиц (других на самом деле не бывает) было введено в пылу дебатов фанатов в прошлые годы. Может быть кто еще помнит диспуты о моделях данных. Фанаты многомерных хреновин тащутся от того, что в условиях отсутствия метаданных базенка позволяет по ходу дела алгоритму определиться с тем, как с какими данными обращаться. Например пусть есть объекты в массиве arr(i), у которых есть вложенные массивы.
Тогда arr(i) = <атомарная часть объекта>
arr(i,PropName)=PropValue - количество свойств которые можно приписать динамическое
arr(i,"ArrayPropName",j)=ArrayPropValue - кто-то из свойств может тоже быть составным.
Свободное отношение к структуре позволяет в одном срезе видеть объект (например, зафиксировали i) или набор объектов (идем по индексу i и получаем однородный набор), или фиксируем i, "ArrPropName" и перечисляем по j набор объектов входящих в свойство "ArrPropName". Один вид среза дает объект, другой - таблицу. Что касается споров о плохой нормализуемости в отдельных задачах, то тут никакой фантастики нет. В массив без метаданных всегда можно приписать еще одно свойство "NextPropName" и рассматривать его вложения по-другому. Это дает существенную экономию и кодов и времени разработки в случае большого количества похожих объектов.

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

Что касается собственно термина многомерной базы, то действительно есть такие движки, но это скорее OracleExpress, Arbor ESS, Hyperion и иже с ними.
30 сен 03, 15:31    [357847]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
AI
Member

Откуда: Москва
Сообщений: 2817
2 August

Cache относится к медицине, поскольку вырос(ла?) из MUMPS'а, а тот(та?) был разработан в каком-то госпитале. С тех пор медики его и используют.
30 сен 03, 16:39    [357988]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
August
Guest
2 Al

Кстати, вполне возможно.
До меня легенда дошла примерно в таком виде.
30 сен 03, 18:30    [358253]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
Andreww
Member [заблокирован]

Откуда:
Сообщений: 1752
2 August


По поводу Cache и M систем хотелось бы сразу уточнить несколько моментов.

1. set a = arr( i, j, k)
Количество измерений в этой самой глобали (вроде так это называется в Cache) может быть произвольным (или хотя бы достаточно большим). Т.е. можно сделать set a = arr(i,j,k,l,m,n ....). Если количество измерений невелико (ограничено как в D3 например 3-мя измерениями), ИМХО не стоит и возиться с такой многомерностью, проще создать несколько таблиц, определить ключи и связи, и хранить свойства в них, проигрыш в производительности если и будет, то небольшой.

>>Нормализовать же базу в принципе можно, но проблема в количестве мало отличающихся сущностей и в том что они постоянно добавляются.
Нормализовать в принципе можно любую таблицу (базу), но если сущностей много, это может стать проблемой хотя и решаемой, ИМХО.

2. Как система (Cache,M) умеет оперировать этими глобалями ?

>>Свободное отношение к структуре позволяет в одном срезе видеть объект (например, зафиксировали i) или набор объектов (идем по индексу i и получаем однородный набор), или фиксируем i, "ArrPropName" и перечисляем по j набор объектов входящих в свойство "ArrPropName". Один вид среза дает объект, другой - таблицу.

Звучит заманчиво, очень заманчиво. Может оказаться крайне полезным.
Т.е. такой по измерению срез можно будет получить используя язык запросов Cache или придётся писать чего-то на языке включаемых процедур или ....
Если средств для оперирования многомерными сущностями нету или они крайне убоги (как в упоминаемой D3) и для простого среза мне придётся писать кучу триггеров и разбирать символьный вывод, тогда это будет не сильно отличатся от обычных BLOB-ов и фильтров для них или от кучи таблиц и JOIN-a для них в SQL :)
30 сен 03, 18:45    [358281]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
alex25
Member

Откуда:
Сообщений: 52
Уважаемый andreww у меня сложилось впечатление, что 3 (трех) лет вам оказалось недостаточно, чтобы осознать структуру D3.
еще раз формула проста ((N+1)^3)^K, Вы считаете это 3-х мерной структурой ?
совокупность атрибут-значение-подзначение рассматривается как K подмножество, 1 играет роль словаря, N - Размерность разделов данных

аналогичная структура у /REVELATION/R83/R95/Mentor/(Universe/UniData)=U2 сейчас под крылом Informix & IBM/jBASE и нескольких других, которых в России не вcтретишь, если уважаемым посетителям интересно можно пообщаться на специализированных пик форумах


Кстати функция AVG(x) SQL можно сопоставить с оператором ACCESS STAT,
и когда Вы говорили о нереализации этой функции в ПИКе я думал речь идет об атрибутах, значения и подзначениях (это верно, правда опять с оговоркой), однако я ошибся, похоже вы говорили о записях в файле,так вот функция аналогичная AVG в ПИКе есть, замечу она появилась еще в 90 хх годах прошлого вера в версии R83, затем перевкочивала в Advanced PICK и только потом в D3. Так что могу исправить этот минус на плюс-минус, который будет являтся плюсом при правильно реализованной структуре !
добавлю, что существуют еще и функции в ACCESS - SUM и COUNT, первая подсчитывает сумму записей в N разделе словаря или раздела данных файла (зависит от указания), вторая ТОЛЬКО кол-во

аналогичные функции для значений, подзначений и атрибутов реализуются соотвествующем кодом корреляции и вероятно многозначной КОРРЕЛЯЦИЕЙ ДЛЯ ЗАПИСЕЙ.
Внимание! Для реализации SQL запросов (работы с SQL машиной) требуется реализация не через корреляцию, а через вызов callx. Некоторые коды корреляций дождливые решили не реализовывать при подключении через ODBC, в надежде НЕиспользования многомерной структуры при ображении к БД ПИКа, ограничив запросы к 3 измерениям. Вот тут я задал себе вопрос, похоже andreww не стал детально рассматривать структуру СУБД, ограничив этот обзор кругом СВОИХ интересов SQL/VB или C++ программирование, жаль, называть PROC стековой машиной некорректного, даже беглого взгляда на документацию достаточно, чтобы увидеть наличия 4 буферов (2 входных, 2 выходных (из которых 1 действительно СТЕК))
Некоторые замечания по Flash Basic(у) основываются на древних комментариях к BASIC программе compile-catalog ;-)

Похоже книжку по виртуальному assembler(у) ПИКа Вам (обращаюсь к andreww) так и не удалось почитать, жаль, вот после ее прочтения можно делать кое-какие замечания по создаваемым OBJ кодам. Лично у меня есть замечания по этому поводу, но наверно это плата за переносимость на различные платформы (старшие, младшие байты и т.п.).... это разговор уже на другую тему

НЕ ХОЧУ ПРОВОДИТЬ В РАМКАХ ФОРУМА ЛЕКЦИЮ ПО функциональности ПИКА и
реализованных в нем возможностям - это хлею АПП(http://www.appcom.ru) и компании "ИНФОВЕД"(http://www.infoved.ru), они за это деньги берут ;-)

теперь по поводу OMNIS STUDIO в действительности это продукты уже из другой серии, история их банальна, из RD ушли зубры, а тех которые пришли на замену, увы не смогли разобраться в наследии первых, коммерческая сторона возобладала и ...
также появился и Flash Connect, ныне модное на западе (США, Канада, Англия, Астралия и другие) средство создания бизнес логики в Pick/BASIC, но отображаемой в браузере конечного пользователя, примечательно, что продукт вылез, как частная разработка, возникшая лет 8-10 назад на AP/SCO, на фантомных процессах (кто знает, тот понимает)
... в целом мною расматриваемые, как необходимые, но не отражающие сущность ПИКа, продукты
....
Апогеем лицензиатов стал jBASE, Джим Айдл отказался от идей ДИКа о виртульной машине (убрал ее совсем) и все команды, создаваемые программы на PICK/BASICе, макросы на PROC транслируются в исполняемые команды, судя по структуре похоже на те которые появляются в С/C++, а структура ПИКа транслирована непосредственно в файловые структуры Windows/Linux
....
Извиняюсь за многословие
30 сен 03, 20:31    [358390]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
alex25
Member

Откуда:
Сообщений: 52
>И еще если Вы уважаемый Alex25 против всяких НИКОВ и Анонимов и тычете этим всех подряд то вам стоит в первую очередь самому подписывать свои сообщение Именем Фамилией и Отчеством или хотя бы Именем . Может я конечно и ошибаюсь но по моему Alex25 это не имя данное вам при рождении .

Невнимательно читаем сообщения, еще раз зовут меня
Дмитрий Владимирович, скрывать мне нечего
30 сен 03, 20:33    [358391]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
alex25
Member

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

Например, для реализации простенького примера в ПИКе системы складского учета на реальном производстве (с большим кол-вом заранее неизвестных состовляющих) требуется ОДНА ТАБЛИЦА, правда многомерная ;-)
30 сен 03, 20:53    [358399]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
Andreww
Member [заблокирован]

Откуда:
Сообщений: 1752
Попробуем разгрести (постараюсь покороче) :


>>еще раз формула проста ((N+1)^3)^K, Вы считаете это 3-х мерной структурой ?
совокупность атрибут-значение-подзначение рассматривается как K подмножество, 1 играет роль словаря, N - Размерность разделов данных


Рекомендую ещё раз открыть учебник линейной алгебры и посмотреть, что такое ИЗМЕРЕНИЕ.

Если вы создадите 3 файла (раздел (в терминах ПИК) тоже файл, поскольку запрос к каждому индивидуален как и операция открытия) : Файл, Файл1, Файл2.
То это не значит, что "Файл" получил дополнительное измерение, попробуйте найти определение измерения.
Если я создам 100 переменных а1,а2 ... а100 это не то же самое, что создание массива a[1..100].
Из каких предпосылок появилась эта формула ?
В математике вы тоже "специалист" ?

>>аналогичная структура у /REVELATION/R83/R95/Mentor/(Universe/UniData)=U2

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

>>Кстати функция AVG(x) SQL можно сопоставить с оператором ACCESS STAT,

Нет, нельзя. STAT,SUM,COUNT вычисляют соот. среднее,сумму и количество по записям во ВСЁМ ФАЙЛЕ, вас же просили найти в группе (Group BY) это немного другое.
Прочтите главу про агрегатные функции. Если вы собрались сначала разделить файл на группы, результат разнести во временные файлы на диске а потом считать среднее,
это будет покруче триггера !

>>называть PROC стековой машиной некорректного, даже беглого взгляда на документацию достаточно, чтобы увидеть наличия 4 буферов (2 входных, 2 выходных (из которых 1 действительно СТЕК))
Найдите определение стековое машины, прочитайте.
Наличе буфера не является признаком отсутствия стековой машины.

>>Некоторые замечания по Flash Basic(у) основываются на древних комментариях к BASIC программе compile-catalog ;-)
Нет, не на комментариях. На ключах вызова компилятора gcc для Linux. При этом вне зависимости от указания степени оптимизации для FLASH BASIC его код перегонятся в С и ВСЕГДА компилируются с одинаковыми ключами.
Вобщем если вы приведёте вызовы компилятора для разных оптимизаций для D3\Linux.... :)

[Про лицензиатов и историю OMNIS можно опустить, поблагодарив за исторический экскурс. Про обсуждение моей персоны тоже, уже все убедились в том, что я бездарь и пустозвон :)]

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

Согласен. Пост-реляционная это вполне подходящий термин, но как же быть тогда с многомерностью ?

>>Например, для реализации простенького примера в ПИКе системы складского учета на реальном производстве (с большим кол-вом заранее неизвестных состовляющих) требуется ОДНА ТАБЛИЦА, правда многомерная ;-)

Т.е. нужно отказатся от нормализации ?
И в следствие этого отказа получить - противоричевость, огромную избыточность (справочников по ассортименту, поставщикам и т.д. ведь нету, всё в одной таблице), сложность запросов (пример с group by) и др. проблемы которые нормализация призвана решать.
30 сен 03, 22:58    [358435]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
c127
Guest
И вправду забавный топик.

2 alex25
>Например, для реализации простенького примера в ПИКе системы складского учета на реальном производстве (с большим кол-вом заранее неизвестных состовляющих) требуется ОДНА ТАБЛИЦА, правда многомерная ;-)

Это не аргумент. В РСУБД это все тоже можно уложить в одну таблицу, и даже не многомерную. Вообще все можно элементарно сложить в одну таблицу и такие системы есть. Хорошие или плохие это другой вопрос. Ну и что?

Кстати таблицы в РСУБД не бывают ни многомерными, ни двумерными, ни одномерными. Это конечные множества (для любителей фокспро повторяю: речь идет об РСУБД). Так что давайте либо дадим свое определение измерения, которого и будем придерживаться, либо будем использовать стандартную терминологию.
1 окт 03, 01:46    [358478]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
alex25
Member

Откуда:
Сообщений: 52
странно но я нахожку приятным общение с andreww,
Уважаемый andreww у меня сложилось впечатление, что 3 (трех) лет вам оказалось недостаточно, чтобы осознать структуру D3.
еще раз формула проста ((N+1)^3)^K, Вы считаете это 3-х мерной структурой ?
совокупность атрибут-значение-подзначение рассматривается как K подмножество, 1 играет роль словаря, N - Размерность разделов данных

аналогичная структура у /REVELATION/R83/R95/Mentor/(Universe/UniData)=U2 сейчас под крылом Informix & IBM/jBASE и нескольких других, которых в России не вcтретишь, если уважаемым посетителям интересно можно пообщаться на специализированных пик форумах


Кстати функция AVG(x) SQL можно сопоставить с оператором ACCESS STAT,
и когда Вы говорили о нереализации этой функции в ПИКе я думал речь идет об атрибутах, значения и подзначениях (это верно, правда опять с оговоркой), однако я ошибся, похоже вы говорили о записях в файле,так вот функция аналогичная AVG в ПИКе есть, замечу она появилась еще в 90 хх годах прошлого вера в версии R83, затем перевкочивала в Advanced PICK и только потом в D3. Так что могу исправить этот минус на плюс-минус, который будет являтся плюсом при правильно реализованной структуре !
добавлю, что существуют еще и функции в ACCESS - SUM и COUNT, первая подсчитывает сумму записей в N разделе словаря или раздела данных файла (зависит от указания), вторая ТОЛЬКО кол-во

аналогичные функции для значений, подзначений и атрибутов реализуются соотвествующем кодом корреляции и вероятно многозначной КОРРЕЛЯЦИЕЙ ДЛЯ ЗАПИСЕЙ.
Внимание! Для реализации SQL запросов (работы с SQL машиной) требуется реализация не через корреляцию, а через вызов callx. Некоторые коды корреляций дождливые решили не реализовывать при подключении через ODBC, в надежде НЕиспользования многомерной структуры при ображении к БД ПИКа, ограничив запросы к 3 измерениям. Вот тут я задал себе вопрос, похоже andreww не стал детально рассматривать структуру СУБД, ограничив этот обзор кругом СВОИХ интересов SQL/VB или C++ программирование, жаль, называть PROC стековой машиной некорректного, даже беглого взгляда на документацию достаточно, чтобы увидеть наличия 4 буферов (2 входных, 2 выходных (из которых 1 действительно СТЕК))
Некоторые замечания по Flash Basic(у) основываются на древних комментариях к BASIC программе compile-catalog ;-)

Похоже книжку по виртуальному assembler(у) ПИКа Вам (обращаюсь к andreww) так и не удалось почитать, жаль, вот после ее прочтения можно делать кое-какие замечания по создаваемым OBJ кодам. Лично у меня есть замечания по этому поводу, но наверно это плата за переносимость на различные платформы (старшие, младшие байты и т.п.).... это разговор уже на другую тему

НЕ ХОЧУ ПРОВОДИТЬ В РАМКАХ ФОРУМА ЛЕКЦИЮ ПО функциональности ПИКА и
реализованных в нем возможностям - это хлею АПП(http://www.appcom.ru) и компании "ИНФОВЕД"(http://www.infoved.ru), они за это деньги берут ;-)

теперь по поводу OMNIS STUDIO в действительности это продукты уже из другой серии, история их банальна, из RD ушли зубры, а тех которые пришли на замену, увы не смогли разобраться в наследии первых, коммерческая сторона возобладала и ...
также появился и Flash Connect, ныне модное на западе (США, Канада, Англия, Астралия и другие) средство создания бизнес логики в Pick/BASIC, но отображаемой в браузере конечного пользователя, примечательно, что продукт вылез, как частная разработка, возникшая лет 8-10 назад на AP/SCO, на фантомных процессах (кто знает, тот понимает)
... в целом мною расматриваемые, как необходимые, но не отражающие сущность ПИКа, продукты
....
Апогеем лицензиатов стал jBASE, Джим Айдл отказался от идей ДИКа о виртульной машине (убрал ее совсем) и все команды, создаваемые программы на PICK/BASICе, макросы на PROC транслируются в исполняемые команды, судя по структуре похоже на те которые появляются в С/C++, а структура ПИКа транслирована непосредственно в файловые структуры Windows/Linux
....
Извиняюсь за многословие
Дата: вчера, 20:31


Re: Pick System или D3
alex25
Member

Сообщений: 34
>И еще если Вы уважаемый Alex25 против всяких НИКОВ и Анонимов и тычете этим всех подряд то вам стоит в первую очередь самому подписывать свои сообщение Именем Фамилией и Отчеством или хотя бы Именем . Может я конечно и ошибаюсь но по моему Alex25 это не имя данное вам при рождении .

Невнимательно читаем сообщения, еще раз зовут меня
Дмитрий Владимирович, скрывать мне нечего
Дата: вчера, 20:33


Re: Pick System или D3
alex25
Member

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

Например, для реализации простенького примера в ПИКе системы складского учета на реальном производстве (с большим кол-вом заранее неизвестных состовляющих) требуется ОДНА ТАБЛИЦА, правда многомерная ;-)
Дата: вчера, 20:53


Re: Pick System или D3
Andreww
Member

Сообщений: 28
Попробуем разгрести (постараюсь покороче) :


>>еще раз формула проста ((N+1)^3)^K, Вы считаете это 3-х мерной структурой ?
совокупность атрибут-значение-подзначение рассматривается как K подмножество, 1 играет роль словаря, N - Размерность разделов данных


Рекомендую ещё раз открыть учебник линейной алгебры и посмотреть, что такое ИЗМЕРЕНИЕ.

Если вы создадите 3 файла (раздел (в терминах ПИК) тоже файл, поскольку запрос к каждому индивидуален как и операция открытия) : Файл, Файл1, Файл2.
То это не значит, что "Файл" получил дополнительное измерение, попробуйте найти определение измерения.
Если я создам 100 переменных а1,а2 ... а100 это не то же самое, что создание массива a[1..100].
Из каких предпосылок появилась эта формула ?
В математике вы тоже "специалист" ?

>>аналогичная структура у /REVELATION/R83/R95/Mentor/(Universe/UniData)=U2

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

>>Кстати функция AVG(x) SQL можно сопоставить с оператором ACCESS STAT,

Нет, нельзя. STAT,SUM,COUNT вычисляют соот. среднее,сумму и количество по записям во ВСЁМ ФАЙЛЕ, вас же просили найти в группе (Group BY) это немного другое.
Прочтите главу про агрегатные функции. Если вы собрались сначала разделить файл на группы, результат разнести во временные файлы на диске а потом считать среднее,
это будет покруче триггера !

>>называть PROC стековой машиной некорректного, даже беглого взгляда на документацию достаточно, чтобы увидеть наличия 4 буферов (2 входных, 2 выходных (из которых 1 действительно СТЕК))
Найдите определение стековое машины, прочитайте.
Наличе буфера не является признаком отсутствия стековой машины.

>>Некоторые замечания по Flash Basic(у) основываются на древних комментариях к BASIC программе compile-catalog ;-)
Нет, не на комментариях. На ключах вызова компилятора gcc для Linux. При этом вне зависимости от указания степени оптимизации для FLASH BASIC его код перегонятся в С и ВСЕГДА компилируются с одинаковыми ключами.
Вобщем если вы приведёте вызовы компилятора для разных оптимизаций для D3\Linux.... :)

[Про лицензиатов и историю OMNIS можно опустить, поблагодарив за исторический экскурс. Про обсуждение моей персоны тоже, уже все убедились в том, что я бездарь и пустозвон :)]

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

Согласен. Пост-реляционная это вполне подходящий термин, но как же быть тогда с многомерностью ?

ну если считать что окружающий нас миро 3-х мерный то надеюсь мы больше не будем ломать копья о многомерность, тем более, что больше трех измерений НИКТО из нас не видел ;-)

>>Например, для реализации простенького примера в ПИКе системы складского учета на реальном производстве (с большим кол-вом заранее неизвестных состовляющих) требуется ОДНА ТАБЛИЦА, правда многомерная ;-) т.е. нужно отказатся от нормализации ?

нет либо мои мысли изложены недостаточно точно, либо налицо очередная провокация

>>Некоторые замечания по Flash Basic(у) основываются на древних комментариях к BASIC программе compile-catalog ;-)
Нет, не на комментариях. На ключах вызова компилятора gcc для Linux. При этом вне зависимости от указания степени оптимизации для FLASH BASIC его код перегонятся в С и ВСЕГДА компилируются с одинаковыми ключами.
Вобщем если вы приведёте вызовы компилятора для разных оптимизаций для D3\Linux.... :)

Увы, многие ключи в D3 не документированы

[Про лицензиатов и историю OMNIS можно опустить, поблагодарив за исторический экскурс.
незачто
>Про обсуждение моей персоны тоже, уже все убедились в том, что я бездарь и пустозвон :)]

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

Согласен. Пост-реляционная это вполне подходящий термин, но как же быть тогда с многомерностью ?

Ура, Ура, Ура, значит иногда люди могут находить общий язык!!!!

>>называть PROC стековой машиной некорректного, даже беглого взгляда на документацию достаточно, чтобы увидеть наличия 4 буферов (2 входных, 2 выходных (из которых 1 действительно СТЕК))
Найдите определение стековое машины, прочитайте.
Наличе буфера не является признаком отсутствия стековой машины.

Согласен на определение multi-стековая машина
>>Кстати функция AVG(x) SQL можно сопоставить с оператором ACCESS STAT,

Нет, нельзя. STAT,SUM,COUNT вычисляют соот. среднее,сумму и количество по записям во ВСЁМ ФАЙЛЕ, вас же просили найти в группе (Group BY) это немного другое.
Прочтите главу про агрегатные функции. Если вы собрались сначала разделить файл на группы, результат разнести во временные файлы на диске а потом считать среднее,
это будет покруче триггера !

Ну, что привести конкретные корреляции и код программы (callx) ?
И уважаемый Андрей прочтите еще раз документацию по ПИКу, чтобы понять различия между счет-файл-записи (группа записей) - атрибут- значение- подзначение. Между прочим, документация на РУССКОМ лежит свободно в инете!!!

>>аналогичная структура у /REVELATION/R83/R95/Mentor/(Universe/UniData)=U2

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

Странно, 3 года и не было желание подробнее познокомится с ПИК подобными СУБД ??

>>еще раз формула проста ((N+1)^3)^K, Вы считаете это 3-х мерной структурой ?
совокупность атрибут-значение-подзначение рассматривается как K подмножество, 1 играет роль словаря, N - Размерность разделов данных
Рекомендую ещё раз открыть учебник линейной алгебры и посмотреть, что такое ИЗМЕРЕНИЕ.

Спасибо, за рекомендацию, предпочитаю раздл релятивистской физики ;-)
1 окт 03, 11:47    [358925]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
alex25
Member

Откуда:
Сообщений: 52
Давайте поговорим о смерти main фреймов ??????!!!????
(извинити за такой винигрет в определении, но для меня именно это определение отражает сущность)
а ПИК, Кобол, и прочее всего лишь мишура ;-)
1 окт 03, 11:49    [358933]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
alex25
Member

Откуда:
Сообщений: 52
ну на худой конец СРАВНИВАТЬ, а не посвящать этот раздел форума обсуждению РСУБД ПИК !!!!
если специлизированные форумф как буржуйские, так и наши вперед на них, приглашаю и andreww, если ПИК(D3 в частности) для него сейчас актуален
1 окт 03, 11:51    [358937]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
August
Guest
1. set a = arr( i, j, k)
Количество измерений в этой самой глобали (вроде так это называется в Cache) может быть произвольным (или хотя бы достаточно большим). Т.е. можно сделать set a = arr(i,j,k,l,m,n ....).


Не совсем на количество. Ограничение на длину строки "arr(i,j,k,l,m,n ....)" с подстановкой значений этих самых i, j, k, ... Предел что-то около 255. Точное значение сколько получится байт зависит от самих байт - непечатные символы там как-то хитро превращаются в два байта. Точно говорить не возьмусь - не помню.

2. Как система (Cache,M) умеет оперировать этими глобалями ?

Очень даже хорошо. Локальная переменная живет в памяти процесса, на диске не хранится. Глобальная наоборот хранится. Отличаются крышкой a - локальная, ^a - глобальная. В остальном одно и то же.

Команды и системные функции можно сокращать до некой аббревиатуры, например set = s, for = f, new = n, quit = q и так далее.

Операция set: set a = 123 - прописывает значение (можно из другой переменной) в указанную. Можно указывать индекс: set a(123)=456
Если в переменной было значение, то оно перезаписывается. Если такой переменной не было (декларация отсутствует) то она создается.

Операция merge (m): m a(123) = b(456) то же самое что и set, но прописывает с поддеревом, каким бы оно ни было. Если в a были узлы которых в b нет, то они остаются.

Операция kill (k): k a удаляет переменную со всем что в нее вложено, например если было a=123, a(1)=456, то k a удалит оба значения.

Операция zkill: zkill a удаляет только указанную переменную, не трогая вложений.

Операция перечисления $order ($o): s a=$o(a(2)) - выдать значение подиндекса переменной a которое идет после 2. Например было
a(1)=123
a(2)=456
a(3)=789
тогда $o(a(2)) выдаст 3
Ну и так далее.

Очень мощная и развитая поддержка косвенности, строковые функции, функции с левым присваиванием, развитая система ввода - вывода и прочее.

PS. Неудобно как-то захламлять топик по пик кашой. Прошу прощения у публики, но вопрос был тут.
1 окт 03, 12:43    [359063]     Ответить | Цитировать Сообщить модератору
 Re: Pick System или D3  [new]
Andreww
Member [заблокирован]

Откуда:
Сообщений: 1752
to Alex25
Чего-то постов как то много ?
Будем разгребать.
Полагаю, все кто читает этот топик, получают массу положительных эмоций !

>>нет либо мои мысли изложены недостаточно точно, либо налицо очередная провокация

Скорее всего недостаточно точно. Впрочем про одну таблицу вам уже ответили :)

>>Увы, многие ключи в D3 не документированы

Если вы "специалист" (в чём народ читающий это обсуждение уже засомневался) вы должны понимать все проблемы связанные с недокументироваными возможностями.
Ещё раз прочтите мой пост. Потом посмотрите как происходит оптимизация для FlashBasic и компиляция в среде D3\Linux, попробуйте скомпилировать с недокументированными ключами.


>>Ура, Ура, Ура, значит иногда люди могут находить общий язык!!!!

Могут, но если один из них постоянно переходит на личности и переводит разговор в нужное ему русло, это сделать достаточно сложно.

>>Согласен на определение multi-стековая машина

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

>>Ну, что привести конкретные корреляции и код программы (callx) ?

Т.е. подпорка в виде callx (псевдотриггера) для расчёта среднего по группе всё-таки нужна? Вы уже об этом говорили и долго, вам уже про это всё объяснили и не только я :)
Понять вас всё труднее и труднее.


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

>>ну если считать что окружающий нас миро 3-х мерный то надеюсь мы больше не будем ломать копья о многомерность, тем более, что больше трех измерений НИКТО из нас не видел ;-)

Т.е. измерений всё-таки 3 :) ?

Отучаемся говорить за всех. В виде базиса и матрицы переходов можно представить любое n-мерное пространство. Можно оперировать векторами или использовать проекции :)
Хочу также обратить ваше внимание, что вирусов тоже ГЛАЗАМИ никто не видел, только в микроскоп, выходит их нет ? :)


>>Странно, 3 года и не было желание подробнее познокомится с ПИК подобными СУБД ??

Не было. Предпочитаю сначала разобратся в чём-нибудь одном. А не прыгать от линейной алгебры к релятивисткой физике.

>>Спасибо, за рекомендацию, предпочитаю раздл релятивистской физики
;-)

Ну и на здоровье, тема интересная. Только зачем тогда оперировать понятиями многомерной геометрии и линейной алгебры ? Выводить формулы которые не имеют смысла ?
1 окт 03, 13:27    [359189]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить