Рецензии на книгу
"Oracle8i на примерах"


21.09.2006
Oracle Magazine RE (портал)
Виктор Абрамов, Анатолий Бачин
http://www.oracle.com/global/ru/oramag/december2001/general_hotka.html

Хорошо, что сейчас уже есть на русском языке целая серия книг, посвященных различным компьютерным технологиям, изложенных в примерах. Спасибо Издательскому Дому "Вильямс"), который переводит "Серию программирования Джесса Либерти "На примерах" (оригинал - "Jesse Liberty's from scratch. Programming series", изд. QUE). Тем самым, продолжается традиция самообучения по книгам специалистов смежных специальностей вопросам, которым посвящена каждая очередная книга серии.

Я до сих пор не был знаком с этой серией. Но вот редакция OM/RE попросила ознакомиться и написать рецензию на книгу по Oracle8i, которая входит в сферу моей профессиональной компетенции. То есть, спросили мое мнение, годится ли эта книга: для самообучения непрофессионалов в Oracle, принесет ли пользу для Oracle-профессионалов смежных дисциплин, насколько полно и правильно, с моей точки зрения, изложены вопросы, в которых я считаю себя профессионалом.

К сожалению, на большинство этих вопросов я должен ответить довольно сдержанно. Если Вы захотите ознакомиться с комплиментарными отзывами об этой книге, то обратитесь по адресу http://www.williamspublishing.com/Books/fScr_Oracle8i.html. Там опубликованы анотация, предисловие и введение с обзором по главам. Об этой книге сказано (цитирую), что она "идеально подходит для следующих групп специалистов в области информационных технологий: опытные пользователи, которым необходимо создать приложение для Windows или для Web-среды на основе Oracle8i; специалисты Oracle, которым нужно повысить свою квалификацию и познакомиться с новыми компонентами Oracle8i и методами работы с ними; разработчики, которые желают познакомиться с методами работы с реляционной системой управления базами данных Oracle8i." (конец цитаты).

По замыслу серии в книге надо было показать, что соответствующими информационными технологиями можно овладеть быстро, легко и просто. Честно говоря, такие обещания всегда настораживают специалиста. Во всяком случае, до сих пор мне не удалось познакомиться ни с одной книгой, действительно способной помочь освоить предмет так легко и быстро, как было обещано в предисловии. Да, действительно, основы PL/SQL можно изучить за два полных учебных дня (без объектной опции, с явно недостаточным количеством примеров, обязательно – с преподавателем, и при условии, что слушатели – это подготовленные программисты).

Есть мудрая поговорка: "Слишком хорошо - это тоже плохо!". У меня сложилось впечатление, что получилась несколько поверхностное соединение материалов по всем Oracle-технологиям сразу, и для разработчиков, и для администраторов приложений, и для администраторов и операторов баз данных, и для конечных пользователей, и даже для аналитиков. И все это изложено на крайне простых примерах, что само по себе не плохо, хотя "иногда простота хуже воровства". Просмотрев эту книгу, я с удивлением обнаружил, что, действительно, все понятно и просто. Непонятно только, почему столько труда и времени затрачивают люди для повышения своей квалификации в Oracle-технологиях. Чтобы не быть голословным, процитирую несколько предложений из предисловия и прокомментирую их на своем прочтении книги: цитата: "начинаются с изложения основных сведений, а потому знание Oracle не обязательно" - попробуйте без знания архитектуры Oracle или языка SQL сразу же разобрать приведенный пример создания объектного типа (стр.28 - всего лишь восьмая страница содержательного текста); цитата "здесь приводится исчерпывающее описание языков SQL и PL/SQL" - для ознакомления с языками SQL и PL/SQL автор отводит в приложениях Б ("SQL ? краткое учебное пособие") и В ("Основы языка PL/SQL") менее 60 страниц, а в "Более сложных SQL-запросах" (приложение Г) самым сложным представляется использование функций, соединений таблиц и подчиненные запросы.

Спрашивается тогда, для чего существует большое количество очень толстых и почти неповторяющиеся книг разных Oracle-авторов, посвященных SQL, PL/SQL и более сложным приемам программирования на этих языках, если достаточно менее сотни станиц, чтобы изложить весь предмет?!! Например, две лишь частично повторяющиеся книги Скотта Урмана “Программирование на языке PL/SQL” и “Новые возможности программирования на языке PL/SQL”, каждая по 600 с лишним страниц, на мой взгляд, не содержат ничего лишнего. Есть большое количество блестящих книг по программированию на PL/SQL Стивена Ферстайна. Практически ни одна статья этого автора в Oracle Magazine не остается непереведенной и неопубликованной в русской редакции журнала, но, к огромному сожалению, до сих пор не вышло ни одной его книги на русском языке.

цитата "В отличие от других книг о языках программирования, здесь вы не найдете длинных листингов с кодом программ…" - трудно сказать достоинство это или недостаток, но автор явно чуть-чуть лукавит. Конечно, если все листинги короче двух страниц считать короткими, то к этому утверждению трудно придраться. Книга богато украшена и листингами различных размеров (например, глава 3 - два листинга по 1,5 стр., главы 7,10 по 10 листингов) и рисунками (гл. 3 - 91 рис., прил.Г - 36 рис.), на которых в большом количестве изображены те же листинги, правда, короткие - с размер экрана дисплея. Ну и, в конце концов, странно прочитать такую фразу в книге с названием "Oracle 8i в примерах".

Почти как всегда, к сожалению, нельзя обойтись без терминологических замечаний. Так, на стр. 362 "Основы языка PL/SQL" все внутренние структуры PL/SQL-блока тоже называются блоками. Трудно сказать, является ли это неграмотностью автора или переводчика, однако это не просто крайне неудобно и вводит начинающего в заблуждение, это просто грубейшая терминологическая ошибка. Если обратиться к первоисточнику, то есть официальной документации Oracle, то Вы прочитаете, что “PL/SQL block has three parts: a declarative part, an executable part, and an exception-handling part”, причем слово part принято переводить в данном случае именно как раздел, и никак иначе. PL/SQL-блок состоит из трех разделов: декларативного, исполнимого и обработки исключений. А последние два раздела могут содержать любое количество встроенных подблоков. Отмечу токже, что термин "поле" можно использовать для определения столбца таблицы при разработке формы на Developer, но нельзя при описании SQL-запроса. Это уже претензии к научному редактору, работа которого оставляет желать лучшего.

Если говорить о книге в целом, то к ней надо подходить, имея представление о различиях отечественного и западного технического менталитета и технического образования. Поэтому обращаясь к отечественным инженерам, научным сотрудникам, студентам, IT-менеджерам: я не стал бы рекомендовать ее новичкам для глубокого самостоятельного изучения Oracle; для Oracle-профессионалов, на мой взгляд, в ней нет ничего нового и полезного; эта книга хорошо может пригодиться для тех, кому действительно надо быстро что-то сделать в среде Oracle в условиях уже установленного программного обеспечения, спроектированной и наполненной базы данных. Или для тех, кому надо в целом охватить большую часть спектра Oracle-технологий, не особо заботясь о доскональной правильности предлагаемого текста. Конечно, потом надо будет все много, правильно и последовательно изучить, но на первый раз вполне хватит и этого поверхностного обзора. Только читать его нужно, не очень вдумываясь, чтобы проскочить на большой скорости ошибки и недосказанности; и, наконец, последнее. В каждой книге может найтись описание какого-то приема или необычный, но очень полезный совет. Если у кого-то есть время и желание перелопатить гору руды ради крупицы чего-то нового и необычного (если, конечно, оно там есть), то можно считать, что книга нашла своего читателя.

Виктор Абрамов, научный редактор журналов "Мир Oracle" и "Oracle Magazine/Русское Издание", профессиональный разработчик Oracle-приложений Мнение редактора и профессионального АБД Oracle "Беда, коль сапоги начнет тачать пирожник…" Это первая самостоятельная книга Дэна Хотки - довольно известного Oracle-писателя по многим отдельным публикациям, по соавторству в многих книгах, например, в изданной тем же "Вильямсом" лучшем, на мой взгляд, на русском языке руководстве по администрированию Oracle - "Использование Oracle8/ Oracle8i. Специальное Издание". И если говорить полностью откровенно, то "Oracle 8i в примерах" - неплохая книга, вполне отвечающая своему назначению и сегменту рынка - научно-популярное издание. Вот только нет для нее у нас читателя. Время сейчас не очень подходящее для освоения научно-популярной литературы, его не хватает даже для чтения книг и статей по профессии.

Но эпиграф моего добавления к рецензии В.Абрамова не об этом. Я не могу рекомендовать эту книгу даже как научно-популярное издание, поскольку обнаружил в ней многочисленные ошибки и неточности переводчика (Ю.Гордиенко) и научного редактора (В.Александров). Трудно, конечно, не имея под рукой оригинала, выявить терминологические сбои, допущенные при переводе и редактировании (вполне могут случиться, и авторские ошибки, и типографские опечатки), но такого их обилия, такого незнания Oracle (в чем трудно заподозрить автора) я уже давно не встречал. Перечислить хоть половину своих пометок на полях этой книги, что заново ее отредактировать. Поэтому ограничусь самыми "горячими" для меня примерами: журнал redo log един, хотя поддерживается многими (как минимум двумя) файлами и предназначен не для отката (roll back), а для наката (roll forward) в разной тяжести процессах восстановления базы данных или для обеспечения базы standby. Этой составляющей базы данных Oracle так и не придумали удовлетворительного русского названия, но журналом отката его уже давно не называют; "функция COUNT(*) может использоваться вместе с предложнием WHERE в команде DELETE" (стр. 338) - может быть, ошибка автора, может, переводчика, но куда смотрел редактор?!! список типов объектов базы данных (стр. 341) не полон: отсутствуют роли, связи баз данных, сегменты отката и др. - грамотный редактор должен был сделать примечание; "DATE - поле даты: от 1/1/4792 до нашей эры до 12/31/99 нашей эры" (стр. 343) - редактор, где Вы ?!! "Предложение CACHE указывает количество последовательностей (!), которые будут сгенерированы и сохранены в памяти…" (стр. 351) - полная беспомощность переводчика и редактора, поскольку на следующей же странице имеется правильное положение: "По умолчанию кэшируется 20 членов последовательности."; "Составной ключ представляет собой один или несколько столбцов, которые расположены в порядке приоритета в начале каждой таблицы…" (стр. 24) - это в реляционной-то базе данных!!! "Параметр pctthershold сообщает …, если данная строка превышает размер блока на указанное число процентов." (стр. 212) - шедевр, сотворенный переводчиком и редактором! "…пример использования команды ALTER TABLESPACE для создания табличного пространства." (стр. 142) и так далее.

Я не придираюсь, хочу только спросить, почему за перевод и редактирование Oracle-литературы берутся люди, некомпетентные в этой области?! Поэтому следом за В.Абрамовым я могу рекомендовать эту книгу лишь для скорочтения, когда не видны неточности и ошибки, которые могут нанести вред новичкам и вызвать, скажем мягко, смех у профессионалов.

Анатолий Бачин, главный редактор OM/RE, профессиональный АБД Oracle


17.08.2004
КомпьютерПресс
Наталия Елманова, Николай Прокофьев
http://www.compress.ru/Article.asp?id=2780

Еще одна книга из серии «На примерах», также представляющая собой описание конкретного проекта, написана одним из ведущих специалистов компании Quest Software, продукты которой известны многим пользователям Oracle и SQL Server, и последовательно рассказывает о процессе создания проекта, причем предполагается, что читатель ранее не сталкивался с Oracle. В процессе чтения книги можно ознакомиться с проектированием и созданием базы данных, со средствами создания форм и отчетов, с утилитами администрирования, средствами оптимизации работы сервера, а также со средствами для создания Web-приложений на основе имеющейся базы данных.

Книга адресована разработчикам, планирующим быстро начать работу над проектом приложения с использованием Oracle 8i.




Rambler Top100