Oracle Developer👨🏻‍💻
3.22K subscribers
609 photos
68 videos
2 files
487 links
🔝 канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура и многое другое...

Backend-pro.ru - обучение по различным программам, связанных с backend-разработкой для ФЛ и ЮЛ.

Отец-основатель: @denis_dbd Кивилёв Денис
Download Telegram
"Проектирование БД: основы, этапы". Часть 2.

Друзья, всем привет! 😊

Сегодня продолжим пятничный разговор о проектировании БД.

Итак, наша БД почти готова, что же дальше?

5️⃣ Настройка базы данных

Помимо работы DBA (настройка файлов данных, кэширования, резервирования и т.д.), на этом этапе требуется ещё и настройка прав доступа. Это не самая тривиальная задача :) И в моей практике не раз было такое, когда у всех разработчиков и технических специалистов изначально был доступ под прикладным пользователем (владельцем схемы), но потом чьим-то волевым решением эта вакханалия прекращалась и настройка прав и привилегий становилась ещё более нетривиальной задачей :) Поэтому лучше заняться этим сразу.

6️⃣ Тестирование и оптимизация

Перед вводом БД в эксплуатацию, нам нужно убедиться, что она работает корректно и эффективно, целостность данных соблюдена, бизнес-правила выдерживаются. Также есть смысл проверить реальные планы выполнения ключевых запросов. И в этом, конечно, очень помогут авто- или unit-тесты.

7️⃣ Внедрение и сопровождение

На этом этапе мы переводим базу данных в эксплуатацию и обеспечиваем ее поддержку. В первую очередь нужно провести обучение ключевых бизнес-пользователей и обеспечить мониторинг производительности. Если Заказчик на этом этапе остался вами доволен, это очень круто! На практике, к сожалению, такое бывает довольно редко :( Обычно здесь всплывает ещё ряд незаявленных требований, почему я и написал несколько раз про масштабируемость.

8️⃣ Документирование

Думаю, многим из нас знакома ситуация, когда при выходе на новое место работы мы внезапно обнаруживаем, что к БД, которую нам предстоит дорабатывать и поддерживать, практически нет никакой документации. Чтобы избежать таких ситуаций, стоит хотя бы самому по возможности создавать документацию для поддержки и дальнейшего развития БД. На этом этапе стоит описать структуры БД (таблицы, связи между ними), задокументировать бизнес-правила и ограничения, создать руководства для администраторов и пользователей.

Каждый из этих этапов важен для создания эффективной, надежной и масштабируемой базы данных.

### Практическое задание

✍️Задача

Чтобы закрепить пройденный материал, предлагаю решить следующую задачку: нужно спроектировать БД для службы заказа такси.

Ключевые требования:

1. API должно предоставлять:

список водителей на смене;
список авто на линии;
марку, модель и год выпуска авто.

2. При заказе такси нужно указывать:

откуда и куда нужно подать машину;
способ оплаты;
сумму поездки (реализация самой калькуляции в задачу не входит, нужно просто ввести сумму);
заказ создаётся в определённом статусе, который с течением времени меняется ("создан" -> "отменён", "создан" -> "ожидает" -> "в процессе" -> "выполнен" и т.п.);
после поездки и водитель, и пассажир должны иметь возможность оценить заказ.
3. Для целей маркетинга важно учитывать, через какой канал регистрируются заказы (звонок/приложение/сайт/свободная посадка).

Можно задавать в чатике уточняющие вопросы :)

Лучшее решение будет опубликовано в пятницу.

#Oracle #DBD #проектирование #Pavel_Dolganov
Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54
"От марафона до экспертности: итоги 13-го потока курса PL/SQL"

Друзья, всем привет! 👋

Незаметно прошёл месяц с окончания 13 потока курса "Мастер Oracle PL/SQL". Мы решили вспомнить, как это было, тем более, что нам есть, что вспомнить 😉

Итак, поехали!

🏃Марафон

Перед стартом курса мы провели 4х-дневный марафон прямых эфиров. Это было впервые в нашей практике. Тем неожиданнее и приятнее результат: на марафон записалось около 400 человек! Мы успели провести: ▫️онлайн-тестирование;
▫️организовали live-кодинг;
▫️поговорили про юнит-тесты;
▫️обсудили ключевые софт-скиллы;
▫️поделились записями с собесов на мидловые и сеньорские позиции;
▫️в чате шло очень живое общение.

По итогам марафона к нам пришли студенты не только на PL/SQL, но и на курс по оптимизации. Впечатляюще!

📊 Чем можно гордиться

Если меня спросят, чем нам запомнился 13 поток, первое, что я назову: ребята сами организовали процесс сдачи домашек через Git.
Дело в том, что наша обучающая платформа заточена под сдачу ДЗ в виде обычных файлов. Это не всегда удобно, особенно, когда мы уже на финишной прямой курса. Мы с Пашей обсуждали переход на Git, но нас всегда что-то останавливало. А тут ребята сами вызвались, и не просто молча перешли на Git, а на одной из практик продемонстрировали новичкам, как это работает. Круто, когда внутри группы есть диалог и взаимовыручка!

🌟 Желание двигаться дальше

Ещё одним приятным бонусом стала завершающая встреча. На ней ребята признались, что не хотят останавливаться на достигнутом и прощаться с нами. Двое студентов сразу же записались на курс по оптимизации, а несколько других планируют сделать это чуть позже. Это показывает, что курс был не просто полезным, а вовлекающим и вдохновляющим.

💪 Soft Skills — ключ к успеху

Этот поток стал первым, где мы добавили карьерного консультанта и психолога.
И это оказалось отличным решением! На блоке с психологом ребята затронули ключевые темы, такие как "синдром самозванца", выгорание, навыки продуктивной коммуникации, и др. У ребят было 4 вебинара плюс разбор индивидуальных запросов. Также один из студентов курса, работая с карьерным консультантом Любой, получил оффер прямо во время обучения. У других в разы увеличилось количество откликов от рекрутеров. Кто из вас тоже хочет, чтобы работодатели боролись за него? 😉

📈 Ваши результаты

Многие из них отметили, что стали увереннее ощущать себя на рынке труда, научились бороться со стрессом и выгоранием, общаться с руководством, перестали бояться просить повышения зп. Вы структурировали свои знания, освоили темы, которые тяжело давались, и теперь можете решать сложные задачи. Кто-то сменил работу с ростом зарплаты на 30–50%, а кто-то помогает коллегам разбираться с PL/SQL, ведь теперь он эксперт в этом вопросе 👍

📊 Что дальше?

Эти результаты вдохновляют нас улучшать курс. Мы уже работаем над новыми материалами и форматами. Следующий поток стартует в апреле, и, возможно, это будет единственный набор в этом году. Так что не упустите шанс присоединиться! 💪

Ребята из 13-го (и не только) потока, если вы читаете этот пост, присоединяйтесь к нашему чатику, поделитесь своим мнением о курсе. 💬

#курс #oracle #обучение #plsql #марафон
Канал Oracle Developer | Чатик 💬
👍81🤯1
Почему мой канал стал больше, чем просто технический контент? 💡

Привет, друзья! 👋

Недавно я получил обратную связь: мол, канал превратился в "себя любимого" и рекламу курсов. Да, я слышу вас. Сегодня хочу честно рассказать, почему я веду канал именно так, и что за этим стоит. Спойлер: это не только о рекламе.

Почему я это делаю?

1️⃣ Мой канал — это время и ресурсы

Я работаю полный день, а после этого думаю, какой контент дать вам, чтобы вы могли расти и больше зарабатывать. Это не "хобби в свободное время", это серьёзная работа.
Кроме моего времени, есть ещё команда: монтажёры, админы, редакторы. Каждый пост — это труд нескольких человек, которым я плачу деньги, чтобы вы получали качественный контент.

2️⃣ Информация в интернете устарела или поверхностна

Часто слышу от учеников:
"Мы пытались гуглить, но нигде нет системного подхода."
"Информация, которая нам нужна, просто недоступна или не структурирована."

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

3️⃣ Психология — важная часть карьеры

Почему я стал говорить про самооценку, синдром самозванца и карьерный рост?
Потому что это блоки, которые мешают вам двигаться вперёд не меньше, чем нехватка знаний.

Да, вы можете знать Oracle, но если боитесь просить повышение или не верите в свои силы, вы так и останетесь на одном месте. Наши опросы показывают, что многие подписчики и ученики сидят на одной должности 5-10 лет, получая зарплату не выше 150 тыс. руб. Честно, это обидно видеть, ведь вы можете зарабатывать 300+ тыс. руб.

А теперь давайте по-честному 🤝

Многие из вас приходят сюда просто потреблять. Вы читаете посты, берёте задачи, идеи для роста — и уходите. А когда я говорю про курсы или делюсь личным опытом, начинаются упрёки.

Но позвольте спросить: что вы дали взамен?
🔸Поддержали ли вы канал лайком или репостом?
🔸Поблагодарили ли за полезный контент?
🔸Подумали о том, что я и моя команда вкладываем ресурсы, чтобы вы становились лучше?

Друзья, канал — это не благотворительность. Это вложение времени, денег и сил в ваше развитие. Если вы здесь только за бесплатным, подумайте, сколько работы стоит за каждым постом, видео или задачей.

Почему я продолжаю? 🚀

Я делаю это не для всех. Я делаю это для тех, кто ценит. Тех, кто готов инвестировать в своё развитие и понимает, что бесплатный контент — лишь вершина айсберга.

Если вы хотите просто "почитать для галочки", этот канал не для вас.
Если вы хотите реального роста — оставайтесь. Здесь вы получите и технические знания, и поддержку, и возможность изменить свою карьеру.

Итог

Этот канал — не про меня. Он про вас.
Но чтобы вы получали пользу, нужна взаимность. Если вы здесь только чтобы "потреблять", задайте себе вопрос: что вы делаете, чтобы поддержать тех, кто помогает вам расти?

Друзья, цените труд и ресурсы, вложенные в ваш рост. Если вы понимаете, о чём я говорю, то вам сюда.

Если вы понимаете, о чём я, — оставайтесь. Впереди много полезного и интересного 🔥🚀

#Oracle #развитие #карьера #психология #IT #Denis_Kivillev
Канал Oracle Developer | Чатик 💬
👍26🔥3🆒1
Почему зарплата 110–150 тыс. руб. — это застой, а без обучения расти сложно

Друзья, всем привет! 👋

Давайте поговорим о том, почему зарплата в диапазоне 110–150 тыс. руб. — это не повод для спокойствия, а сигнал к действию. Особенно если вы уже несколько лет на одной позиции, а рост как будто застыл. Кто-то скажет: «Ну и что? Это же неплохие деньги». Но так ли это? Давайте разберёмся! 🔍

Почему это застой? 🤔

1️⃣ Инфляция и рост цен. Каждый год деньги теряют свою покупательную способность. Если вы не повышаете свою зарплату хотя бы на 10–15% в год, в реальных цифрах вы зарабатываете меньше. Например, 150 тыс. руб. сегодня через год будут стоить на 30–40% дешевле. А это уже серьёзный повод задуматься. 💸

2️⃣ Рынок не стоит на месте. На позициях программистов Oracle PL/SQL зарплаты давно перевалили за 200 тыс. руб., а топовые специалисты легко получают 300 тыс. и больше. Не осваивая новые навыки, вы теряете возможность оставаться конкурентоспособным. 📈

3️⃣ Без развития — нет движения. Если вы годами не инвестируете в своё обучение, вы рискуете «застрять». Особенно в IT, где технологии меняются со скоростью света. Искусственный интеллект уже умеет писать код за минуты, и это ещё один повод задуматься. 🧠
В чём главная проблема? ⚠️

Часто причина застоя — это зона комфорта. Вы думаете: «Меня всё устраивает, зачем что-то менять?» Но рынок диктует свои правила: чем выше ваша квалификация, тем выше доход. Бездействие сегодня — это потеря завтра.

Как выбраться из замкнутого круга? 🚀

1️⃣ Поставьте цель. Хотите зарабатывать 200–300 тыс. руб.? Спросите себя: что вы готовы для этого сделать?

2️⃣ Инвестируйте в обучение. Курсы по оптимизации SQL, углублённому Oracle PL/SQL или современным методологиям разработки не только прокачают вас, но и позволят быть востребованным на рынке. 📚

3️⃣ Работайте над софт-скиллами. Умение коммуницировать, уверенно держаться на собеседованиях и презентовать свои результаты играет не меньшую роль, чем технические навыки.

Мы, достаточно много раз, приводили примеры ребят, которые выходили из зоны комфорта и двигались вперед как по з/п так и по карьере 🚀

Итог

Стабильность без развития — это иллюзия. Если вы хотите зарабатывать больше и быть востребованным, начинайте с себя. Каждая инвестиция в обучение приносит дивиденды. Не ждите, пока вас подгонит рынок — действуйте уже сегодня! 💪

#карьера #oracle #развитие #оптимизация
Канал Oracle Developer | Чатик💬
👍10🔥52🦄1
Проектирование БД: основы, этапы. Решение задачи.

Друзья, всем привет! 👋🏻

Как вы помните, в эту пятницу мы обещали опубликовать лучшее решение практической задачки на проектирование БД.

К сожалению, нам прислали не так много вариантов, поэтому выбирать особо не из чего. 🤷‍♂️
Либо задача слишком сложная, либо формат не подошел.

Поэтому мы с Денисом подумали и решили провести в следующий четверг небольшой вебинар. 👨‍💻

На нём я:
🔶разберу решение этой задачи;
🔶расскажу, как выглядит блок проектирования на собеседованиях;
🔶покажу, на что обратить внимание при решении подобных задач;
🔶поделюсь примерами из практики.

Вебинар будет особенно полезен для начинающих разработчиков.
Но мидлам тоже будет, что послушать.
Также вы сможете задать свой вопрос или разобрать свой кейс в прямом эфире.
Заодно посмотрим, насколько вам зайдёт такой формат. 👍

Следите за анонсами, будет интересно. А пока можете накидать в наш чатик, о чём ещё вы хотели бы поговорить на вебинаре.

До встречи в эфире! 🌐

#Oracle #DBD #проектирование #вебинар #анонс #Pavel_Dolganov
Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍3
"PL/SQL для начинающих: краткий гид и полезные советы"

👋 Друзья, всем привет!
Сегодня необычный пост, и, возможно, кому-то из вас он покажется слишком простым.
Но, как показывает практика, в наш канал периодически добавляются начинающие Oracle-разработчики.
Уверен, им будет полезно иметь под рукой такой обзорный текст.

🚀 Итак, поехали!

1️⃣ Зачем нужен PL/SQL?

PL/SQL — это языковое расширение для SQL. С его помощью мы можем решить задачи, которые нельзя решить силами простого SQL.

2️⃣ Какие возможности даёт PL/SQL?

PL/SQL поддерживает:
🔸 Блоки
🔸 Кастомные типы данных
🔸 Переменные и константы
🔸 Управляющие конструкции
🔸 Коллекции
🔸 ООП
🔸 Функции/процедуры
🔸 Пакеты
🔸 Триггеры
🔸 Обработку ошибок
🔸 Расписания

3️⃣ Чем хорош PL/SQL?

Интеграция с SQL

🔸для разработки нам не требуются специальные знания;
🔸мы можем встраивать SQL-запросы напрямую в код.

Высокая производительность

🔸выполнение блоков PL/SQL на сервере снижает нагрузку на сеть и экономит время;
🔸поддержка пакетных операций (FORALL, BULK COLLECT) минимизирует переключение контекста между SQL и PL/SQL.

Поддержка транзакций

Одно из требований ACID — согласованность изменений.
В PL/SQL у разработчика есть возможность гибкого управления транзакциями, что позволяет писать качественный и производительный код.

Оптимизация под Oracle

PL/SQL активно использует различные фичи Oracle. Например, использование пакетов вместо отдельных функций или процедур даёт ощутимый выигрыш в производительности.

4️⃣ Зачем нужно знать PL/SQL?

📚 История Oracle на постсоветском пространстве насчитывает несколько десятилетий и различных версий этой СУБД. Один и тот же функционал может быть реализован самыми разными способами.
Поэтому полноценная поддержка, рефакторинг, развитие и миграции кода невозможны без уровня хотя бы middle+.

💡 Кроме того, как мы выяснили ранее, PL/SQL — это не просто язык разработки, это значительная часть экосистемы Oracle. Владение этим инструментом открывает перед вами все возможности этой СУБД.

5️⃣ О каких возможностях речь?

Помимо базовых возможностей, описанных выше, это ещё и:

🔸Oracle AQ (Advanced Queues);
🔸Динамический SQL;
🔸Использование встроенных пакетов Oracle (например, работа с файлами или HTTP);
🔸Компиляция функций в особенном режиме, например, DETERMINISTIC или PARALLEL_ENABLE;
🔸Компиляция кода на других языках, например, C или Java;
🔸Условная компиляция ($if, $else и т.п.);
🔸Поддержка типов данных XML, JSON
🔸Прочие возможности, о которых рассказывается на курсе PL/SQL Advanced.

Заключение

🔥 Друзья, это очень краткая выжимка возможностей PL/SQL.
Более подробно о них мы рассказываем в нашем курсе "Мастер Oracle PL/SQL".

Базовые возможности языка составляют основу программы, а дополнительные фичи мы разбираем с ребятами на факультативных встречах.

📩 Более подробную информацию о программе курса можно узнать у нашей поддержки.
📝 А если вам интересно проверить свой уровень, то уже в этот понедельник мы опубликуем небольшой тест на знание PL/SQL.

#Oracle #Junior #PLSQL #Pavel_Dolganov
Канал Oracle Developer | Чатик 💬
👍172
This media is not supported in your browser
VIEW IN TELEGRAM
Тест по PL/SQL

Коллеги, всем привет!

Давайте разомнемся в понедельник 🏋🏻‍♀️
10 вопрос по PL/SQL для уровня junior/middle.
Чекните свой уровень 😊

Погнали!
🔥11
Forwarded from Pavel V
Какой из следующих примеров не является литералом?
Anonymous Quiz
8%
'2023-10-01'
6%
3.1415926
33%
TO_DATE('2023-10-01', 'YYYY-MM-DD')
53%
NULL
Forwarded from Pavel V
👍1
Forwarded from Pavel V
Что будет выведено на экран в результате работы анонимного блока на скрине выше?
Anonymous Quiz
72%
1: Alice 2: Bob
3%
1: Alice 2: Alice
24%
Будет ошибка компиляции из-за одинакового названия идентификаторов
1%
1: Alice 2: <NULL>
Forwarded from Pavel V
Forwarded from Pavel V
Forwarded from Pavel V
Forwarded from Pavel V
Что произойдёт в результате выполнения анонимного блока на скрине выше?
Anonymous Quiz
12%
Зависит от версии Oracle
23%
Выдаст ошибку ORA-06550
4%
Выведет числа от 1 до 3 с шагом 1
61%
Выведет числа от 1 до 3 с шагом 0.5
Forwarded from Pavel V
Создан пользовательский объект на уровне схемы: CREATE TYPE person_typ AS OBJECT (...).
Можно ли сравнить между собой два экземпляра person_typ?
Anonymous Quiz
30%
Можно, сравнивая попарно значения атрибутов
12%
Можно, если реализовать метод сравнения MAP или ORDER
48%
Можно в обоих вышеперечисленных случаях
10%
Нет
Forwarded from Pavel V