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

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

РКН №5013005196
Download Telegram
Логическая модель базы данных - это план по созданию БД, который показывает:

🔵 какие таблицы нужно создать,
🔵 какие поля в этих таблицах будут,
🔵 как они будут связаны между собой.

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

Список сущностей из концептуальной модели дополняем полями, то есть свойствами сущностей:

▫️Камера
- Номер
- Место установки
- Дата создания
- Описание (модель и пр.)

▫️Сотрудник
- Табельный номер
- Фамилия
- Имя
- Отчество
- Телефон
- Должность
- Фото
- Информция о биометрии для считывания лица с камеры
- ...

▫️Гость
- ФИО
- Дата регистрации
- Период допуска - время старта
- Период допуска - время окончания
- Телефон
- Информция о биометрии для считывания лица с камеры
- ...

▫️Зона
- Номер
- Описание

▫️Факт присутствия - запись в журнале или отчете
- Камера
- Зона
- Гость / Сотрудник
- Время регистрации

Связи, необходимые для логической модели, уже есть.

Дополнительно на логическом уровне:
+ добавлю id в каждую таблицу - первичные ключи (PK - primary key),
+ добавлю внешние ключи (FK - foreign key), чтобы организовать связи - переименую в факте присутсвия "Камера" на "Камера_id" и остальное по аналогии,
+ уберу избыточные связи - например, зону из "Факта присутствия"



Почему важно уметь строить логическую модель базы данных для системных аналитиков?
Это помогает понимать структуру данных в системе и создавать стандартизированный набор данных. Это также может помочь оптимизировать запросы к базе данных и обеспечить целостность данных в системе.
👍6
Привет всем!

Сегодня, 23 февраля, я хочу поздравить системных аналитиков и всех, кто работает в ИТ-индустрии, с Днем защитника Отечества!

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

Спасибо за вашу трудолюбивую работу и за то, что вы делаете нашу жизнь более удобной и безопасной ❤️

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

С праздником, друзья!
👍125🔥3🤯3😍1
Я тут про ChatGPT начинала историю, хочу продолжить.

Сейчас много работаю с задачами на интеграции, описываю Use Case и алгоритмы обработки данных по разным проектам. А еще веду обучение, где работаем с требованиями, BPMN-диаграммами. Мне помогает работать ChatGPT.

В курсах на ходу дорабатываю программу - вставляю на практических вебинарах и воркшопах "А теперь смотрите как это сделать через ChatGPT и чем он вам поможет". Все живое, я в прямом эфире - поэтому могу 😉

Сегодня, на вебинаре группы по Интеграциям для разбора ДЗ, я просто взяла и начала показывать, как пользоваться ChatGPT для работы на нашем курсе, для моего проекта, и как результаты из него могут СОХРАНИТЬ ЧАСЫ ЖИЗНИ!

Я всегда даю самые новые и продвинутые знания и лайфхаки, которыми не стоит пренебрегать!
Искусственный интеллект - помощник аналитика! Пользуйтесь!
Даже картинка для этого поста создана при поддержке искусственного интеллекта 🤖

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

Собираем 111 🔥 под этой записью, и договариваемся с вами об удобом времени эфира
#chatgpt_getanalyst
🔥1242👍2❤‍🔥1😍1
Какие перспективы в IT у аналитиков?

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

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

Кадровое агентство Алексея Сухорукова регулярно проводит исследования в сфере вакансий IT-сектора. Речь идет о результатах большой выборки и относятся к аудитории России. Она показывает, как растёт средний уровень зарплат аналитиков специализирующихся по проектированию БД, и как увеличивается спрос на них. Такая тенденция прокачивает перспективы развития в карьере.

В буквальном смысле, компании не то что, ищут технически грамотных и глубоко понимающих внутренности систем аналитиков, они охотятся за ними!
💩2👍1
Я также провела своё независимое исследование и посмотрела, что сейчас запрашивают работодатели от соискателей у системных аналитиков.

В вакансиях встречаются следующие требования:
✔️ понимание основ реляционной БД,
✔️ умение проектировать БД,
✔️ знание простых запросов на SQL.

Вот некоторые из них:
Системный аналитик, БУРГЕР КИНГ РОССИЯ
Бизнес/системный аналитик, ТОО KAP Technology Казахстан
Системный аналитик, Сбербанк Россия
Ведущий системный аналитик, HR Prime Россия

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

Знания по работе с физической моделью баз данных и СУБД могут значительно увеличить зарплату системного аналитика. По данным сайта Indeed, в США заработная плата начинается от 85 000$ в год, но может достигать более 150 000$ в год для специалистов, которые знают, как эффективно работать с физической моделью баз данных.

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

«Базы данных невероятно важны для любой компании. Когда компания понимает это, они обычно ищут кого-то, кто является экспертом в области управления базами данных и обработки. Экспертов по базам данных намного меньше, чем разработчиков, и меньше, чем вакантных рабочих мест для них. Людей с таким набором знаний и навыков не так много, это делает их более ценными в глазах работодателя. Следовательно, им проще найти работу».


Без этих знаний будет со временем сложнее. Если честно, не знаю как без них вообще можно будет работать.
Я всегда за то, чтобы адаптироваться на рынке заранее и понимать куда направлять вектор.
Надеюсь, вы как и я, выберете действовать и покорять рынок IT, а не наблюдать за всем со стороны.
👍7
Физическая модель реляционной базы данных - это почти реальная схема базы данных. Остается только напистаь SQL-запросы по ее созданию и готово 🙂

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

Физическая модель - это дополнение логической модели. Описывая алгоритмы обработки данных, я представляю SQL-запросы, применяемые к ней.

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

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

В логической модели у нас была таблица:

▫️Камера
- Номер
- Место установки
- Дата создания
- Описание (модель и пр.)


Для физической модели этой же таблицы:

▫️Camera
- id (UUID, Not Null, Unique)
- number (integer, Not Null, Unique)
- zone_id (UUID, Not Null)
- created (timestamp, Not Null)
- description (varchar(256))


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

Физическую модель на основе логической обычно аналитики делают совместно с разработчиками. Это тот момент, когда они начинают разговаривать на одном языке, на одну тему. А еще эти знания позволяют системному аналитику оптимизировать работу базы данных, улучшить производительность алгоритмов и сократить издержки на обслуживание систем.
🔥5👍2
Практический кейс - про банковскую систему и 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