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

А они необязательны.
...
Рейтинг: 0 / 0
19.11.2004, 08:20
    #32790419
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
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
19.11.2004, 08:25
    #32790424
www.fun4me.narod.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
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
19.11.2004, 08:46
    #32790446
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
Учите матчасть Oracle 9i ПОДДЕРЖИВАЕТ full outer join.
То что ANSI Join-ы в Oracle фигово работают - это немножко другая тема.
...
Рейтинг: 0 / 0
19.11.2004, 08:49
    #32790448
www.fun4me.narod.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
И как можно сравнивать по SQL99, если ещё нет соответвствия SQL92 ?!
Грубо говоря, основные возможности мы не поддерживаем, ну так новых фич добавим.

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

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

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

Только не работает full outer join . Тема вчера такая на оракловом форуме появилась.
...
Рейтинг: 0 / 0
19.11.2004, 08:50
    #32790453
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
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
19.11.2004, 08:53
    #32790456
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
www.fun4me.narod.ru>> Учите матчасть Oracle 9i ПОДДЕРЖИВАЕТ full outer join.

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

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

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

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

Согласен, Oracle всё поддерживает, но так, как будто он студент, за неделю диплом написавший.
...
Рейтинг: 0 / 0
19.11.2004, 09:08
    #32790479
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
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
19.11.2004, 09:17
    #32790492
www.fun4me.narod.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
>>к какой части следует отнести
>>1. отсутствие раздельных типов данных для DATE и TIME
>>2. отсутствия ON [DELETE|UPDATE] SET NULL, ON [DELETE|UPDATE] SET DEFAULT
>>3. отсутствия триггеров и BEFORE и FOR EACH ROW

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

Ничего не поделаешь... На Oracle придётся свою систему писать. А что тут сделаешь?
Разве что хранимые процедуры в байт-коде? Чтоб на TCL писать можно было. С плюгинами к PostgreSQL, Oracle и MSSQL как extended xp? Ну так ведь нет таких....
...
Рейтинг: 0 / 0
19.11.2004, 10:19
    #32790627
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
Кто нибудь подскажет мне необразованному, что есть ANSI стандарт на ХП ?
...
Рейтинг: 0 / 0
19.11.2004, 10:24
    #32790643
www.fun4me.narod.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
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
19.11.2004, 10:28
    #32790652
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
И кто у нас соответствует этому стандарту ?
;)
...
Рейтинг: 0 / 0
19.11.2004, 10:37
    #32790678
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
Как то пришлось подправлять руками запрос (лычную непрыязнь испитываю к визардам) в Акцеце с использованием вложенных запросов. Приличное время выполнения так и не получилось, а вот после этого потыкая в визарде нехт, нехт, нехт, Акцец нарисовал что-то страшное, но к моему удивлению достаточно шустрое.

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

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

thnks.
...
Рейтинг: 0 / 0
19.11.2004, 12:30
    #32791030
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
SQL в DB2. Можно просто посравнивать...
...
Рейтинг: 0 / 0
19.11.2004, 18:24
    #32792188
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разные реализации sql
А в оракле наконец избавились от равенства пустой строки '' и NULL ?
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / разные реализации sql / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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