GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
19.6K subscribers
2.12K photos
75 videos
207 files
1.2K links
Разбор задач на проектирование систем 🚀 Канал для системных аналитиков, бизнес-аналитиков, тестировщиков и менеджеров проектов

Админ @getanalyst
Сайт https://getanalyst.ru
Чат t.me/getanalystchat
Начинающим в IT @getanalyststart

РКН №5013005196
Download Telegram
Практический кейс - про банковскую систему и SQL-запросы

В банке обслуживаются клиенты.
Каждый клиент может открыть в банке несколько счетов.
Со счетов клиент банка может делать переводы, оплачивать покупки, может пополнять счет .


Есть банковская система. В ней есть база данных. Как определяю сущности? Внимательно вычитываю текст и ищу сущности - объекты, у которых есть свойства.

Простой пример: пирог
Свойства пирога: тип начинки (фруктовый/овощной), форма (квадрат, прямоугольник или круг), размер

В банковском примере:
В банке (уточнить, 1 или много банков в системе) обслуживаются клиенты.
Каждый клиент может открыть в банке несколько счетов.
Со счетов клиент банка может делать переводы, оплачивать покупки, может пополнять счет (это все
виды его транзакций).

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

Получилась какая-то модель 😀 "Это зачем вообще?" - спросила бы я когда-то.
Но это первый шаг, на пути к пониманию птичьего языка разработчиков. Один из их языков - SQL.
👍9
Давайте посмотрим как действуют разработчики, решая наши задачи.
Они говорят на языке SQL с данными, которые хранятся под капотом в программе.

Нужна форма просмотра списка клиентов в программе. Отобразить надо ID, ФИО клиента и номер телефона.

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

Разработчик, чтобы показать данные пользователям, пишет обращение к БД:.

🔵 SELECT
ID, ФИО, Телефон
FROM
Клиент;


или

🔵 SELECT
ID AS `ID клиента`,
ФИО AS `ФИО клиента`,
Номер телефона AS `Номер телефона клиента`
FROM
Клиент


Пояснение:
▫️SELECT- ключевое слово, означает "Выбрать"
▫️FROM - ключевое слово, означает "Из"
▫️AS - ключевое слово, означает "Как"

Форма запроса:
SELECT ..... FROM .....
ВЫБРАТЬ (параметры) ИЗ (таблиц)

AS используем для переименования колонок в результате. Если будем дествовать без AS, как в первом запросе, то в ответ вернется таблица, как на картинке, без лишних колонок. А если с AS, то названия нужных нам колонок поменяются.

Кажется, что ничего сложного нет.
Давайте теперь вы попробуете написать пару SQL-запросов.
1. Нужна форма просмотра списка счетов в программе. Отобразить надо ID счета, номер счета и дату открытия. Переименовывать столбцы не надо.
2. Нужна форма просмотра списка транзакций в программе. Отобразить надо ID транзакции, ID счета, Сумма транзакции и Дата транзакции. Переименовать первые две колонки в "Идентификатор Транзакции" и "Идентификатор счета".

Ответы в комментарии! 👇
👍9
Ответы 🎓

1. Нужна форма просмотра списка счетов в программе. Отобразить надо ID счета, номер счета и дату открытия. Переименовывать столбцы не надо.

SELECT ID, Номер_счета, Дата_открытия
FROM Счет;

2. Нужна форма просмотра списка транзакций в программе. Отобразить надо ID транзакции, ID счета, Сумма транзакции и Дата транзакции. Переименовать первые две колонки в "Идентификатор Транзакции" и "Идентификатор счета".

SELECT
ID AS `Идентификатор Транзакции`,
ID_счета AS `Идентификатор счета`,
Сумма,
Дата_транзакции
FROM
Транзакция;


Ставим реакции:
2 правильных ответа - ❤️
1 правильный ответ - 👍
Еще заданий - 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥7
А теперь давайте напишем SQL-запрос на получение списка счетов клиентов, чтобы в ответе были:

▫️номер счета,
▫️ФИО клиента,
▫️баланс счета,
▫️тип счета,
▫️дата открытия счета,
▫️дата закрытия счета.


SQL-запрос на получение списка счетов клиентов с необходимыми полями:

SELECT
Счет.Номер_счета AS Номер счета,
Клиент.ФИО AS ФИО клиента,
Счет.Баланс AS Баланс счета,
Счет.Тип AS Тип счета,
Счет.Дата_открытия AS Дата открытия счета,
Счет.Дата_закрытия AS Дата закрытия счета
FROM
Счет
INNER JOIN Клиент ON Счет.ID_клиента = Клиент.ID;

Пояснение:
• SELECT - выбираем поля, которые нам нужны.
• Счет.Номер_счета - номер счета из таблицы Счет.
• Клиент.ФИО - ФИО клиента из таблицы Клиент.
• Счет.Баланс - баланс счета из таблицы Счет.
• Счет.Тип - тип счета из таблицы Счет.
• Счет.Дата_открытия - дата открытия счета из таблицы Счет.
• Счет.Дата_закрытия - дата закрытия счета из таблицы Счет.
• FROM - указываем таблицы, из которых берем данные.
• INNER JOIN Клиент ON Счет.ID_клиента =
Клиент.ID - объединяем таблицы Счет и Клиент по полю ID_клиента из таблицы Счет и полю ID из таблицы Клиент.

В INNER JOIN важен порядок, так как определяет порядок объединения таблиц и влияет на то, какие данные будут использованы при объединении.

В приведенном запросе INNER JOIN Клиент ON Счет.ID_клиента = Клиент.ID сначала выбираются данные из таблицы Счет, а затем объединяются с таблицей Клиент по условию равенства ID_клиента из таблицы Счет и ID из таблицы Клиент.

Если бы порядок был изменен на INNER JOIN Счет ON Клиент.ID = Счет.ID_клиента, то сначала выбирались бы данные из таблицы Клиент, а затем объединялись с таблицей Счет.

Оба запроса могут вернуть одинаковый результат, но порядок в INNER JOIN может быть важен, когда в запросе есть операторы WHERE, GROUP BY и др.


А теперь вы 😉

Напишите SQL-запрос который возвращает список всех транзакций в составе параметров: ID транзакции, номера счета, идентификаторов клиента, тип транзакции, сумма, дата

Ответы в комментарии 👇
👍71
Ответ на задание 🎓

Напишите SQL-запрос который возвращает список всех транзакций в составе параметров: ID транзакции, номера счета, идентификаторов клиента, тип транзакции, сумма, дата

SELECT
ID AS
Номер транзакции,
Счет.Номер_счета AS
Номер счета,
Счет.ID_Клиента AS
Идентификатор клиента,
Тип_транзакции AS
Тип транзакции,
Сумма AS
Сумма,
Дата_транзакции AS
Дата
FROM
Транзакция
INNER JOIN Счет ON Транзакция.ID_счета =
Счет.ID

Если шаг за шагом разбираться и самостоятельно пробовать решать задания от простых к сложным, то можно натренировать навык написания SQL-запросов любой сложности. Но не он главный.

Важно то, что этот навык помогает лучше помогать что скрывается под капотом системы, помогант лучше понимать разработчиков, уменьшает риски неверной оценки задач и невыполнимых требований.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9
Привет-привет!

Всем продуктивного понедельника! Я для вас готовлю на этой неделе как минимум один практический вебинар. А как только наберется еще несколько огонечков на этот пост, то и прямой эфир появится про лайфхаки с ChatGPT в работе аналитиков 🙂

Мне кажется, что моя любовь к системному анализу бесконечна ❤️ Вы не представляете с каким восторгом я погружаюсь в новые проекты, новые предметные области, алгоритмы. Иногда с 10 утра до 2 часов ночи сижу, потому что затягивает! (P.S. в середине дня обязательно гуляю и делаю перерывы)

IT прекрасен тем, что в нем почти нет повторяющихся решений! Есть крутые практики и подходы, на которые следует ориентироваться. И их лучше всего забирать через опыт коллег и наставников!

Я постоянно ищу новые крутые фишки для вас! И стараюсь дать все самое-самое через практику, чтобы не только я рассказывала как, но и вы сразу пробовали применять теорию на практике😉
🔥32
«Неужели это я такая крутая?!», — сказала моя ученица, после того, как сделала проект на обучении и начала применять навыки у себя на работе.

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

Если понимаете, что нехватка опыта в хард-скиллах системного анализа тормозит вашу карьеру, мешает в понимании разработчиков, хочется развиваться и на практике получать новые навыки, то вам сюда 👇

‼️ Бесплатный онлайн-практикум
🟢 От проектирования базы данных до SQL-запросов
🗓 1 марта в 19:00 (Мск)
🔗 Регистрация по ссылке

Освойте главные хард-скиллы системного аналитика на практике! До встречи 😉

P.S. Все вебинары в школе теперь сопровождаются лайфхаками "а теперь давайте воспользуемся ChatGPT", этот практикум тоже
6🔥5👍1
Мы можем больше 🚀

Только представьте, сколько сил уходит на страх ошибиться, и на переживания по этому поводу.

Был в моей жизни период, когдя я много себе обещала: получу навыки архитектора ПО, поборю внутреннего самозванца и начну выступать с докладами, запущу свой продукт, буду сама выбирать ТОП-вакансии.

Я прям долго раньше вынашивала такие идеи. Прежде чем запустить GetAnalyst я год боялась. Искренне!

"А если не получится?", "А что обо мне подумают?". Подборка на 1000 вопросов к себе 😀 Реально страшно.

Помните, как в детстве было сложно держать ножницы, да ещё и вырезать при этом снежинки? 😂 Туда же первые шаги, велосипед, коньки.

Но мы же всё равно пробовали, пытались, пусть и далеко не с первого раза, но делали. Давали себе шанс.

Я начинаю 🚀 с малого. Новое всегда пугает. И круто, если в такие моменты есть поддержка близкого человека. Это как фарватер для корабля или как стержень для ручки.

Согласитесь, кайф!

Кстати, со снежинками до сих пор не всегда получается сразу - первая всегда комом. Но я стараюсь и все получается 😉
👍151
Порой бывает действительно страшно идти в одиночку. Вроде уже собрал волю в кулак и готов покорять мир, но что-то не получается.

А вот если вдруг рядом появляется яркий фонарик, человечек, на которого ты смотришь, который вдохновляет — это заряжает энергией! ❤️

Разрешите себе быть крутыми специалистами! Разрешите себе быть крутыми по жизни! Развивайте себя и свои навыки. А главное, не бойтесь обращаться за поддержкой. И неважно, будь это поддержка близких друзей, любимого, родственников или психолога.

Если бы не мое окружение, не опытные наставники, которые на каждом шагу поддерживали меня, то у меня бы ничего не вышло.

Со входом в профессию системного аналитика мне помог мой дипломный руководитель в университете и близкий человек, которые сказали, что у меня все получится. Тогда меня пригласили на стажировку с ЗП в 4 раза ниже, чем у меня была на репетиторстве. Я боялась, что потеряю время зря. Но в итоге все получилось в разы лучше, чем я ожидала! Я нашла свое призвание и не только 🙌

С проектом GetAnalyst мне тоже было страшно, и я многократно боялась, что ничего не выйдет. Но опытные наставники и семья поддерживали меня. И теперь у меня есть лучшая комьюнити аналитиков и своя команда! С другими проектами так же!

Мне понравилось, когда меня вдохновляли мои наставники, когда они помогали преодолевать тяжелый путь в создании моих проектов. Наставник, который близок по духу - это для меня всегда подарок судьбы!

Когда вы на одной волне, то эффект от соприсутствия и сопереживания даёт крутые рузультаты!

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

Пора 🚀
10👍8🔥2
Доброе утро!

Такого формата еще не было! Я прям уже кайфую от того, что будет у меня утром, а для вас - вечером 😍

Это необычно, я надеюсь все задуманное получится! До встречи в прямом эфире 💗

‼️ Бесплатный онлайн-практикум
🟢 От проектирования базы данных до SQL-запросов
🗓 1 марта в 19:00 (Мск)
🔗 Регистрация по ссылке

А еще сейчас будет что-то новое👇🏻
🔥53👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥7👍41
‼️ Инструкция по подготовке и правила онлайн-практикума доступны по ссылке ‼️

Самое важное:

🔵 Участвовать с компьютера
🔵 Подготовиться и установить draw io
🔵 Не отвлекаться - предупредить близких, что вы на обучении
🚀 Прийти настроенными на результат

Ссылку на рабочую тетрадь к практикуму выдам в прямом эфире!
Через 3 часа! Онлайн-практикум с Екатериной Ананьевой!

📹 От моделирования базы данных до SQL-запросов
19:00 - 21:00 Мск

Ссылку на трансляцию пришлем в канал за 15 минут до начала.
👍5
Решила сразу анонсировать один из подарков, который разыграем в конце.

Но это не главное. Самое ценное сегодня:

🔥 Изучить хард-скилы по БД и SQL, и сразу применить на практике
🔥 Возможность получить индивидуальный разбор практической работы в прямом эфире
🔥 Узнать фишки ChatGPT
🔥 Получить мини-проект в копилку
🔥 Еще подарки, но о них расскажу на вебинаре

Идешь? Ставь 🔥 и не опаздывай
🔥23
😂👍👍❤️👌😅😊😊😍😘

❗️До начала 15 минут❗️

Подключайтесь по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Вчера на онлайн-практикуме было 🔥

"Впервые на бесплатном онлайн-практикуме - результат превзошел ожидания", Анатолий

Каждое открытое мероприятие для меня - возможность встретиться с вами, передать опыт и обменяться энергией.

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

✔️ 1200+ сообщений в чате
✔️ Почти 3 часа чистой практики
✔️ Полностью пройденная практика
✔️ Рабочая тетрадь, по которой можно самостоятельно даделать задания воркшопа
✔️ Фишки ChatGPT
✔️ Минимум с 10 крутых фишек, которые вы теперь можете применять в своей работе

Спасибо вам за возможность передать мой опыт. Спасибо за эту крутую атмосферу, которую вы создаете даже в онлайн! ❤️

Скоро напишу про повтор
19👍4🔥3
Это то мероприятие, с которого вы точно выйдете с новыми знаниями, и сразу же сможете их внедрить в свою работу!
🎓 Проектирование БД и SQL
🎓 Команды к ChatGPT

Бесплатный онлайн-практикум
🟢 От моделирования базы данных до SQL-запросов
🗓 4 марта, в 15:00 - 18:00 (Мск)
🔗Регистрация по ссылке

Регистрируйтесь, чтобы не пропустить
🔥13
Чего хотят большинство моих учеников?

Конечно, заработать больше или попасть в крутой проект. И это супер круто, потому что расти и развиваться в профессии это мега важно. Обожаю таких людей 😍

В этом плане мне всегда удаётся собрать вокруг себя крутых и замотивированных аналитиков.

Потому что когда топчешься на одном месте, со временем приходишь к выгоранию или упираешься макушкой о финансовый потолок.

Часто причиной стагнации становится две причины:
🚫недостаточно знаний,
🚫нехватка определённых навыков из-за отсутствия возможностей практики на работе

Бывало ли у вас такое, что не чувствуете роста в работе и топчитесь на месте, все достало, и на работу уже не хочется? 👍, если да
👍19
Когда ко мне приходят на обучение, я всегда спрашиваю: какая цель обучения?

И вот что писали ученики перед началом последнего потока:
◾️Не хватает знаний по проектированию БД
◾️Необходим опыт в построении БД, нужно закрыть пробелы в знаниях
◾️Хотелось углубиться в техническую составляющую работы системного аналитика, нужен практический опыт.
◾️Необходимо углубленное понимание, как проектировать БД, получить технические навыки.

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

Проектирование БД — это для аналитика святая святых. Работая с темой поверхностно, упускаешь классные возможности в карьере и многие это понимают. Даже вчера на практикуме мы убедились в этом на примере с ChtGPT.

Вчера я открыла запись на практический курс, о котором меня спрашивали уже пол года.

🎓 Проектирование БД и основы SQL, 14 марта
Вся информация и запись по ссылке ⬅️

Да, можно что-то прочитать в интернете, попрактиковаться самому, спросить искусственный интеллект, но с помощью структурированных знаний и огромного количества практики на курсе за 1.5 месяца можно получить «ключ от всех дверей» и сразу отработать всё на практике.

Не упускайте возможности достигать цели сейчас 🙌