| |
Oracle для профессионалов
Вышел уже и второй том моего перевода. В нем я обещал размещать материалы
о дальнейшей судьбе книги, информацию о найденных опечатках и т.п. на этой
странице. Настало время выполнить обещание.
Со структурой данной страницы я еще не определился. Поэтому пока поступим
так. Если вы хотите задать вопрос или прокомментировать прочитанное открыто,
присоединяйтесь к обсуждению
на сайте SQL.ru.
Если же хотите высказать что-то лично мне, шлите сообщение по электронной почте.
Исходный код примеров
Исходный код примеров в оригинале можно загрузить
с этой страницы
(в сентябре вышло второе издание, в издательстве APRESS...)
Обнаруженные опечатки и ошибки
Пока мне известно про следующие опечатки, неточности и сомнительные
моменты в первой книге:
-
Стр. 26:
В листинге внизу страницы неправильно указано имя поля записи. Вместо:
6 dbms_output.put_line(x.name)
должно быть:
6 dbms_output.put_line(x.ename)
-
Стр. 31:
В первом пункте списка вместо DEFINE EDITOR=VI
должно быть DEFINE _EDITOR=vi. Т.е. имя переменной, задающей
стандартный редактор для SQL*Plus, должно начинаться с подчеркивания,
а имя редактора должно быть в нижнем регистре - в ОС UNIX имена файлов
зависят от регистра... Спасибо
за поправку ;).
Мне стыдно...
-
Стр. 40:
В начале страницы вместо "завершенные в строк проекты" должно быть
"завершенные в срок проекты".
-
Стр. 47:
Внизу страницы вместо "записи доя сотрудника" должно быть
"записи для сотрудника".
-
Стр. 54:
Третий абзац, в середине страницы, вместо "пишущие саенсы" должно быть
"пишущие сеансы".
-
Стр. 71:
Первый абзац после перечисления: вместо "к конктрентой операционной
системе" должно быть "к конкретной операционной системе" (как
такая фигня могла получиться - просто не представляю!).
-
Стр. 95:
Первый абзац: вместо "Oracleсведения" должно быть
"Oracle сведения".
-
Стр. 116:
Третий абзац, вверху страницы, вместо "имеет весьма невелик" должно быть
"весьма невелик".
-
Стр. 161:
У меня в 9.2.0.1.0 запрос выдает следующие заголовки столбцов:
SESSION_ID OWNER NAME
---------- ------------------------------ ------------------------------
TYPE MODE_HELD MODE_REQU
---------------------------------------- --------- ---------
Так что, в книге столбцы OWNER и NAME "склеились", и ширина столбцов не
соблюдается...
-
Стр. 175:
Предпоследний абзац, в скобках после TPC-C.
Вместо "набор текстов", должно быть "набор тестов".
-
Стр. 232:
Первая строка второго абзаца снизу.
Вместо "это пример", должно быть "этот пример".
Вместо "не 300 блоков, а 600," должно быть "не 300 блоков, а 6000,".
-
Стр. 267:
В строке 37 листинга имело бы смысл вместо to_number использовать
to_char, или вообще обойтись без явного преобразования типов.
-
Стр. 268:
В комментариях ко второму листингу вместо "возвращаетблок"
должно быть "возвращает блок".
-
Стр. 310:
В последнем абзаце вместо "поддерживаюттребования" должно быть
"поддерживают требования".
-
Стр. 338:
В первой строке последнего абзаца вместо "объектным таблицами"
должно быть "объектными" таблицами.
-
Стр. 344:
На рисунке на втором уровне индекса не указан диапазон <20..10.
-
Стр. 364:
Вместо ALTER SYSTEM для изменения значения указанных параметров логичнее
использовать ALTER SESSION, по крайней мере в Oracle 9.2.
В этом же абзаце строка начинается с дефиса - вопиющая ошибка верстки!
В последнем абзаце перед листингом логичнее было бы: "из пользовательской
схемы SCOTT"...
-
Стр. 370:
В конце листинга строка:
2 /
лишняя
-
Стр. 436:
Второй пункт списка правил выбора версии EXP и IMP:
Вместо "старшей из двух версий" надо "старейшей из двух версий".
-
Стр. 471:
В конце текста управляющего файла load.ctl вместо:
"y_to_date(:last_updated)"
должно быть
"my_to_date(:last_updated)"
-
Стр. 479:
В результатах запроса в начале страницы пропущена строка:
10 SALES This is the Sales
-
Стр. 549:
Косая черта в операторе создания триггера должна идти с новой строки
-
Стр. 562-563:
В таблицах вместо хэш должно быть хеш.
-
Стр. 563:
В столбце "Поле" таблицы должно быть hv вместо ha.
-
Стр. 617:
В комментарии наклонным после оператора создания триггера вместо
"Триггер было создан" должно быть "Триггер был создан".
-
Стр. 637:
В третьей строке снизу первого абзаца вместо
"или чрез роль" должно быть "или через роль".
-
Стр. 655:
Внизу страницы вместо "Ппрограмма" должно быть "Программа", да и сам
этот термин из предметного указателя имело бы смысл перенести на
следующую страницу.
Во второй книге опечатки, неточности и сомнительные моменты тоже есть:
-
Стр. 72:
Во второй строке первого абзата вместо HIGHTEST_PAID следует читать
HIGHEST_PAID.
-
Стр. 80:
В первом абзаце после слов "Мне кажется" поставлена точка, а должна быть запятая.
-
Стр. 265:
В третьем абзаце последнее предложение, "...каждая строка со значением
TOKEN_TEXT=1...", очевидно, следует читать "...каждая строка со
значением TOKEN_TYPE=1...".
-
Стр. 656:
Во втором абзаце (после листинга) вместо "до заданной длины проблемами"
должно быть "до заданной длины пробелами".
-
Стр. 659:
В первой же строке вместо "Временн е" должно быть "временные".
-
Стр. 737:
Во второй строке вместо "прсотрения" должно быть "построения".
Про терминологию...
Для тех, кого это смущает, сообщаю, что термин "partitioning" я переводил
как "фрагментация" сознательно, поскольку именно этот термин для обозначения
процесса размещения таблицы в нескольких пространствах хранения
(в Oracle - табличных пространствах) и использовался в СУБД, где он
появился раньше, чем в Oracle - в СУБД Informix. Те, кому он кажется
неудачным и двусмысленным, могут свободно заменить его в соответствующем контексте
своим любимым термином "секционирование" - смысл от этого не пострадает...
И еще. Давайте дождемся первого в этом году выпуска русской
редакции Oracle Magazine. Там, вероятно, будет обсуждаться вся использованная
в книге терминология. Пока же почитайте, почему термин
"фрагментация"
очень даже имеет право на использование в соответствующем контексте.
| |