Базы данных. НФ БК; 4-5 нормальные формы

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ย. 2024

ความคิดเห็น • 70

  • @АндрейВарин-р4г
    @АндрейВарин-р4г 3 ปีที่แล้ว +55

    Гена просто чёткий поцан ! Внатуре, пришёл значит и разложил чётенько всё и всем. Респект авторам.

    • @Rclass
      @Rclass  3 ปีที่แล้ว +7

      Спасибо, мы старались)

  • @PBarb-l1r
    @PBarb-l1r หลายเดือนก่อน +1

    По моему в примере на 1:39 потенциальных ключей все-таки 2:
    (project_id, task), (project_id, responsible).
    На 0:54 упрощенное утверждение: "ключевые атрибуты не должны зависеть от неключевых". И как-то не особо пример ложится на это упрощение, так как оно всегда истинно, так как неключевых атрибутов попросту нет в примере))). Следовательно согласно упрощенной формулировке таблица уже в BCNF.
    А вот если выписать минимальное множество функциональных зависимостей для этого же примера:
    1fd: responsible -> task
    2fd: (project_id, task) -> responsible
    3fd: (project_id, responsible) -> task
    то увидим, что в 1fd - детерминантом будет responsible, который не является потенциальным ключом, и поэтому полноценному определению BCNF таблица уже не соответствует. Поэтому упрощённая формулировка урезает смысл значительно. Тогда уж так: 3NF и ключевые атрибуты не должны зависеть от любых зависимостей кроме потенциальных ключей.

  • @Tsukasa-mixer
    @Tsukasa-mixer 4 ปีที่แล้ว +11

    Жги дальше. Всегда полезно вспомнить основы

  • @Disorrder
    @Disorrder 3 ปีที่แล้ว +10

    Класс! Чётко! Умеете, могёте. Гене привет

    • @Rclass
      @Rclass  3 ปีที่แล้ว

      Спасибо, мы старались :)

  • @invisibleinvisible83
    @invisibleinvisible83 2 ปีที่แล้ว +8

    Очень нравятся Ваши видео❤️🙏🏻Спасибо

    • @Rclass
      @Rclass  2 ปีที่แล้ว +1

      Вам спасибо что смотрите :)

  • @АлёнаЗайчук-г1с
    @АлёнаЗайчук-г1с 3 ปีที่แล้ว +8

    и ни одного коммента про футболку Asking Alexandria) йеее рок

    • @Rclass
      @Rclass  3 ปีที่แล้ว +1

      Еееее!

  • @hansbarbarossa4613
    @hansbarbarossa4613 4 ปีที่แล้ว +9

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

  • @bunnyrin
    @bunnyrin ปีที่แล้ว +4

    Смотрю перед экзаменом, спасибо! P.S Asking Alexandria - зачёт ❤

    • @Rclass
      @Rclass  ปีที่แล้ว +1

      Удачи)

  • @rfatnabayeff
    @rfatnabayeff ปีที่แล้ว +3

    @2:37 поясните пж, после декомпозиции в левой таблице имеются дублирующиеся строки с id=3, id=4, получается она не находится в 1-2 НФ, значит не находится и в 3НФ, и в НФБК? Также, правая таблица не имеет первичного ключа (project_id повторяются).

  • @ВалерияСмелова-у1э
    @ВалерияСмелова-у1э 2 ปีที่แล้ว +1

    просто огромное спасибо, статьи хабра читать невозможно! а это прям супер, Гена топ

    • @Rclass
      @Rclass  2 ปีที่แล้ว

      Спасибо, мы старались :)

  • @khantoreabylai837
    @khantoreabylai837 3 ปีที่แล้ว +7

    Гена красавчик как есть показывает🤣

    • @Rclass
      @Rclass  3 ปีที่แล้ว +2

      Спасибо, мы старались :)

  • @nikitakamalin6177
    @nikitakamalin6177 3 ปีที่แล้ว +3

    Очень хорошо объяснил. Огромное спасибо !

    • @Rclass
      @Rclass  3 ปีที่แล้ว +1

      Спасибо, мы старались! ^_^

  • @varvarskaya
    @varvarskaya 4 ปีที่แล้ว +6

    Спасибо, очень доходчиво!

  • @lfizh703
    @lfizh703 ปีที่แล้ว +1

    Невероятно доступно, спасибо

    • @Rclass
      @Rclass  ปีที่แล้ว

      Спасибо большое :)

  • @SklyarovRoman
    @SklyarovRoman 3 ปีที่แล้ว +5

    Я когда учился вообще сложно было. Но тогда во времена диал ап модемов ютуба не было (

    • @Rclass
      @Rclass  3 ปีที่แล้ว +5

      Интернет ночами по карточкам... Помним-помним)

  • @ЕвгенияКлочева-е5х
    @ЕвгенияКлочева-е5х 3 ปีที่แล้ว +3

    Презентация 🔥🔥🔥

    • @Rclass
      @Rclass  3 ปีที่แล้ว +3

      Спасибо, мы старались ^_^

  • @ДанилаАлександров-с3я
    @ДанилаАлександров-с3я ปีที่แล้ว +2

    Два Ильи-то это ладно. Тёзки просто.
    А вот декомпозиция в НФБК привела к нарушению условия задачи, т.к. теперь к одному проекту можно добавить двух кураторов с одинаковыми направлениями.

  • @alexandershmidt6926
    @alexandershmidt6926 2 ปีที่แล้ว +2

    Какая-то неточность на декомпозиции НФБК. почему связка Илья-Дизайн встречается 2 раза под разными id в таблице workers? И похоже, что в таблице workers тоже надо сделать декомпозицию, чтобы у каждого skill был свой id?

    • @andcoks
      @andcoks 10 หลายเดือนก่อน +2

      Это просто два разных Ильи )

  • @dkorotaeva
    @dkorotaeva 4 ปีที่แล้ว +7

    Очень полезно и мемасики хорошие ))

  • @darkt7770
    @darkt7770 2 ปีที่แล้ว

    великолепное объяснение материала

    • @Rclass
      @Rclass  2 ปีที่แล้ว

      Спасибо большое :)

  • @MyFearIsMyBlue
    @MyFearIsMyBlue ปีที่แล้ว

    Спасибо, материал супер! Подскажите, я правильно понимаю, что на 2:33 строка id=4 таблицы workers избыточная?
    Второй вопрос - для 5НФ. Правильно ли, что три атрибуты могут быть связаны двумя отношениями, а третье отношение в 5НФ является ограничивающим для будущих добавлений и избыточным для текущего состояния таблицы. Иными словами таблицу из примера 5НФ можно восстановить по двум из трех таблиц после декомпазиции?

  • @ТаняСысоева-е4и
    @ТаняСысоева-е4и 2 ปีที่แล้ว

    Спасибо, все очень доступно и понятно!

    • @Rclass
      @Rclass  2 ปีที่แล้ว

      Благодарим) Всё для вас :)

  • @МаксимГригорьев-ь6х
    @МаксимГригорьев-ь6х 2 ปีที่แล้ว +1

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

    • @Rclass
      @Rclass  2 ปีที่แล้ว

      Хм. Отличная идея. Почему мы сами не догадались? :) Попробуем организовать.

  • @TheKniFenew
    @TheKniFenew 4 หลายเดือนก่อน +1

    Почему на 2:55 Илья в таблице workers дублируется? Фича или ошибка?

    • @Rclass
      @Rclass  4 หลายเดือนก่อน

      БАГ! Однозначно)

  • @MaksimHuzmiev
    @MaksimHuzmiev 2 ปีที่แล้ว +2

    Для 4-й нормальной формы пример таблицы, конечно, максимально суррогатный :)

  • @nickrollex2865
    @nickrollex2865 2 ปีที่แล้ว +1

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

    • @Rclass
      @Rclass  2 ปีที่แล้ว

      Чаще всего да, но не всегда. У вас уже может быть 2 таблицы, но один из столбцов может быть не там, например.

  • @oleksandrmuzyka9461
    @oleksandrmuzyka9461 3 ปีที่แล้ว +1

    в третьей задаче есть небольшая ошибка в исходной таблице: у одного и того же дома не может быть разная этажность (если, конечно же, не имелась ввиду этажность квартиры, что маловероятно при значениях 8 и 10)

    • @Rclass
      @Rclass  3 ปีที่แล้ว +2

      Спасибо за отклик) Мы немного упростили реальный мир для данной задачи ^_^

  • @fleapse
    @fleapse 3 ปีที่แล้ว +1

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

    • @Rclass
      @Rclass  3 ปีที่แล้ว +1

      Да, поэтому нужно всегда понимать что ты делаешь и грамотно рассчитывать нагрузку :)

  • @РоманЛукьянов-ю8р
    @РоманЛукьянов-ю8р 3 ปีที่แล้ว +1

    Спасибо все понятно

    • @Rclass
      @Rclass  3 ปีที่แล้ว

      Спасибо, мы старались :)

  • @ggustavchik
    @ggustavchik 3 ปีที่แล้ว +2

    Лайк за Гену

    • @Rclass
      @Rclass  3 ปีที่แล้ว

      Спасибо, мы старались! :)

  • @Трясётпланету
    @Трясётпланету ปีที่แล้ว

    Т.е. таблица может быть или не быть в 5НФ? Если Мишу в общую таблицу прописали как бека, то при декомпозиции - он потеряется(в этом смысл?) из-за нетривиальной зависимости по которой он может быть только фронтом? Или 5НФ - это приведение к декомпозированным таблицам? Предположим, Мишу НЕ заставляют писать бек, исходная таблица находится в 5НФ? Тогда почему по Гене, 5НФ - это устранение нетривиальных зависимостей, ведь они остались в таблице(Миша по прежнему только фронт). Или Гена не того чифирнул и имел в виду, что устраняются нарушения нетривиальных зависимостей?

  • @АнтонКапаев-ъ6ю
    @АнтонКапаев-ъ6ю 4 ปีที่แล้ว +6

    Так стоп, почем в нфбк в таблице рабочие илья дважды записан, хотя скилл один???

    • @Rclass
      @Rclass  4 ปีที่แล้ว +1

      Илья у нас один, и скилл один, а проекты разные :)

    • @mrlait5732
      @mrlait5732 4 ปีที่แล้ว +2

      @@Rclass А если у него будет 50 проектов придется хранить 50 одинаковых Илья-Дизайн? Противоречит определению Нормализации (Нормализация
      удаление избыточности данных)

    • @Rclass
      @Rclass  4 ปีที่แล้ว +4

      @@mrlait5732 вы про 3:04, например? Там ошибка, да, Илья должен быть один раз указан, всё верно :)

    • @mrlait5732
      @mrlait5732 4 ปีที่แล้ว +2

      @@Rclass Спасибо, кста за ролики) Выборочно пересматриваю правила нормализации

    • @Rclass
      @Rclass  4 ปีที่แล้ว +2

      @@mrlait5732 вам спасибо, что подмечаете баги в роликах ^_^

  • @BraentR
    @BraentR ปีที่แล้ว

    Спасибо

    • @Rclass
      @Rclass  ปีที่แล้ว

      Стараемся :)

  • @e1.st0rm99
    @e1.st0rm99 2 ปีที่แล้ว

    Спасибо. Гене, тоже.

    • @Rclass
      @Rclass  2 ปีที่แล้ว

      Гене как всегда отдельное спасибо) А вам спасибо что смотрите :)

  • @Siplyi_s_otvertkoij
    @Siplyi_s_otvertkoij 6 หลายเดือนก่อน

    вообще не понимаю, чем третья усиленная форма отличается от второй, если что там, что там, мы вводим таблицу связей

    • @PBarb-l1r
      @PBarb-l1r หลายเดือนก่อน

      2НФ: Если атрибут НЕКЛЮЧЕВОЙ, то он зависит только от каждого потенциального ключа ЦЕЛИКОМ.
      А в НФБК дополнительно рассматривается зависимость КЛЮЧЕВОГО (части потенциального ключа) от НЕ потенциального ключа.
      Последняя проявляется, когда ты нормализовал до 3NF включительно, но у тебя остались несколько разных потенциальных ключей из нескольких атрибутов ИЛИ эти разные потенциальные ключи пересекаются по атрибутам. В 3NF допустима зависимость A → B, где B - атрибут потенциального ключа, а A - НЕ потенциальный ключ. А НФБК такое принуждает нормализовать.

  • @somethingname9038
    @somethingname9038 11 หลายเดือนก่อน

    Не понимаю, блин, 2:50, так же ведь по имени в таблице воркерс можно определить скилл, то есть неключевой снова по неключевому можно идентифицировать, с чего это НФБК ?
    Столько видосов посмотрел, везде одно и то же, не могу понять, что я пропустил и не так понял...
    А если ключевой составной (id + name), то это даже не вторая.
    А вообще, разве не может быть двух имён с разным скиллом (два разных сотрудника)? Как пример подобный понимать...

    • @PBarb-l1r
      @PBarb-l1r หลายเดือนก่อน

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

  • @garloy
    @garloy 3 ปีที่แล้ว

    и как теперь без Гены другие НФ понимать?

    • @Rclass
      @Rclass  3 ปีที่แล้ว

      Мы задумаемся)

  • @Павел-у6м4г
    @Павел-у6м4г 5 หลายเดือนก่อน

    чуть не забыл поставить LIKE

    • @Rclass
      @Rclass  5 หลายเดือนก่อน

      Спасибо :)