Написал учебное пособие по Oracle
Просмортел по диагонали, но сразу бросается в глаза:
1. Такое ощущение, что прыгаешь с темы на тему - нет логики построения всего документа.
2. Определения бы поподробнее расписать. Хотя бы сокращения. + надо расписать хотя бы базовый синтаксис, а то смысл пропадает вообще, если все равно по любому поводу придется лезть в документацию
3. Жаргон.
Как внутренняя методичка, может, и пойдет, но и то вряд ли. Самый лучший способ - проверить на целевой аудитории, т.е. тех, кто оракл в глаза не видел. Например, дать почитать какому-нибудь не-айтишнику с работы.
1. Такое ощущение, что прыгаешь с темы на тему - нет логики построения всего документа.
2. Определения бы поподробнее расписать. Хотя бы сокращения. + надо расписать хотя бы базовый синтаксис, а то смысл пропадает вообще, если все равно по любому поводу придется лезть в документацию
3. Жаргон.
Как внутренняя методичка, может, и пойдет, но и то вряд ли. Самый лучший способ - проверить на целевой аудитории, т.е. тех, кто оракл в глаза не видел. Например, дать почитать какому-нибудь не-айтишнику с работы.
Сгодилось в качестве внутренней методички в дополнение к проведенному обучению.
Если расписывать подробности, детальный синтаксис, то будет не 68 страниц, а 200 страниц, и выйдет пособие, каких много.
А тут вроде как не вникая в суть, обучаемый за пару недель узнает всякие примочки, которые многие и после 5-10 лет работы так и не узнали. Выбраны именно те примочки, которые автор считает полезными на практике.
Если расписывать подробности, детальный синтаксис, то будет не 68 страниц, а 200 страниц, и выйдет пособие, каких много.
А тут вроде как не вникая в суть, обучаемый за пару недель узнает всякие примочки, которые многие и после 5-10 лет работы так и не узнали. Выбраны именно те примочки, которые автор считает полезными на практике.
У тебя получился не tutorial, а cookbook.
У тебя получился не tutorial, а cookbook.Причем для быдлокодеров.
Про оптимизацию лучше бы вообще не писал, чем такое.
имхо
1) достаточно разделить администраторский мануал от селектов
2) про cast лучше написать что просто преобразует один типа в другой. ато можно понять что используется только для строка - число, число -строка
3) по поводу копирования таблицы. лучше написать insert into T2 select * from T1 ато ведь так и будут везде с валуями писать.
4) оператор (+) нужен. тем более что именно его оракл рекомендует
5) дать ссылку на подробное описание оконных функций
6) кратко рассказать о cube итд. вконце привести пример как одним селектом выбрать данные и внизу вывести итоги
7) как вывести имена тесок, количество по каждому имени и! внимание! одно поле где перечислены все фамилии тесок. ну или наоборот однофамильцы и их имена.
8) сегодня заметил что id NOT IN (select) преобразуется в итоге интерпритатором в NOT id IN (select). просто прикольно.)
9) раз уж зачем-то рассказал как проверить коннект к базе, добавил бы строку что при отсутствии коннекта проверить поднят ли лисенер. для новичка в 99% случаев эта строка сильно бы упростила жизнь.
а ваще зачет. особенно по административным функциям.
вот вопрос. где ты использовал иерархический запрос последний раз? ни разу его не применял.
1) достаточно разделить администраторский мануал от селектов
2) про cast лучше написать что просто преобразует один типа в другой. ато можно понять что используется только для строка - число, число -строка
3) по поводу копирования таблицы. лучше написать insert into T2 select * from T1 ато ведь так и будут везде с валуями писать.
4) оператор (+) нужен. тем более что именно его оракл рекомендует
5) дать ссылку на подробное описание оконных функций
6) кратко рассказать о cube итд. вконце привести пример как одним селектом выбрать данные и внизу вывести итоги
7) как вывести имена тесок, количество по каждому имени и! внимание! одно поле где перечислены все фамилии тесок. ну или наоборот однофамильцы и их имена.
8) сегодня заметил что id NOT IN (select) преобразуется в итоге интерпритатором в NOT id IN (select). просто прикольно.)
9) раз уж зачем-то рассказал как проверить коннект к базе, добавил бы строку что при отсутствии коннекта проверить поднят ли лисенер. для новичка в 99% случаев эта строка сильно бы упростила жизнь.
а ваще зачет. особенно по административным функциям.
вот вопрос. где ты использовал иерархический запрос последний раз? ни разу его не применял.
4) оператор (+) нужен. тем более что именно его оракл рекомендуетУже 2 версии как не рекомендует.
где ты использовал иерархический запрос последний раз? ни разу его не применял.Сильно зависит от способа построения справочников и конкретной бизнес-области.
А где про план запроса то?
По оформлению мешанина: для SQL запросов то верхний регистр, то нижний.
Жаргонизмы действительно зло.
А так неплохо, хотя ничего нового.
вот вопрос. где ты использовал иерархический запрос последний раз? ни разу его не применял.Применяется при работе с adjacency деревьями. Если ты не применял, значит работаешь скорей всего в банке, где они нафиг не нужны

Йа работаю в банке, применяю каждый день. Хотя бы для генерации сплошного массива чисел или дат. Что, ручками что ли писать код для создания таблицы со 100 партициями?
ээ это в MS скуле помню так надо было извращаться, а в оракле это делается по-другому, Татьяна!
И как же это делается в оракле?
Я тоже всегда пишу что-то вроде
select level - 1 + trunc(sysdate) as date_value from dual connect by level <= :x
Я тоже всегда пишу что-то вроде
select level - 1 + trunc(sysdate) as date_value from dual connect by level <= :x
наверно я через чур извращён конвейерными функциями и написанием на PL ёбаных крокодилов


плюсую, использовал именно для того же.
ещё один sql-запрос на 90 строк и я попрошу зарплату кокаином.
для чего только...
Рука лицо, пепел голова, у нас пока десятый оракл, и даже не R2.
все хуйня. мой последний на 400 вышел
все хуйня. мой последний на 400 вышелНадеюсь, это не связано с незнанием иерархических запросов
select 1 x from dual
union all
select 2 from dual
union all
select 3 from dual
union all
...
исключительно так
select
1
from
dual
union
all
...
нет, не связано)
400 строк забористым шрифтом если не включать функции на 100500строк
select
1
from
dual
union
all
...
нет, не связано)
400 строк забористым шрифтом если не включать функции на 100500строк
Красава, распечатал, читаю.
можно упростить же!
WITH digit AS
select 0 x from dual
union all
select 1 from dual
union all
select 2 from dual
union all
...
select 9 from dual
SELECT d1.x*10+d2.x FROM digit d1, digit d2

WITH digit AS
select 0 x from dual
union all
select 1 from dual
union all
select 2 from dual
union all
...
select 9 from dual
SELECT d1.x*10+d2.x FROM digit d1, digit d2

а если до 1000 000 надо будет - будешь складывать тоже? 
лучше row_number использовать - код будет почти универсальный

лучше row_number использовать - код будет почти универсальный
Хочешь подготовиться к собеседованию у ?
Оставить комментарий
stm5643616
Выложил его сюда:http://yonbrover.ucoz.ru/_ld/0/1_Oracle_Tutorial.pdf
Пособие не претендует на полноту изложения и затрагивает лишь некоторые аспекты работы с БД Oracle, достаточные на взгляд автора для быстрого старта в области разработки задач на Oracle.
Пособие рассчитано на читателя, который самостоятельно изучил:
- что такое таблицы;
- написание операторов SELECT, INSERT, UPDATE, DELETE;
- внутренние и внешние объединения таблиц (INNER and OUTER JOINS их синтаксис;
- опции группировки и сортировки данных GROUP BY и ORDER BY, агрегатные функции.
Постепенно даются теория и задачи.
Отзывы приветствуются.