Руководство по ANSI SQL - PullRequest
       30

Руководство по ANSI SQL

40 голосов
/ 11 ноября 2009

Кто-нибудь может порекомендовать хороший справочник по ANSI SQL?

Я не обязательно имею в виду учебник, а правильный справочный документ для поиска, когда вам нужно базовое или более подробное объяснение или пример.

В настоящее время я использую Учебник по W3Schools SQL и Учебник по SQL , которые в порядке, но я не нахожу их достаточно "глубокими".

Конечно, у каждого крупного производителя RDBMS будут какие-то справочные руководства, ориентированные на их собственный продукт, но они, как правило, предвзяты и когда-нибудь будут использовать проприетарные расширения.

РЕДАКТИРОВАНИЕ: Цель этого вопроса состояла в том, чтобы сосредоточиться на том, что движки баз данных имеют общее, то есть на корнях SQL. Но понимание различий также может быть положительным моментом - это довольно интересно.

Ответы [ 10 ]

29 голосов
/ 11 ноября 2009

Вот «Второй неофициальный обзорный черновик» из SQL: 1992 , который, кажется, был достаточно точным для всего, что я посмотрел. 1992 охватывает большинство материалов, обычно используемых в СУБД.

13 голосов
/ 15 ноября 2009

SQL не похож на C или Java, где есть стандарт для языка, а затем ряд компаний и организаций внедряют язык как можно лучше, следуя стандарту.

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

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

Сказав это, у меня на полке у меня есть книга Гултзана и Пельтцера SQL-99 Complete, действительно . Это хорошая книга, если вам нужно знать, что на самом деле содержится в стандарте. (И да, существует более новая версия, начиная с SQL-99, но, похоже, никому нет до этого дела.)

РЕДАКТИРОВАТЬ: На самом деле, существует не только одна более новая версия начиная с SQL-99, но три : SQL: 2003, SQL: 2006 и SQL : 2008. И до сих пор никому нет до этого дела. На самом деле, многие даже не заботятся о SQL-99, поэтому SQL-92 по-прежнему является «стандартом».

7 голосов
/ 11 ноября 2009

Все документы ANSI можно приобрести у - как вы уже догадались - ANSI.

http://webstore.ansi.org/

5 голосов
/ 11 ноября 2009

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

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

2 голосов
/ 20 ноября 2009

Это напоминает мне о моем втором курсе университета, где мы изучаем реляционную теорию вместо SQL.

Прочитайте хорошую книгу по теории отношений. Теория и практика баз данных развивались с тех пор, как Эдгар Кодд впервые определил реляционную модель еще в 1969 году. Независимо от каких-либо продуктов SQL, SQL и реляционная теория опираются на десятилетия исследований, чтобы представить самую современную обработку материала, доступную где угодно. Любой, кто имеет опыт работы с SQL от среднего до продвинутого, извлечет пользу из многих идей этой книги.

alt text

Орейли Январь 2009

1 голос
/ 20 ноября 2009

Я обнаружил, что лучший способ изучить SQL - это на самом деле приступить к написанию запросов и пониманию природы объединений / условий и т. Д. Я нашел эту ссылку с множеством примеров для поделок лучшей: http://sqlzoo.net/

1 голос
/ 18 ноября 2009

Мне действительно нравится все, что написал Джо Селко Книги Селко

0 голосов
/ 21 ноября 2009

Я думаю, что это может быть полезно для вас.

Понимание стандарта ANSI SQL Автор: Кевин Клайн

http://www.amazon.com/gp/product/1565927443/102-0105946-4028970?v=glance&n=283155

0 голосов
/ 18 ноября 2009

Ресурсы DevGuru всегда работали хорошо для меня: http://www.devguru.com/technologies/t-sql/home.asp

Хотя я должен признать, что это не строго ориентированный на ANSI ресурс. Я всегда был ориентирован на MS SQL, и это было полезно для меня, когда я начинал. ИМХО Лучше всего будет использовать несколько ресурсов, в том числе по крайней мере один для каждой платформы БД, которую вы хотите использовать.

Чтобы процитировать вступление DevGuru для их ресурса T-SQL:

Хотя существуют стандарты для SQL, такие как ANSI SQL92 и SQL99, большинство базы данных используют свой собственный диалект и / или Extentions. Microsoft вкус SQL используется в SQL Server 7 и SQL Server 2000 называется T-SQL. Хотя многие из примеры в этом кратком справочнике может работать на других базах данных, это Предполагается, что SQL Server 2000 используется, особенно для продвинутых тем, таких как хранимые процедуры.

0 голосов
/ 11 ноября 2009

Это немного устарело, но эта книга действительно полезна, если посмотреть на то, как разные поставщики реализуют вещи, я верю, что она включает стандарт ANSII.

http://www.amazon.com/SQL-Nutshell-2nd-Kevin-Kline/dp/0596004818/ref=sr_1_1?ie=UTF8&s=books&qid=1257963172&sr=8-1

...