powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / разные реализации sql
28 сообщений из 28, показаны все 2 страниц
разные реализации sql
    #32790277
ci3ix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!
Работаю в MS Access, на любительском уровне.
Как-то возникла сложная для задача, обратился к админу. При написании запроса на SQL сильно ругался, что майкрософтовский диалект заметно отличается от общепринятых, по его мнению.
Не подскажете, в чем и где именно различия? Буду благодарен за ссылки на статьи, хочется немного просветиться на этот счет, кроме того, есть еще дополнительные причины выяснить различия между реализациями SQL например в Access и mySQL или Oracle.
В справке по аксессу ничего нет, перерыл все. В сети - тону, море информации, но ничего такого.
Помогите, кто знает, плиз.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790299
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фактически у каждой СУБД свой диалект SQL, который они так или иначе приводят в соответсвие тем или иным стандартами, например, SQL2. Язык SQL некоторые СУБД, например, Оракл начали использовать еще до появления первых стандартов. Комитеты или группы по стандартизаци тоже так или иначе учитывают наработки ведущих СУБД, но иногда поступают жестко, как например с JOIN. Однако, в угоду пользователей производители СУБД продлжают добавлять и свое что-то.
SQL Access естественно менее выразителен (это ведь файлсерверная СУБД, расчитанная на работу на клиентских компах), чем ORACLE и, наверняка, чем MS SQL (тоже микрософт) - оба серверные. Более того, в Access есть ограничения на сложность запроса, хотя и допустимого по синтаксису. Он просто может сказать, что запрос слишком сложен и все.
Если хотите сравнить с ORACLE, то откройте справки ORACLE и Access и сравнивайте. Но берите ORACLE как минимум 9 версии, в 8 JOIN нет еще.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790338
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ci3ix майкрософтовский диалект заметно отличается от общепринятыхИнтересное мнение, на самом деле, как раз версии от MS по синтаксису наиболее близки к стандарту SQL-92, и практически гарантировано к SQL-89. Или что-то другое подразумевается под общепринятыми ?
...
Рейтинг: 0 / 0
разные реализации sql
    #32790405
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В стандарте что-нибудь говориться про квадратные скобки ?
...
Рейтинг: 0 / 0
разные реализации sql
    #32790416
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>В стандарте что-нибудь говориться про квадратные скобки ?

А они необязательны.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790419
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Standard SQL
Оракл в плане соответствия стандартам выглядит много лучше MS.
В статье упомянуты только три "больших" вендора.
От себя добавлю что Sybase SQL Anywhere is compliant with SQL-99 core specifications. т.е. соответствует стандарту лучше чем кто либо из большой тройки.

авторверсии от MS по синтаксису наиболее близки к стандарту SQL-92
бред.
наиболее близки по сравнению с кем?
то что поддерживается MSSQL называется entry level SQL92 на самом деле SQL89 и есть. покажите мне DBMS которая НЕ поддерживает SQL89? там и поддерживать то нечего толком. :))

А вообще, грубо говоря, никакого "общепринятого SQL" не существует. И для большинства вендоров соответствие стандарту это последнее о чем они подумают планируя развитие продукта.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790424
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Зорин:

Oracle 8.1.7.0 не поддерживает join
Oracle 9i не поддерживает full outer join

Oracle не поддерживает это :-
Special syntax (N'string') is provided for representing
literals in that character repertoire.

Уровни изоляции транзакций в Oracle разве совпадают с Ansi 92?
...
Рейтинг: 0 / 0
разные реализации sql
    #32790446
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Учите матчасть Oracle 9i ПОДДЕРЖИВАЕТ full outer join.
То что ANSI Join-ы в Oracle фигово работают - это немножко другая тема.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790448
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И как можно сравнивать по SQL99, если ещё нет соответвствия SQL92 ?!
Грубо говоря, основные возможности мы не поддерживаем, ну так новых фич добавим.

Стандар SQL желательно разделить на три части -
1. DDL и создание процедур
2. DML и вызов процедур
3. INFORMATION_SCHEMA

Так вот, для клиентского приложение наиболее важно соответствие ВТОРОЙ части стандарта, так как остальное ему по фиг - как тому админу, которому пришлось писать сложный запрос. Ведь админ этот не создавал базу (её вообще отресторить можно при желании) и не лез в INFORMATION_SCHEMA.

Вторая часть стандарта наиболее важна, всё остальное - детали реализации и их вообще нет смысла стандартизировать.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790451
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Учите матчасть Oracle 9i ПОДДЕРЖИВАЕТ full outer join.

Только не работает full outer join . Тема вчера такая на оракловом форуме появилась.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790453
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
www.fun4me.narod.ru2 Зорин:

Oracle не поддерживает это :-
Special syntax (N'string') is provided for representing
literals in that character repertoire.

Уровни изоляции транзакций в Oracle разве совпадают с Ansi 92?

Код: plaintext
1.
2.
3.
4.
5.
6.
SQL> select N'ffff' from dual;

N'FF
----
ffff

SQL> 

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

По поводу соответствия уровням изоляции транзакций рекомендую почитать Кайта
...
Рейтинг: 0 / 0
разные реализации sql
    #32790456
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
www.fun4me.narod.ru>> Учите матчасть Oracle 9i ПОДДЕРЖИВАЕТ full outer join.

Только не работает full outer join . Тема вчера такая на оракловом форуме появилась.

Еще раз по буквам: Oracle ПОДДЕРЖИВАЕТ full outer join. То что он не работает - вопрос реализации, а не соответствия стандартам. В Oracle есть гораздо более удобная форма выражения outer join, правда не имеющая ничего общего с этим угребищным стандартом.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790466
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> То что он не работает - вопрос реализации

Ну ладно, Oracle поддерживает, но реализация не соответствует стандарту. Согласитесь ведь, что оракловый full outer join - это далеко не full outer join из ANSI SQL'92.

И вообще, какой смысл N'.....' возвращать в типе CHAR(...). Чем тогда CHRACTER отличается от NATIONAL CHARACTER.

Согласен, Oracle всё поддерживает, но так, как будто он студент, за неделю диплом написавший.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790479
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
www.fun4me.narod.ruТак вот, для клиентского приложение наиболее важно соответствие ВТОРОЙ части стандарта,

к какой части следует отнести
1. отсутствие раздельных типов данных для DATE и TIME
2. отсутствия ON [DELETE|UPDATE] SET NULL, ON [DELETE|UPDATE] SET DEFAULT
3. отсутствия триггеров и BEFORE и FOR EACH ROW

насколько НЕ важны для клиентского приложения эти пункты?

www.fun4me.narod.ruГрубо говоря, основные возможности мы не поддерживаем, ну так новых фич добавим.
Именно так все и делают.

обычно все же последующие стандарты включают в себя предыдущие.
какая нах разница что "частично" поддерживать.
тем более что изрядное количество фич появляется в стандарте де-факто под давлением вендора.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790492
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>к какой части следует отнести
>>1. отсутствие раздельных типов данных для DATE и TIME
>>2. отсутствия ON [DELETE|UPDATE] SET NULL, ON [DELETE|UPDATE] SET DEFAULT
>>3. отсутствия триггеров и BEFORE и FOR EACH ROW

Типы данных надо всё же ко второй части отнести, а всё остальное - это проблемы специалиста по конкретной СУБД. Здесь стандарты не столь важны. Я так понимаю, что не могут все СУБД быть одинаковыми. Я вижу смысл только в стандартизации взаимодействия между БД и клиентской программой. А триггеры могут быть в каждой СУБД свои - почему бы и нет?
...
Рейтинг: 0 / 0
разные реализации sql
    #32790534
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такое слово portability.
Вот с Sybase на Microsoft еще реально всю систему перевести, ибо языки похожи.
А с Microsoft на Oracle проще убить чем вылечить
...
Рейтинг: 0 / 0
разные реализации sql
    #32790569
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> А с Microsoft на Oracle проще убить чем вылечить

Ничего не поделаешь... На Oracle придётся свою систему писать. А что тут сделаешь?
Разве что хранимые процедуры в байт-коде? Чтоб на TCL писать можно было. С плюгинами к PostgreSQL, Oracle и MSSQL как extended xp? Ну так ведь нет таких....
...
Рейтинг: 0 / 0
разные реализации sql
    #32790627
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто нибудь подскажет мне необразованному, что есть ANSI стандарт на ХП ?
...
Рейтинг: 0 / 0
разные реализации sql
    #32790643
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL92:-

4.17 Procedures

A <procedure> consists of a <procedure name>, a sequence of <pa-
rameter declaration>s, and a single <SQL procedure statement>.


A <procedure> in a <module> is invoked by a compilation unit as-
sociated with the <module> by means of a host language "call"
statement that specifies the <procedure name> of the <procedure>
and supplies a sequence of parameter values corresponding in number
and in <data type> to the <parameter declaration>s of the <proce-
dure>. A call of a <procedure> causes the <SQL procedure statement>
that it contains to be executed.
...
Рейтинг: 0 / 0
разные реализации sql
    #32790652
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И кто у нас соответствует этому стандарту ?
;)
...
Рейтинг: 0 / 0
разные реализации sql
    #32790678
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как то пришлось подправлять руками запрос (лычную непрыязнь испитываю к визардам) в Акцеце с использованием вложенных запросов. Приличное время выполнения так и не получилось, а вот после этого потыкая в визарде нехт, нехт, нехт, Акцец нарисовал что-то страшное, но к моему удивлению достаточно шустрое.

...
Рейтинг: 0 / 0
разные реализации sql
    #32790726
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если кому интересно, вот COOK BOOK по SQL (поваренная книга) )
. Занимательное я вам скажу чтиво))...
...
Рейтинг: 0 / 0
разные реализации sql
    #32790938
osse_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gardenmanесли кому интересно, вот COOK BOOK по SQL (поваренная книга) )
. Занимательное я вам скажу чтиво))...

Если не затруднит:
Эта книга про SQL в DB2 или про "просто SQL"?

thnks.
...
Рейтинг: 0 / 0
разные реализации sql
    #32791030
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL в DB2. Можно просто посравнивать...
...
Рейтинг: 0 / 0
разные реализации sql
    #32792188
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
А в оракле наконец избавились от равенства пустой строки '' и NULL ?
...
Рейтинг: 0 / 0
разные реализации sql
    #32792202
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем? Пусто оно и есть пусто.
...
Рейтинг: 0 / 0
разные реализации sql
    #32792471
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторнаиболее близки по сравнению с кем?В частности, на момент появления синтаксиса JOIN в MSAccess 2.0(93-94, точнее не помню), практически ни у одного крупного производителя еще не было использования такой поддержки. Так что, скорее, это экскурс в прошлое. Сейчас, разумеется, можно с гордостью говорить, что у всех такая поддержка есть, а у некоторых и того больше. Но это не отрицает того, что синтаксис SQL от MS не так сильно отходит от стандартов ANSI, как у некоторых других производителей, которые добавляли поддержку ANSI, тогда как MS, начав с нее, пытался ее расширить, в своем обычном духе. Синтаксис же SQL до 7 версии MS SQL был не собственным, а унаследованным от Sybase.

P.S. А равенство NULL и пустой строки - нонсенс, об этом Кодд писал еще в 1985 году. Хотя, возможно, не для всех он является авторитетом.
...
Рейтинг: 0 / 0
разные реализации sql
    #32801290
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoSQL Access естественно менее выразителен (это ведь файлсерверная СУБД, расчитанная на работу на клиентских компах)


Глупость сказал.
Возьми ту же FOXPRO. Тот же файл-сервер, но нормальный SQL, никаких ограничений по сложности.
Там одно ограничение по сложности - чтобы тупой Аксесовский юзер не охренел при написании запроса.
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / разные реализации sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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