Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
собственно, сабж если у кого есть линки на материалы (на русском или английским), то буду очень признателен =) (вдвойне - если на русском ) хотя, лучше всего, если бы кто поделился собственным опытом, если таковой имеется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 19:36 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
пролог пытался использовать достаточно давно (юзал на протяжении трех месяцев 12 лет назад). может поэтому я уже смутно представляю, как его можно в качестве языка запросов. опыт собственно использования пролога - отрицательный. субьективно - жутко не понравился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2004, 03:35 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
[quote] пролог пытался использовать достаточно давно (юзал на протяжении трех месяцев 12 лет назад). [/quote] будучи еще студентом, я полагаю =) [quote] может поэтому я уже смутно представляю, как его можно в качестве языка запросов. [/quote] http://www.ruc.dk/~henning/adb2003/DatabaseProlog.pdf или то же самое в html http://www.google.com.ru/search?q=cache:8k2_G-yfXeUJ:www.ruc.dk/~henning/adb2003/DatabaseProlog.pdf+advanced+topics+in+database+prolog&hl=ru&ie=UTF-8 методология и общие принципы использования пролога в качестве языка для моделирования реляционных бд, а по поводу "языка запросов" - есть модуль (на прологе), называемый компилятором пролога в сиквел, посмотреть можно здесь http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/prolog/code/io/pl2sql/0.html пожалуй, в настоящее время пролог активно используется лишь в академических исследованиях, и что касается теории, то вопросов не возникает и все-таки, разве никаких *реально* работающих реализаций нет??? [quote] опыт собственно использования пролога - отрицательный. [/quote] какого рода опыт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 14:53 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
1 пролог как язык запросов ничем не лучше чем sql. более того, sql точная нижняя(в каком то смысле -))) граница с точки зрения понятности и минимизации усилий пользователя реляционных баз данных. sql - специализирован под работу с множествами строчек, а пролог это просто логика. пролог не может быть экономнее в области работы с множествами строчек - отношениями. 2 в конце 80 пролог громогласно и торжественно был принят японцами как язык пятого поколения (или компьютеров пятого поколения я уже забыл) - сейчас это все тихо погибло. по крайней мере, не слышно ничего на эту тему. 3 меня (в 92 году, после 12 лет программирования на алмире, фортране, алголе, пл/1, ратфоре, си, sql-е, бейсике и паскале) настолько выводил из себя этот гребаный фокспро что я пытался писать на прологе клиенты для работы с дбф файлами. процесс отладки программ на прологе (в моем исполнении, по крайней мере) не обладал свойством сходимости. я, никогда не мог предугадать, чем закончится мое очередное изменение в программе. может это я не подхожу к прологу, конечно. -)))))))) 4 за ссылки спасибо, хотя я узнавать чтото о прологе, сверх того, что уже знаю не хочу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 00:12 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
a13x ты живой еще? по поводу этой фразы tchingiz>пролог как язык запросов ничем не лучше чем sql. мне гораздо больше нравится RAISE Specifiication Language - RSL . Он содержит предикаты, три квантора (всеобщности, существования и уникального_существования), аппликативный (наряду с императивным - традиционным для программирования) стиль записи программ, выражения над функциями - лямбда исчисления, предикативной и алгебраическое определение функций, аксиомы, и, более того, символ (и возможности сравнения) счетной бесконечностью - алеф-ноль. Пролог рядом и не стоял. Я пытался использовать rsl для проектирования субд. Тексты программ на SQL, как специализированном языке оказались гораздо короче, чем соответствующие на RSL. Хотя, в общем полезно было. вот такой оператор, содержащий простой запрос множество всех значений в поле pamp таблицы Position должно включаться во множество всех значений поля id таблицы Pump Код: plaintext 1. 2. 3. 4. формулируется приблизительно так ( on delete cascade - не отражен и потребует дополнительных усилий) Код: plaintext 1. 2. 3. 4. 5. 6. для всех записей (pos - это вся запись, кроме первичного ключа id) - выполняется - если запись принадлежит таблице (Position) , то значение поля pump принадлежит первичному ключу таблицы R (R - формальный параметр описания имеет значение Pump). У меня таблица задавалась как отображение из первичного ключа в запись. rng - множество значений отображения == множество записей таблицы. dom - множество определения отображения == множество первичных ключей таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 02:02 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
живее всех живых =) с rsl не сталкивался, посмотрю, спасибо (вдвойне, за активное участие в обсуждении =)))) наткнулся недавно на RQL (query language for representation layer), базируется на xml насколько я понял, пробежавшись глазами (www.ontoknowledge.org/countd/countdown.cgi?del9.pdf ), связано с семантическим вебом etc... и по поводу пролога. что касается рбд - все понятно... я теперь понял, что в моем вопросе кроется ошибка, и весьма серьезная - о прологе как об альтернативе сиквелу в контексте *извлечения* данных говорить нельзя, а именно так (Prolog vs. SQL - и, кажется, только так =) мой вопрос можно проинтерпретировать... но если посмотреть на пролог с точки зрения интеллектуального анализа извлекаемых данных, то вот здесь сиквел не будет "работать" в том виде, как он есть - если сиквел "повернут лицом" к структуре данных, то пролог - к их семантике в свете вышеизложенного поправляю тему сабжа: SQL feat. Prolog (теория и практика) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 12:26 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
не допонял я, кто к кому чем повернут.\r \r язык, это инструмент, на котором люди пишут свои мысли.\r мысли может быть удобно излагать или нет.\r все что можно написать на прологе, можно написать на sql или vdm или z\r или эйфеле. и даже за более короткое количество строчек.\r sql - действительно слабее.\r он не содержит аксиом арифметики\r пеано\r -точнее матиндукции - по простому говоря, не содержит цикла.\r \r сжатый результат:\r теория - \r как математическая теория пролог включает в себя sql.\r (все что можно написать на sql, можно написать на прологе. обратное неверно)\r практика - \r 1 sql - очень удобен и экономен в своем классе \r 2 есть другие языки удобнее чем пролог.\r \r \r \r >пролог с точки зрения интеллектуального анализа извлекаемых данных,\r \r я помню, что пролог все решает перебором\r и, вообще, когда я слышу слово искуственный интелект, я хватаюсь за пистолет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 00:35 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
2 tchingiz Жутко счастлив что мне с тобой довелось только мороженое сравнивать Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 05:35 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
Увидел тут обсуждение prolog и не смог удержаться, хотя как и большинство присутствующих работал с ним в последний раз года 4 назад когда учился сам в ВУЗе. мне тогда в память запала интересная табличка которую приводил наш препод сравнение пролога и иных языков по времени разработки того или иного вида программ В общем там пролог по сравнению с C/C++ рулил во всем: в разработке GUI, Баз данных, экспертных систем (что не удивительно), мат расчетов, и т.д. и причем рулил в отношении 1 к 8, 10 не в пользу C/C++ как то в сетевых решениях была статья о том как одна маленькая компания на далеком диком западе заработала кучу зеленых единиц именно благодаря тому что с помощью пролога они очень быстро разработали какой-то супер мега сайт с кастомизацией содержимого (что-то вроде конструктора онлайн магазинов) Интересно кто его пользует и если сравнивать то правда ли все это, а если правда то почему я на нем не пишу и еще 99% программеров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 14:10 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
>sql - специализирован под работу с множествами строчек, а пролог это >просто логика. пролог не может быть экономнее в области работы с >множествами строчек - отношениями И тем не менее, ИМХО, Пролог намного эффективнее чем SQL именно как язык запросов. Дело в том, что далеко не все SQL запросы поддаются оптимизации. Пролог-выражения же оптимизировать намного легче. Кроме того, на Прологе многие вещи, которые в SQL выглядят искусственно (например нумерация строчек запроса) пишутся вполне естественным способом. Еще одна тонкость : при составлении запросов иногда возникает ситуация неопределенности. Например : Из Т1 выбрать все записи связанные с Т2 по полю Ф1. Для групп таких полей сосчитать сумму по полю Ф2 и выбрать ЛЮБОЕ из значений поля Ф3 и соответствующее ему значение Ф4. В SQL придется точно определить, что значит ЛЮБОЕ. Например, взять ПЕРВОЕ :-) В Прологе эта ситуация вполне нормальна. Берется ПЕРВОЕ ПОПАВШЕЕСЯ значение. Поскольку по определению в РБД порядок записей не определен, получается ЛЮБОЕ. О смысле такого запроса прошу не высказываться. В Прологе значительно более естественно выглядят рекордсеты. Это не замороженный снимок базы, из которого отдают по кусочку, а ПРАВИЛО отбора (формирования) следующей записи. Washington Irving ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 17:19 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
Yossarian эффективность мне вообще до лампочки. сначала нужно решить для чего пишется программа и кому должно быть удобно с ней работать - компьютеру (спотимизировать) или программисту (мысли излагать в ней). типа: есть что бы жить или жить чтобы есть. но что бы поддержать беседу - ты хочешь сказать, что одно и тоже выражение написанное на прологе поддается оптимизанции, а написанное на sql - нет? --------- Кроме того, на Прологе многие вещи, которые в SQL выглядят искусственно (например нумерация строчек запроса) пишутся вполне естественным способом. --------- в SQL нумерация строчек запроса выглядит исскуственно, по определению таблицы как множества записей. множество не имеет порядка. кстити, именно, поэтому выбирая первую строчку из таблицы в неупорядоченном фразой order by запросе ты выбираешь именно произвольную запись. по поводу неопределенности: пролог и рядом не валялся с другими языками пример частично определенной функции F, которая из произвольного множества целых чисел выдает произвольное число. поведение функции на пустом множестве не определено. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. тут десятая лекция посвящена недетерминизму и неполным спецификациям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 23:54 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
[quote] язык, это инструмент, на котором люди пишут свои мысли. [/quote] язык *программирования* - это язык, на котором эти мысли *формализуют* или? [quote] и, вообще, когда я слышу слово искуственный интелект, я хватаюсь за пистолет [/quote] я этого не говорил =)... точнее - я не это имел в виду иначе я про лисп, наверное бы спрашивал, про него, кажется чаще упоминают в контексте ИИ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 13:59 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
2black zorro --В общем там пролог по сравнению с C/C++ рулил во всем: в разработке GUI, Баз данных, экспертных систем (что не удивительно), мат расчетов, и т.д. и причем рулил в отношении 1 к 8, 10 не в пользу C/C++ что значит рулил ? по кааим критериям ? стоимости средств разработки, скорости разработки, стоимости разработки, стоимости сопровождения, возможностям разработки, скорости ? особенно пункт "в разработке GUI" вызывает у меня здоровый скептецизм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 23:56 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
a13x>язык *программирования* - это язык, на котором эти мысли *формализуют* или? подумать мысль в словах - означает ее формализовать. так для общего развития - есть подозрение, что санскрит - язык на котором написана бхагаватгита - исскуственно созданный язык. вроде пролога. его создали для однозначного (а значит формального) описания Бога, не позволяющего ложных интерпретаций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 00:25 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
2 Lepsik Рулил он именно по скорости разработки (значит, в человеко-часах) А относительно GUI - ну если сравнивать с просто C/C++ для windows (чистый WinAPI) и даже MFC - то по моему скромному рассуждению после просмотра ряда примеров исходников - действительно рулит. с.м. http://www.visual-prolog.com Вопрос тут у меня всплыл во время рассмотрения данных исходников что-то пролог изменился сильно то, и что наиболее неприятно даже в простейших вещах без спецбиблиотек (COM, CGI, ODBC ...) для разных реализаций есть отличия в синтаксисе. Так что для того чтобы получить общее представление о мире знаний и их обработке лучше чем Turbo Prolog 2 нет ничего. А вопрос в том, что напрягает немного меня сама IDE и поэтому вопрос нет ли у кого идей как выдрать только компилятор я бы написал сам IDE и запуск из него вышеобозначенного компилятора, глядишь кому-нибудь и пригодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 11:26 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
Да чуть не забыл нашел давеча полезный линк на различные реализации Prolog http://www.cs.kuleuven.ac.be/~remko/prolog/faq/files/faq.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 11:39 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
2 tchingiz > в SQL нумерация строчек запроса выглядит исскуственно, по определению > таблицы как множества записей. Не потому. А потому что объектом действия является множество. Само по себе множество м.б. и упорядоченным. Пример : есть 2 таблицы, отсортированные через order by. построить запрос, который первой строке первой таблицы поставит в соответствие первую строку второй таблицы итд. >ты хочешь сказать, что одно и тоже выражение написанное на прологе поддается оптимизанции, а написанное на sql - нет? Я хочу сказать, что в Прологе и Скуле для выполнения одной и той же задачи будут написаны разные выражения. Так вот, во многих случаях Проложные будет легче оптимизировать, чем Скулевые. Разумеется, select a from b выполнится одинаково... Washington Irving ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 13:02 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
Yossarian>А потому что объектом действия является множество. по определению множества, множество линейного порядка не имеет. (определению больше 100 лет и оно входит в устоявшуюся, стройную и логичную математическую теорию. в отличие от программистких шаманских танцев.) что бы был линейный порядок, надо ввести такое отношение. то есть сделать доп. усилие. Еще раз поскольку sql работает (работает == делает селект, делете, инсетр и адрейт) с множествами(а не со списками, где есть порядок), там упорядоченность требует доп усилий. слово обьект - в конкретном предложении бессмысленный и затасканный штамп. есть отображение (операция sql) и область определения и множество значение отображения так вот любая операция sql имеет в качестве области определения множество строчек(кортежей) и в качестве множества значений множество строчек(кортежей). слова об обьекте действия - пустой звук. на всякий случай - каждое слово в математике(чем и является sql) строго определяется через предыдущие слова или является аксиомой (не определяется вообще). все слова кортеж, множество, отображение, порядок, линейный порядок - все имеет определение. кроме обьекта и действия. >Я хочу сказать, что в Прологе и Скуле для выполнения одной и той же задачи выполнить запрос к таблицам >будут написаны разные выражения. Так вот, во многих случаях Проложные >будет легче оптимизировать, чем Скулевые тогда, в тех случаях, когда prolog- выражения легче оптимизировать, разработчики sql должны проконвертить sql-выражения в prolog выражения, соптимизировать последние выполнить их и отдать результат юзеру, доказав тем самым, что и sql и prolog выражения оптимизируются одинаково. шутка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 23:09 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
А почему пролог не вошел в практику программирования? Я несколько раз пытался разобраться с ним, но у меня ничего не получалось. Не смог оценить этот язык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 07:35 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
2black zorro --А относительно GUI - ну если сравнивать с просто C/C++ для windows (чистый WinAPI) и даже MFC - то по моему скромному рассуждению после просмотра ряда примеров исходников - действительно рулит. после посмотра его интерфейса в стиле эпохе перехода от Win3.1 к Win95 я просто не понимаю о каком сравнении вообще может идти речь. Визаульные компоненты практически отсутствуют. Любой более-менее сложный интерйес требует чудовищных усилий по программированию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 22:02 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
--- процесс отладки программ на прологе (в моем исполнении, по крайней мере) не обладал свойством сходимости. я, никогда не мог предугадать, чем закончится мое очередное изменение в программе. --- это же другими словами - программировать на нем - неудобно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 22:15 |
|
||
|
Prolog в качестве языка запросов к РБД (теория и практика)
|
|||
|---|---|---|---|
|
#18+
a13x, я тут индексер делаю(типа гугля в бд документов, там 4 таблицы из 3 колонок - то есть схема БД простая). удается описывать схему бд проект на rsl. давай мой rsl сравнивать с твоим прологом? например, сделаешь аналог view ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 03:21 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=32488744&tid=1348421]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 271ms |
| total: | 550ms |

| 0 / 0 |
