Влад Борисов
Райан Стивенс, Рональд Р. Плю. Освой самостоятельно SQL за 24 часа. М., Бином, 1998. - 400 с.
Без знания SQL в сегодняшнем мире программисту прожить можно, но сложно. И если вам захотелось подняться на ступень выше в иерархии разработчиков и найти себе более высокооплачиваемую работу, то стоит выделить какое-то время на изучение этого языка для работы с базами данных. Осваивать его можно, используя разную литературу, - например, по книге “SQL за 24 часа”, которая дает довольно глубокое представление о предмете.
Книга разбита на 24 главы, состоящие из теоретических разделов и практикума. Предполагается, что на освоение материала каждой главы нужно потратить час, хотя, по-моему, это оптимистичная оценка, не учитывающая времени на эксперименты с реальной БД.
Все начинается с объяснения азов реляционной структуры данных - рассказа о том, как устроена типичная РБД, как связываются таблицы, какие бывают нормальные формы БД, и т. п. Затем читателю предлагается освоить более специфические вещи: операторы и функции SQL, подходы к оптимизации запросов.
Книга посвящена стандарту SQL92, и в ней не найдешь описания каких-либо объектных расширений SQL. Однако общеизвестно, что и с SQL92 имеется множество проблем, связанных с тем, что это не четкий стандарт и все производители реализуют его по-разному. Авторы пытаются помочь читателю в этом вопросе, разъясняя общие принципы построения SQL-запросов и приводя примеры SQL-выражений для СУБД разных фирм. В основном они ориентируются на Oracle и Microsoft SQL Server.
Правда, авторы являются специалистами по Oracle и большинство примеров приводят именно для этой СУБД, поэтому для выполнения упражнений стоит использовать именно ее, тогда неопытному читателю не придется ломать голову над тем, почему некоторые примеры из книги в IBM DB2 не выполняются (а это может быть потому, скажем, что в DB2, в отличие от СУБД Oracle, числовые константы нельзя брать в кавычки).
В целом книга легко читается и содержит всего несколько ошибок и опечаток, что большая редкость для переводных изданий. Пожалуй, наиболее заметными из ошибок являются неправильные ответы на контрольные вопросы на с. 159 и 369: там говорится, что предложение HAVING можно использовать без предложения GROUP BY, а это неверно. Заметим, что на пару страниц раньше (с. 157) читателю дается правильная информация. Из недостатков можно также отметить то, что некоторые примеры многих сложных запросов явно надуманны - те же результаты можно получить с помощью менее громоздких конструкций. Однако эти замечания не снижают общей ценности и полезности книги.
Издательство “Бином”: (095) 973-9062.