Клуб (вне)системных аналитиков
Клуб (вне)системных аналитиков
  • Видео 41
  • Просмотров 55 997
Инструменты системного аналитика. Выпуск 8. DBeaver - инструмент для работы с базами данных
DBeaver - универсальный инструмент для работы с базами данных (проектирование и разработка БД, работа с данными, администрирование). Обзор основных возможностей приложения с акцентом на задачи из сферы ответственности системного аналитика.
***
Полезные ссылки:
dbeaver.io/ - DBeaver Community
dbeaver.com/ - DBeaver PRO
***
Наш telegram-канал: t.me/sys_analyst_club
Чат telegram-канала: t.me/sys_analyst_chat/2294
Просмотров: 2 221

Видео

KPI для системного и бизнес-аналитика
Просмотров 7279 месяцев назад
В Клуб (вне)системных аналитиков t.me/sys_analyst_club пришел человек с запросом. Модель расчета и начисления KPI, принятая в компании где он на тот момент работал, не устраивала его и других членов команды. Руководитель проекта предложил аналитикам подумать над новой моделью KPI: как можно переработать систему начисления так, чтобы не обижать аналитиков, но чтобы количество багов на проде умен...
Практика DITA на примере шаблона файла требований. Вторая встреча с Дмитрием Красильниковым
Просмотров 20710 месяцев назад
О Дмитрие Красильникове подробнее рассказывали на первой встрече ruclips.net/video/yQCPemeleJU/видео.htmlsi=yY_68E28ixf7udOV В прошлый раз был продемонстрирован пример работы в Oxygen. На этой встрече Дмитрий покажет как можно работать в VS code. Мы отдали Дмитрию вот этот шаблон файла "Требования" docs.google.com/document/d/1w94nK-isqm_WUQyyruowC0SH4D_DjvKfoZZRWdiE2O0/edit?usp=sharing Результа...
Стандарт структурированного авторинга DITA. Первая встреча с Дмитрием Красильниковым
Просмотров 20710 месяцев назад
DITA (Darwin Information Typing Architecture) Встреча 1: основные теоретические сведения Встреча 2: DITA на практике на примере шаблона файла "Требования" ruclips.net/video/gRXazBxf0H0/видео.html Список полезных ссылок от Дмитрия Красильникова: Комитет DITA и все его документы www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita DITA Open Toolkit www.dita-ot.org Плагин для DITA Open Toolkit...
Инструменты системного аналитика. Выпуск 7. Словарь данных в СУБД MySQL, PostgreSQL, Oracle
Просмотров 59310 месяцев назад
Как получить информацию о структуре базы данных для документации с помощью словаря данных - служебных таблиц, в которых реляционная (и не только) СУБД хранит описание своих объектов - таблиц, полей, представлений, ключей, индексов и многого другого. Статья "Как получить информацию о структуре БД для документации" (А. Кротов, Н. Носенко): systems.education/database-structure Примеры SQL-запросов...
Как системному и бизнес-аналитику управлять требованиями
Просмотров 39011 месяцев назад
Спикер - системный аналитик с опытом работы более 10 лет в различных российских и зарубежных проектах. Вопросы Олегу и кейсы на разбор приносите в чат Клуба (вне)системных аналитиков t.me/sys_analyst_chat 00:00 О чем встреча 01:12 Условное деление требований на 3 вида 01:57 Написали требования - что дальше: 02:14 - поменялся бизнес-процесс 03:46 - пришел разработчик и сообщил о новом архитектур...
Погружение системного и бизнес-аналитика в новый проект
Просмотров 491Год назад
Олег - постоянный спикер Клуба. Работает системным аналитиком более 10 лет. Имеет опыт участия в проектах известных брендов самой разной географии. Шаблоны оформления аналитики от Олега drive.google.com/drive/folders/1XEi7vpknuC33ZAp8sJ3ZbeMr3gfZdI4L?usp=sharing 00:00 Дисклеймер 00:25 Основной рассказ 37:11 Ответы на вопросы 37:18 Когда не выделяют времени на погружение в проект 40:51 Красные ф...
Как соблюсти требования к конфигурации брокера при разворачивании RabbitMQ в контейнер Docker
Просмотров 257Год назад
Зоя Степчёва - системный аналитик и архитектор. В прошлом - разработчик. Презентация: drive.google.com/file/d/1lRQm3Ltl3_X-mk8eqk14pKGNXfhMnlco/view?usp=sharing Ссылка из презентации с настройками конфигурации RabbitMQ - github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbit/docs/rabbitmq.conf.example 00:00 О нас и о спикере 01:43 О чем поговорим 04:12 Что такое Docker 04:43 Аппаратная и кон...
Рассказ о Летнем Аналитическом Фестивале 2023 от лица спикера и слушателя
Просмотров 125Год назад
Активная участница Клуба (вне)системных аналитиков - Екатерина Трубицына побывала на ЛАФ 2023 в качестве спикера. Она и раньше участвовала в Фестивале, но в качестве слушателя. Теперь она делиться с нами своим опытом. Ссылки под таймкодами Таймкоды: 00:00 - Вступление 01:01 - О чем поговорим 01:33 - О спикере 02:38 - Про фестиваль ЛАФ 05:42 - ЛАФ 2023 08:16 - Опыт участника фестиваля ЛАФ. Подго...
Проектирование логики аутентификации и авторизации: cookies, JWT, SSO, OAuth 2.0.
Просмотров 2 тыс.Год назад
Приглашенные гости: Зоя Степчёва и Виталий Сергеев Таймкоды: 00:00 Вводная часть 01:15 План доклада Зои Степчевой 01:48 Чем идентификация, авторизация и аутентификация отличаются друг от друга 05:13 Что такое OAuth 2.0 06:51 Роли в спецификации OAuth 2.0 08:37 Схема последовательности процессов при осуществлении процедуры авторизации 10:44 Серверная авторизация OAuth 2.0 13:14 Токены доступа JW...
Как системному и бизнес-аналитику управлять ожиданиями?
Просмотров 170Год назад
Продукт хочет минимум изменений. Лид хочет вычистку кода. Разработчики хотят такие требования, по которым они могут уже сейчас что-то начать делать. СЕО хочет полноту и детальную проработку требований. А бизнес просто хочет поправить формочку на фронте. Как соответствовать всем этим ожиданиям? 00:00 О чем встреча 00:26 Точки влиания на ожидания 00:37 Точка 1: спросить об ожиданиях на собеседова...
Об индексах в реляционных БД для системных и бизнес-аналитиков
Просмотров 670Год назад
Об индексах в реляционных БД для системных и бизнес-аналитиков
Инструменты системного аналитика. Выпуск 6. Postman
Просмотров 2,5 тыс.Год назад
Инструменты системного аналитика. Выпуск 6. Postman
Карьерный рост системного и бизнес-аналитика
Просмотров 490Год назад
Карьерный рост системного и бизнес-аналитика
Webhook, webPush и webSocket в работе системного аналитика
Просмотров 540Год назад
Webhook, webPush и webSocket в работе системного аналитика
Системный аналитик глазами руководителя
Просмотров 511Год назад
Системный аналитик глазами руководителя
Инструменты системного аналитика. Выпуск 5. Инструменты моделирования баз данных
Просмотров 646Год назад
Инструменты системного аналитика. Выпуск 5. Инструменты моделирования баз данных
Инструменты системного аналитика. Выпуск 4. Notepad++
Просмотров 852Год назад
Инструменты системного аналитика. Выпуск 4. Notepad
Инструменты системного аналитика. Выпуск 3. Словарь-переводчик
Просмотров 388Год назад
Инструменты системного аналитика. Выпуск 3. Словарь-переводчик
Инструменты системного аналитика. Выпуск 2. Переключатель раскладки клавиатуры
Просмотров 388Год назад
Инструменты системного аналитика. Выпуск 2. Переключатель раскладки клавиатуры
Инструменты системного аналитика. Выпуск 1. Программа для создания скриншотов
Просмотров 612Год назад
Инструменты системного аналитика. Выпуск 1. Программа для создания скриншотов
Инструменты системного аналитика. Введение
Просмотров 792Год назад
Инструменты системного аналитика. Введение
Вебинар «Универсальные структуры в реляционных базах данных»
Просмотров 2,2 тыс.Год назад
Вебинар «Универсальные структуры в реляционных базах данных»
Проектирование БД. Встреча 6/6. Корректируем модель БД
Просмотров 8 тыс.2 года назад
Проектирование БД. Встреча 6/6. Корректируем модель БД
Что такое бизнес-цели и с чем их едят
Просмотров 2462 года назад
Что такое бизнес-цели и с чем их едят

Комментарии

  • @АрсенийОстапенко
    @АрсенийОстапенко 5 дней назад

    Lightshot - классная программа, но на моей работе её заблокировал отдел безопасности.. Через какое-то время мы с коллегами стали пользоваться согласованным аналогом под названием Greenshot. Сначала он немного оттолкнул своим интерфейсом, но спустя время даже больше понравился, чем Lightshot , за счет такого элемента как "облако с текстом". Как в комиксах) поставив такие облака в скрин можно дать необходимый комментарий к тому, что ты отметил той же стрелкой или красной рамкой. Что же случилось дальше? Правильно, отдел безопасности удалил и Greenshot.. смешно звучит, но из-за таких решений хочется уволиться из компании. Многие удобные штуки запрещают, и кайф пропадает

    • @sys_analyst_club
      @sys_analyst_club 5 дней назад

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

  • @АрсенийОстапенко
    @АрсенийОстапенко 5 дней назад

    Очень рад, что вы в своё время записали серию таких видео. Как раз то, что я искал! Спасибо

    • @sys_analyst_club
      @sys_analyst_club 5 дней назад

      Эх, мало записал. Еще штук 20 запланировано, но никак не доберусь. Но спасибо на добром слове! :)

  • @user-ri8qt6mm9q
    @user-ri8qt6mm9q 15 дней назад

    👍👍

  • @user-vt3kc9od7c
    @user-vt3kc9od7c Месяц назад

    Классная серия уроков Грамотный лектор, приятно слушать

    • @user-kj7bd8hg9u
      @user-kj7bd8hg9u Месяц назад

      А такие комментарии как приятно читать... Спасибо! :)

  • @SaihoS1
    @SaihoS1 2 месяца назад

    Есть близкий аналог с открытым исходным кодом flameshot

  • @stasstasov7329
    @stasstasov7329 2 месяца назад

    Отличный канал! Спасибо за вашу просветительскую деятельность! Даже скорее образовательную, в облегчённом формате :)

    • @sys_analyst_club
      @sys_analyst_club 2 месяца назад

      А вам спасибо за внимание к каналу и хорошие комментарии :)

  • @stasstasov7329
    @stasstasov7329 2 месяца назад

    Александр, спасибо огромное!!! Очень доходчиво, отличная лекция! У вас талант преподавателя!

    • @sys_analyst_club
      @sys_analyst_club 2 месяца назад

      Большое вам спасибо! Очень приятно такое слышать :)

  • @Ramzes200986
    @Ramzes200986 2 месяца назад

    одно не понял JSON - это только выборка данных или место их хранения?

    • @sys_analyst_club
      @sys_analyst_club 2 месяца назад

      JSON - это формат данных. Место хранения для JSON-документов при этом может может быть любым.

  • @Ramzes200986
    @Ramzes200986 2 месяца назад

    хорошее видео

  • @kodunaiff3835
    @kodunaiff3835 2 месяца назад

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

    • @sys_analyst_club
      @sys_analyst_club 2 месяца назад

      Будут вопросы, задавайте, разберемся вместе . И спасибо на добром слове!

  • @Dima-uz8gi
    @Dima-uz8gi 3 месяца назад

    Классно! Очень понравилось) Спасибо!

    • @sys_analyst_club
      @sys_analyst_club 3 месяца назад

      Очень рад, и вам спасибо! :)

  • @Dima-uz8gi
    @Dima-uz8gi 3 месяца назад

    Основательно, полезно и интересно! Большое спасибо!

    • @sys_analyst_club
      @sys_analyst_club 3 месяца назад

      Приятно слышать! :) И вам спасибо

  • @silverdrag221
    @silverdrag221 3 месяца назад

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

    • @sys_analyst_club
      @sys_analyst_club 3 месяца назад

      Во, когда сам забуду, тоже пересмотрю :). Спасибо!

  • @user-zm6wb9rm7l
    @user-zm6wb9rm7l 3 месяца назад

    Очень круто, лучше чем лекции в университете.

    • @sys_analyst_club
      @sys_analyst_club 3 месяца назад

      Спасибо большое! Рад, что "зашло" :)

  • @AleksBuch
    @AleksBuch 4 месяца назад

    Спасибо большое! Очень информативное видео!

    • @sys_analyst_club
      @sys_analyst_club 4 месяца назад

      Спасибо большое! Очень приятный комментарий :)

  • @EdwardNorthwind
    @EdwardNorthwind 4 месяца назад

    Перезалить видео? Зачем... Сидите по губам читайте...

    • @sys_analyst_club
      @sys_analyst_club 4 месяца назад

      Вы абсолютно правы - получился брак, за что я уже извинялся. Но тут дело не в перезалить, а в перезаписать заново, к сожалению. А на это понадобится сильно больше времени, которого пока нет. Еще раз прошу прощения за доставленное неудобство.

    • @EdwardNorthwind
      @EdwardNorthwind 4 месяца назад

      @@sys_analyst_club Я бы рекомендовал вам переписать видео больше потому, что вы сделали не обзор программы и её возможностей, сколько введение в СУБД. Чего не ожидаешь от ролика с обзором программы.

    • @sys_analyst_club
      @sys_analyst_club 4 месяца назад

      @@EdwardNorthwind Это уже другой вопрос - не технического брака, а самой идеи ролика. Мне показалось, что такой вариант удобен для тех, кто не знаком с приложением. Буду ли я делать другую версию? Если выяснится, что надо, сделаю. Но пока работаю над другими темами. В любом случае, спасибо за конструктивную критику, это важно!

  • @jeyhey6808
    @jeyhey6808 4 месяца назад

    очень крутое и доступное изложение материала! автор великолепен, спасибо огромное за ваш труд

  • @user-ik9xv7uq6e
    @user-ik9xv7uq6e 4 месяца назад

    Урок очень понравился, огромное спасибо!

  • @user-ev5oc4dq3z
    @user-ev5oc4dq3z 5 месяцев назад

    Правильно я понимаю что есть мы будем смотреть данные книги, мы не увидим ее жанра? Я не увидела в таблице book вторичного ключа на ее жанр. Я только учусь и возможно неправильно что-то понимаю, буду рада ответу

    • @sys_analyst_club
      @sys_analyst_club 5 месяцев назад

      Сейчас во всем разберемся :). Ключ правильнее называть внешним все-таки, а не вторичным. Мы его сознательно не стали добавлять, потому что у одной книги может быть более, чем один жанр. Т.е. мы имеем дело с классической связью "многие-ко многим" (у одного произведения гипотетически много жанров, один жанр может быть присвоен многим произведениям). В такой ситуации одним внешним ключом к справочнику "Жанры" не обойдешься. Приходится делать промежуточную таблицу, в которой и указывать все жанры для всех книг. В нашем случае они называется BOOK_GENRE и связывается книги (таблица BOOK) со справочником "Жанры" (таблица GENRE). Таких ситуаций в нашей БД получилось довольно много.

    • @user-ev5oc4dq3z
      @user-ev5oc4dq3z 5 месяцев назад

      ​@@sys_analyst_club спасибо за ответ! ❤

  • @user-ev5oc4dq3z
    @user-ev5oc4dq3z 5 месяцев назад

    Запросы sql ну совсем не для новичков😅, но инф супер, спасибо

    • @sys_analyst_club
      @sys_analyst_club 5 месяцев назад

      Ну... почти для новичков :)

  • @user-ev5oc4dq3z
    @user-ev5oc4dq3z 5 месяцев назад

    Полезно, дельно, смотрю с удовольствием

  • @user-ev5oc4dq3z
    @user-ev5oc4dq3z 5 месяцев назад

    Огромное спасибо!🎉 полезно

    • @sys_analyst_club
      @sys_analyst_club 5 месяцев назад

      И вам спасибо! А кто вы по специальности, если не секрет?

    • @user-ev5oc4dq3z
      @user-ev5oc4dq3z 5 месяцев назад

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

  • @user-bg6dl8sn9b
    @user-bg6dl8sn9b 6 месяцев назад

    Автор подскажите пожалуйста где вы взяли токен для изменения информации студента?

    • @sys_analyst_club
      @sys_analyst_club 6 месяцев назад

      Сгенерировал какием-то генератором UID-ов, кажется просто в Notrpad++

  • @user-bg6dl8sn9b
    @user-bg6dl8sn9b 6 месяцев назад

    Единственная проблема автора это его фантазия на фамилии. А так все четко и поделу! Спасибо большое за материал.

    • @sys_analyst_club
      @sys_analyst_club 6 месяцев назад

      Если это действительно единственная проблема, то я просто счастлив. Буду развивать фантазию :).

  • @kira3196
    @kira3196 6 месяцев назад

    Спасибо!

  • @user-dg5gb5qb3i
    @user-dg5gb5qb3i 6 месяцев назад

    Доброго времени суток. просмотрев Ваш урок по JSON все стало понятно. Можете то же сделать по JSON Schema ? Нет четкого доступного видео на просторе рунета.

    • @sys_analyst_club
      @sys_analyst_club 6 месяцев назад

      Заявка принята! :) Постараюсь сделать, но не прямо сразу.

  • @IVVNOV
    @IVVNOV 6 месяцев назад

    Очень интересное и полезное видео.Спасибо автору за труд! Мне кажется следует добавить таблицу связи вакансии с адресом т.к. одному адресу может соответствовать > 1 вакансии.

    • @sys_analyst_club
      @sys_analyst_club 6 месяцев назад

      И вам спасибо на добром слове! :) Кстати, я с вами абсолютно согласен: такая таблица совсем не помешала бы с т.з. нормализации структуры БД. Мало того (не для этого конкретного случая, а вообще) - одной вакансии теоретически тоже могли бы соответствовать несколько адресов (например, если несколько офисов, где можно работать). Ваша таблица решила бы и эту гипотетическую ситуацию тоже. Короче, типичные многие-ко-многим получаются :).

  • @alzv631
    @alzv631 7 месяцев назад

    Шикарно

  • @ekaterinashu9375
    @ekaterinashu9375 7 месяцев назад

    Очень полезно) большое спасибо

  • @llliger
    @llliger 7 месяцев назад

    Год работаю, но все равно увидел пару новых для себя моментов

    • @sys_analyst_club
      @sys_analyst_club 7 месяцев назад

      А каких, если не секрет?

    • @llliger
      @llliger 7 месяцев назад

      View diagram если выбрать вызвать при выделенной базе. А так же, что свойство можно указать Прод, Тест И про функции когда можно получить среднее максимально значение тоже интересно. Всегда рад когда выхотя в этой рубрики новые видео. LightShot для меня открытие года )) Ножницы ушли на покой @@sys_analyst_club

    • @sys_analyst_club
      @sys_analyst_club 6 месяцев назад

      Упс. Прозевал ваш комментарий :). Спасибо!

  • @mercurianka13
    @mercurianka13 7 месяцев назад

    Спасибо за полезный практический урок с инструментом!

    • @sys_analyst_club
      @sys_analyst_club 7 месяцев назад

      Спасибо за комментарий! :)

  • @junior_analyst
    @junior_analyst 8 месяцев назад

    Александр, спасибо за ваш вклад в это направление! 🙏🏻 А что вы скажите про data grip?

    • @sys_analyst_club
      @sys_analyst_club 7 месяцев назад

      И вам спасибо! Про DataGrip я скажу, что никогда с ним не работал :). Кроме того, я пока стараюсь делать обзоры только бесплатных программ, до коммерческих быстро не доберусь. Но если кто придет рассказать про DataGrip, будет отлично!

  • @deniskirdyanov1389
    @deniskirdyanov1389 8 месяцев назад

    Подскажите, пожалуйста, где лучше реализовать WebSocket в рамках многосервисной архитектуры: GateWay->Broker->Services.

    • @user-jt1xg1ez5m
      @user-jt1xg1ez5m 7 месяцев назад

      Добрый день. Я бы поставил взаимодействие в другом порядке: GateWay->Services->Broker. Клиенту общаться напрямую с Брокером сообщения (даже если через гейтвей) - не безопасно. Нужен бэк, а именно "Services", который и будет с Брокером общаться. А средствами вебсокетов или стандартными HTTP вызовами будут общаться Клиент и Бэк через GateWay уже не принципиально. Зависит от задачи.

    • @deniskirdyanov1389
      @deniskirdyanov1389 7 месяцев назад

      Большое спасибо за ответ@@user-jt1xg1ez5m

  • @unicoxr5tj417
    @unicoxr5tj417 8 месяцев назад

    важный урок, но тихий звук(

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Да, со звуком я сильно не доработал, прошу прощения! Сам на себя ругаюсь :)

  • @highscreenka
    @highscreenka 8 месяцев назад

    Если у меня есть название товара, цена товара, скидка на товар, и количество купленного товара, правильно ли с точки зрения Теории Баз Данных хранить в отдельной таблице "Заказы" полную сумму полученную по заказу? Или в "Заказы" положить только Количество купленного товара и ID товара из таблицы "Товары", а в таблице "Товары" держать все названия, цены, скидки, "Сумму" рассчитывать скриптом SQL и выводить в BI дашборд? Не является ли хранение этой суммы нарушением 3 нормальной формы?

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Это отличный вопрос. Если брать идеальный мир и идеальные реляционные модели данных, то вы абсолютно правы: сумма - это расчётный показатель, записав его в БД, вы дублируете данные и нарушаете НФ. Но здесь есть большое НО. В исходных данных может что-то измениться (например, обнаружена и исправлена ошибка в ценнике или в алгоритме расчета скидки). В результате новый расчёт суммы может дать другое значение, чем было в изначальном варианте. А деньги-то уже получены - именно в том объеме, как было рассчитано на момент оплаты. Т.е. это случившийся факт, который зафиксирован в чеках, накладных и т.п. Такой факт имеет право быть записан жестко в таблицу. А вот, если потом при проверке выяснится, что сумма фактической оплаты расходится с новым расчетом, то здесь открывается большое поле для расследований и дальнейших поступков. Например, обнаружив переплату, вы можете вернуть часть средств клиенту и зафиксировать возврат в виде отдельной записи. Или, наоборот: погнаться за клиентом и потребовать доплаты :). Если не догоните, зафиксировать факт убытка по причине ошибки в данных. И т.п.

  • @highscreenka
    @highscreenka 8 месяцев назад

    И правильно ли я понимаю, что если я спроектировала промежуточную таблицу для связи, то оракл ее создаст, то есть она не логическая, она будет физическая?

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      ОРАКЛ (в данном конкретном случае) или любая другая СУБД (в общем случае) будет пытаться создать то, что указано в DDL-скрипте, который запускают (скрипт может быть написан вручную или сгенерен автоматически из модели). Если в скрипте есть инструкция CREATE TABLE <Имя таблицы> + все, что необходимо для создания таблицы, СУБД при запуске скрипта будет пытаться её создать. Если скрипт создан корректно, таблица будет создана. Если будут ошибки, СУБД об этом сообщит и объект не создаст. Поэтому, если вы планируете создавать объекты прямо из средства моделирования, всегда имеет смысл посмотреть DDL-скрипт, который автоматически генерится из вашей модели. Или призвать разработчика, чтобы это сделал он. Но если вы создали в физической модели таблицу, вы вправе ожидать, что она попадет и в DDL-скрипт, и - после выполнения скрипта - в базу данных. Если только вы не допустили ошибку или не отключили какой-нибудь флажок типа создавать/не создавать. Но это уже нюансы конкретных средств моделирования.

  • @highscreenka
    @highscreenka 8 месяцев назад

    Спасибо вам за лекции! Я кажется не поняла главного, почему Cover_type мы напрямую соединяем с таблицей Book, а Paper_type через промежуточную таблицу. Нельзя было paper_id сразу добавть в таблицу Book, и к ней присоединить справочник? Когда действительно нужна промежуточная таблица, а когда нет?

    • @highscreenka
      @highscreenka 8 месяцев назад

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

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Тут такая логика. Обложка у книги всегда одна (про супер-обложку пока не думаем). В результате получается, что связь между сущностями "тип обложки" (справочник) и "книга" - один-к-многим (один тип обложки может встречаться у многих книг, но у одной книги всегда строго один тип обложки). Поэтому нам достаточно сослаться из таблицы BOOK на соответствующее справочное значение в таблице COVER_TYPE (тип обложки). А вот типов бумаги в одной книге может быть несколько (например, обычная офсетная бумага для текстовых страниц и мелованная для страниц с иллюстрациями). Получаем связь многие-к-многим (один тип бумаги может использоваться во многих книгах, но и в одной книгеможет быть более одного типа бумаги). Поэтому просто сослаться на справочник PAPER_TYPE (тип бумаги) ар аналогии с первым случаем не можем, и нам приходится создавать дополнительную таблицу BOOK_PAPER, в которую и записывать все типы бумаги для каждойго издания.

    • @highscreenka
      @highscreenka 8 месяцев назад

      @@sys_analyst_club спасибо большое за ответы! Кусочки сложились в паззл.

  • @user-kv1jw5ej6u
    @user-kv1jw5ej6u 8 месяцев назад

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

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Да вообще не проблема :). Немного рассказывал про это вот здесь: ruclips.net/user/liveNd5WKB2yvIk . Но можно, как говорится, расширить и углубить. Есть некоторая сложность в том, что не так много сфота, который поддерживает несколько уровней моделирования. Oracle SQL-developer Data Modeler, на котором я все показывал, поддерживает логический и физический уровни, но он заточен строго под Оракл, спроектировать БД для других СУБД в нем невозможно. Есть прекрасный софт типа ERWin, но он стоит ОЧЕНЬ недешево, для себя я бы приобретать не стал. В результате нередко встречается такая ситуация: аналитик проектирует концептуальные-логические модели в каком-нибудь MS Visio, отдает разработчику, а тот, глядя на картинку, создает в СУБД физические объекты с нуля. Мне такой подход решительно не нравится, проще получать физическую модель из логической (полу)автоматически или сразу начинать с физического (вариант не всегда подходит). В общем, если есть вопросы, всегда обращайтесь, придумаем что-нибудь :)

  • @user-kv1jw5ej6u
    @user-kv1jw5ej6u 8 месяцев назад

    Зачем мы отдельно создавали book_group_type? Можно было роль добавить в book_group?

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      С т.з. нормализации БД повторяющиеся значения имеет смысл выносить в отдельную таблицу-справочник, давая в основной таблице ссылку (FK) на нужную запись справочника. Тогда вы избавитесь от избыточности данных и лучше защититесь от возможных ошибок (например, чтобы не получилось в одном случае "учебник", в другом - "учебное издание", в третьем - "издание учебное"). А вообще на эту тему я бы нескромно посоветовал посмотреть нашу встречу "Фиксированный набор значений атрибута: способы реализации" ( ruclips.net/user/liveui09iuNVk_Y ). Там и про саправочник, и про перечисления и пр.

  • @user-kv1jw5ej6u
    @user-kv1jw5ej6u 8 месяцев назад

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

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      В данном случае принципиально слово "почти". СУБД не позволит создать вам два объекта с одинаковыми именами. Но если правила именования соблюдены и имена различаются хотя бы на один символ, проблем не будет. Но, само собой, лучше всем объектам давать понятные имена, сформированные по единой схеме, без всяких v1 и v2 (это приложение прилепило постфикс, чтобы не допустить дублирования имени). В том же случае, который вы описали, зафиксирован промежуточный результат. Позже мы доработали модель и таблицу book_genre вообще ликвидировали, заменив на novel_genre, т.к. жанр - характеристика конкретного произведения, а не целой книги. А в novel_genre привели уже имена внешних ключей в порядок (см. более поздние встречи из этого же плейлиста).

  • @user-kv1jw5ej6u
    @user-kv1jw5ej6u 8 месяцев назад

    При заведении сущности с обложками вы скопировали другую табличку и поменяли ей имя на cover_type, но не меняли long_name. Система сама поменяет или лонг неймы у всех скопированных таблиц будут одинаковыми? Это имеет значение для будущей эксплуатации бд?

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Неаккуратное применение операций CTRL-C - CTRL-V - источник детского травматизма :). В данном случае это непринципиально: значение имеет имя поля (проверить можно, вызвав DDL Preview из контекстного меню таблицы, там будет только правильное имя). Но бдительность терять нельзя, иначе ошибка "убежит" в скрипт и дальше в БД.

  • @user-kv1jw5ej6u
    @user-kv1jw5ej6u 8 месяцев назад

    Мы все время делаем поле logical, а картинки можно наверное было доменным сделать? Там ведь всего два значения 0 и 1. Или я не поняла почему мы при создании все время стовим буллит logical.

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Наверное, не очень хорошо понял вопрос. Но, в любом случае, я старался максимально абстрагироваться от 1) конкретно СУБД Оракл; 2) особенностей приложения Oracle SQL Developer Data Modeler. Поэтому не создавал никаких доменов, а использовал канонический подход: поле/тип данных из имеющихся в наличии. А вот про картинки не очень понял.

  • @highscreenka
    @highscreenka 8 месяцев назад

    Спасибо за вашу работу, очень многому научилась у вас. Очень понятные лекции и практика.

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      После такого комментария сразу хочется сделать еще что-нибудь. Спасибо, очень приятно!

  • @highscreenka
    @highscreenka 8 месяцев назад

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

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Отличный вопрос. Я даже испугался, что допустил грубую ошибку (бывает, бывает, скрывать не стану :) ). Но тут ситуация следующая. Если бы мы располагали персональными данными сотрудников издательских групп (паспорт, ИНН, СНИЛС и т.п.), тогда мы могли бы сделать отдельную таблицу "Персона", и, как вы и предложили, связать персон с таблицей PUBLISH_GROUP связью "многие-ко-многим". В результате, каждый человек мог бы входить в любое количество групп, а каждая группа состоять из любого количества человек. Но в нашем случае есть серьезная проблема: у нас нет атрибутов, которые могли бы исполнить роль ключа по отношению к персонам и однозначно их идентифицировать. Просто ФИО может совпадать сколько угодно раз: мы не знаем Иванов Иван Иванович в двух разных книгах - один и тот же человек, или просто совпадение. Поэтому приходится проектировать, исходя из реальности: просто указывать, что в издательскую группу для данной книги входил человек в такой-то роли с таким-то ФИО. Это не очень качественная информация, но в отсутствии полных данных приходится вести себя адекватно ситуации. Мало того. По отношению к авторам картина аналогичная. Если у нас окажется два Толстых Льва Николаевича, родившихся в один день, начнется большая путаница, и мы не сможем понять, кто что написал. Но по отношению к авторам я рискнул создать отдельную таблицу, в надежде, что такие совпадения не будут встречаться часто и не испортят нам общую картину.

    • @user-kv1jw5ej6u
      @user-kv1jw5ej6u 8 месяцев назад

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

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Спасибо! И обращайтесь по любым вопросам. Сможем - с удовольствием поможем :)

  • @thecutestkitties9989
    @thecutestkitties9989 8 месяцев назад

    Это лучший урок по Json, настолько всё подробно, и ещё с примерами. Приятно смотреть. Спасибо

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Спасибо, оччень приятно! :)

  • @user-pw1ze8ux5c
    @user-pw1ze8ux5c 8 месяцев назад

    похоже я единственный выживший добрался до конца плейлиста. Меня зовут Роберт Нэвилл. Я вещаю на частоте <частота> каждый день. Если хоть кто-то еще выжил, хоть кто-нибудь, ответьте. У меня есть вода, у меня есть еда и убежище. (с) Я легенда.

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Неправда, я тоже добрался! :) И вообще, это еще не конец.

    • @user-pw1ze8ux5c
      @user-pw1ze8ux5c 8 месяцев назад

      @@sys_analyst_clubрас пошла такая пьянка, то здорово было бы затронуть тему с оптимизацией и оптимальными запросами. Например параллельный поиск по базе данных в одном запросе через UNION. Что такое шардирование, как его спроектировать в схеме. И так далее. А если сможете найти того, кто приведет кучу примеров как не правильно строить запросы, и как правильно и на очень высоконагруженных системах - будет вообще супер. Спроектировать базу это важно, но оптимальная работа в ней тоже не меньше значит для проектировщика. Я вот курс себе обозначил, сижу смотрю проектирование, ключи как правильно выстраивать, связи, как правильно проектировать базу. Но как сделать так, что бы она быстро работала и не делать ошибок, вот этого не хватает.

  • @dmitriykopylov3613
    @dmitriykopylov3613 8 месяцев назад

    Здравствуйте. Много программ интересных,что отметил для себя.Посмотреть захотелось ARIS Express. Как относитесь к современным китам: UML и BPMN ?

    • @sys_analyst_club
      @sys_analyst_club 8 месяцев назад

      Добрый день, Дмитрий. ARIS Express посмотреть полезно, но, на мой взгляд, в том случае, если планируется работа с полноценным ARIS. В express-версии, по-моему, что-то серьезное сделать сложно. Но это частное мнение :). Что касается UML и BPMN, то отношусь с большим уважением, регулярно пользуюсь. Из UML - activity, state, sequence преимущественно. А BPMN это целый мир вообще - от удобной рисовалки, то проектирования больших исполняемых бизнес-процессов.

  • @ManGOHP
    @ManGOHP 8 месяцев назад

    нехуя не понятный ролик

  • @e1.st0rm99
    @e1.st0rm99 9 месяцев назад

    Давно искал, где освещается полный процесс разработки базы данных, на реальном примере. Главное помнить, что нужно остановиться именно на том уровне абстракции, который соответствует потребностям вашего проекта. Иначе можно зайти в такие дебри, с которыми потом без пол-литра не разобраться. Иногда приходится жертвовать нормализацией, в пользу удобства работы с базой данных. Большое спасибо, было очень интересно. 👍

    • @sys_analyst_club
      @sys_analyst_club 9 месяцев назад

      Спасибо! Будут вопросы - обращайтесь, разберемся. Или пойдем за поллитрой :)