Написал учебное пособие по Oracle

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, агрегатные функции.
Постепенно даются теория и задачи.
Отзывы приветствуются.

hprt

Просмортел по диагонали, но сразу бросается в глаза:
1. Такое ощущение, что прыгаешь с темы на тему - нет логики построения всего документа.
2. Определения бы поподробнее расписать. Хотя бы сокращения. + надо расписать хотя бы базовый синтаксис, а то смысл пропадает вообще, если все равно по любому поводу придется лезть в документацию
3. Жаргон.
Как внутренняя методичка, может, и пойдет, но и то вряд ли. Самый лучший способ - проверить на целевой аудитории, т.е. тех, кто оракл в глаза не видел. Например, дать почитать какому-нибудь не-айтишнику с работы.

stm5643616

Сгодилось в качестве внутренней методички в дополнение к проведенному обучению.
Если расписывать подробности, детальный синтаксис, то будет не 68 страниц, а 200 страниц, и выйдет пособие, каких много.
А тут вроде как не вникая в суть, обучаемый за пару недель узнает всякие примочки, которые многие и после 5-10 лет работы так и не узнали. Выбраны именно те примочки, которые автор считает полезными на практике.

okis

У тебя получился не tutorial, а cookbook.

VoodooXP

У тебя получился не tutorial, а cookbook.
Причем для быдлокодеров.
Про оптимизацию лучше бы вообще не писал, чем такое.

Teteshnik

имхо
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% случаев эта строка сильно бы упростила жизнь.
а ваще зачет. особенно по административным функциям.
вот вопрос. где ты использовал иерархический запрос последний раз? ни разу его не применял.

mbolik1

4) оператор (+) нужен. тем более что именно его оракл рекомендует
Уже 2 версии как не рекомендует.

0000

где ты использовал иерархический запрос последний раз? ни разу его не применял.
Сильно зависит от способа построения справочников и конкретной бизнес-области.
А где про план запроса то?
По оформлению мешанина: для SQL запросов то верхний регистр, то нижний.
Жаргонизмы действительно зло.
А так неплохо, хотя ничего нового.

VoodooXP

вот вопрос. где ты использовал иерархический запрос последний раз? ни разу его не применял.
Применяется при работе с adjacency деревьями. Если ты не применял, значит работаешь скорей всего в банке, где они нафиг не нужны :)

816177

Йа работаю в банке, применяю каждый день. Хотя бы для генерации сплошного массива чисел или дат. Что, ручками что ли писать код для создания таблицы со 100 партициями?

kill-still

ээ это в MS скуле помню так надо было извращаться, а в оракле это делается по-другому, Татьяна!

dava

И как же это делается в оракле?
Я тоже всегда пишу что-то вроде
select level - 1 + trunc(sysdate) as date_value from dual connect by level <= :x

kill-still

наверно я через чур извращён конвейерными функциями и написанием на PL ёбаных крокодилов :grin: :grin: :grin:

SergeRRRRRR

плюсую, использовал именно для того же.
ещё один sql-запрос на 90 строк и я попрошу зарплату кокаином.

hprt

для чего только...

816177

Рука лицо, пепел голова, у нас пока десятый оракл, и даже не R2.

Teteshnik

все хуйня. мой последний на 400 вышел

816177

все хуйня. мой последний на 400 вышел
Надеюсь, это не связано с незнанием иерархических запросов :crazy:
select 1 x from dual
union all
select 2 from dual
union all
select 3 from dual
union all
...

Teteshnik

исключительно так
select
1
from
dual
union
all
...
нет, не связано)
400 строк забористым шрифтом если не включать функции на 100500строк

oleg34

Красава, распечатал, читаю.

kill-still

можно упростить же!
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
:lol:

hprt

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

SergeRRRRRR

Хочешь подготовиться к собеседованию у ?
Оставить комментарий
Имя или ник:
Комментарий: