Что такое нормализация баз данных?

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

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

  • @SergeyNemchinskiy
    @SergeyNemchinskiy  2 หลายเดือนก่อน +1

    ⚡ Повысьте скорость и безопасность своего сайта!
    Присоединяйтесь к UltaHost:
    👉 ultahost.com/ru
    👉 ultahost.com/uk

  • @Mr43046721
    @Mr43046721 2 หลายเดือนก่อน +57

    Классно ещё увидеть ролик про индексы БД, и как они устроены и как работает например B-Tree.

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

      + планы запрососв!

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

      пушо стример - должен страдать!

    • @АлексейКутасов-п7и
      @АлексейКутасов-п7и 2 หลายเดือนก่อน +3

      + уровни изоляции транзакций, блокировки и синхронизацию

    • @xyzw777
      @xyzw777 2 หลายเดือนก่อน

      не мучайте Немчинского

  • @ГончароваАлиса-х9ч
    @ГончароваАлиса-х9ч 2 หลายเดือนก่อน +12

    Спасибо, что вы затронули тему нормализации. Преподаю нормализацию баз данных студентам. Заметила, что очень тяжело объяснять нормализацию на словах. А вот если рассказывать на примерах, показывая сами таблицы, то тогда намного проще воспринимать. Поэтому советую тому, кто учит нормализацию советую просто загуглить примеры всех 3 нормальных форм.

    • @user-tw6nk7be5g
      @user-tw6nk7be5g หลายเดือนก่อน

      Горе преподаватели... Вся терминология через отрицание дается, потому и тяжело

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

    Дякую за Вашу роботу та корисну інформацію. Подивився 08.10.24

  • @ДарияДолгая
    @ДарияДолгая 2 หลายเดือนก่อน +2

    Спасибо за Вашу работу!)

  • @maksym7279
    @maksym7279 2 หลายเดือนก่อน

    Практика і досвід. Дякую!

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

    Подобные видео полезные, а не просто развлекательные 👍🏻

  • @torrvic1156
    @torrvic1156 2 หลายเดือนก่อน

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

  • @alexivanov8239
    @alexivanov8239 2 หลายเดือนก่อน

    Было очень интересно, ждем продолжения на подобные темы) Даже удалось понять большую часть)

  • @LeonidYakovlev85
    @LeonidYakovlev85 2 หลายเดือนก่อน

    Сергей и весь коллектив канала, традиционное спасибо за выпуск, как всегда содержательно и интересно 👍👍👍
    * обратил внимание на то, насколько отличаются подход и отношение к БД в случаях бэкенда и дата-аналитики 🙂

  • @StanBo_ua
    @StanBo_ua 2 หลายเดือนก่อน +1

    Хорошее видео, спасибо. Базы данных, не смотря на казалось бы элементарность темы, могут приподнести сюпризы, так что всегда лучше продумать их схему заранее.
    Еще короткое и емкое объявнение темы нормализации приведено в книге Murach's MySQL в главе про проектирование баз данных.

  • @muksaflash
    @muksaflash 2 หลายเดือนก่อน

    Не хотел смотреть, потому что знал это, но видос очень интересный, точный и комичный даже)). Спасибо. Лайк!👍

  • @TheBlablashka
    @TheBlablashka 2 หลายเดือนก่อน

    Эту тему не заказывал и впервые про неё вообще слышу, но посмотрел видос с огромным удовольствием) фронтендер

  • @IljaMochenov
    @IljaMochenov 2 หลายเดือนก่อน

    Очень интересно, очень понятно, очень спасибо.

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

    Такие вещи лучше объяснять на примерах, тогда всё становится проще.
    А ещё у каждого разное отношение к составным ключам и искусственным ключам. Я даже знаком с людьми, что терпеть не могут вторичные ключи и заявляют, что лучше они это всё проконтролируют в коде, чем будут получать ошибки от БД.

  • @eM1racle
    @eM1racle 2 หลายเดือนก่อน +15

    Хочу стать денормализатором баз данных!

    • @JokerSadist
      @JokerSadist 2 หลายเดือนก่อน +7

      Денормализаторами не становятся, ими рождаются

    • @johndoe20975
      @johndoe20975 2 หลายเดือนก่อน

      ты им уже стал

    • @deniskhakimov
      @deniskhakimov 2 หลายเดือนก่อน

      Т.е. клиентом с идиотскими требованиями, которые противоречат изначальному ТЗ? )

    • @xyzw777
      @xyzw777 2 หลายเดือนก่อน

      @@deniskhakimov нет человеком у кого аналитические запросы в БД летают

    • @deniskhakimov
      @deniskhakimov 2 หลายเดือนก่อน

      @@xyzw777 вы про EXPLAIN ANALYZE или какой-то сторонний софт для отладки?
      Я просто хз, в последний раз занимался оптимизацией запросов в очень крупном интернет-магазине года 3 назад. Если честно, то удивлён, что для этого существуют отдельные люди, т.к. раньше подобным занимались сами же _погроммисты._

  • @donlinoleum831
    @donlinoleum831 2 หลายเดือนก่อน

    Сергей, у тебя настоящий талант рассказывать интересно о скучных вещах) Даже если ты снимешь видос о том, как чистить картошку, то это будет интересно)

  • @tarasshevchuk8477
    @tarasshevchuk8477 2 หลายเดือนก่อน

    Дуже цікава тема. Дякую

  • @AlexAlex-lc7mc
    @AlexAlex-lc7mc 2 หลายเดือนก่อน +1

    Сделайте пожалуйста видео про индексы, статистику, план запросов.

  • @Shauyenov
    @Shauyenov 2 หลายเดือนก่อน

    Очень часто это спрашивают на собесах. Теперь буду знать как отвечать на этот вопрос. На практике знаю про нормализацию, но теорию не знал)

  • @nickolasmaslow7041
    @nickolasmaslow7041 2 หลายเดือนก่อน

    о наконец-то эта тема, спасибо!

  • @oleksandrhomyak
    @oleksandrhomyak 2 หลายเดือนก่อน +1

    О Господи наконец-то нашолся человек который переложил этот ботан-описание на адекватные термины, спсасибо тебе..

  • @Александр-ч3ю5ц
    @Александр-ч3ю5ц 2 หลายเดือนก่อน

    Спасибо, мне было очень полезно.

  • @alex_1278
    @alex_1278 2 หลายเดือนก่อน +3

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

  • @eduard401932
    @eduard401932 2 หลายเดือนก่อน

    Супер, спасибо!!!

  • @olegstepanov7500
    @olegstepanov7500 2 หลายเดือนก่อน

    Если нужно понять нормальные формы, лучше поискать другое видео. здесь спикер пытался объяснить, но у него не получилось, без примеров это сделать непросто. Ради справедливости, первую форму понятно объяснил.

  • @AndyPlov
    @AndyPlov 2 หลายเดือนก่อน

    Мне понравилась формулировка, что нормализация БД, это процесс который уменьшает потенциальные пустые поля, nulls.

  • @РоманЮрчев
    @РоманЮрчев 2 หลายเดือนก่อน

    Жаль, что нельзя сразу over1000 лайков поставить)

  • @AbramovskyEvgeny
    @AbramovskyEvgeny 2 หลายเดือนก่อน

    Полезно. 😊

  • @9rdvjkkkkb
    @9rdvjkkkkb 2 หลายเดือนก่อน

    норм тема, спасибо.

  • @Mr43046721
    @Mr43046721 2 หลายเดือนก่อน +1

    Сделал небольшой конспект по ролику, буду иногда читать перед сложными собесами) спасибо

  • @The_Vict0r
    @The_Vict0r 2 หลายเดือนก่อน

    Спасибо за видео. Полезно. Хочу добавить, что по идее УНП (уникальный номер налогоплательщика) уже можно использовать как ID. Т.е. ключ становится простым, состоящим из одного поля, а не составным. Тогда вторая НФ у нас получится автоматически. Вопрос о том, что вообще лучше делать искусственный ключ мы оставим за скобками :)

    • @komputersh4ik546
      @komputersh4ik546 2 หลายเดือนก่อน

      Нельзя потому что не у всех есть ИПН, от него можно отказаться

    • @The_Vict0r
      @The_Vict0r 2 หลายเดือนก่อน +1

      @@komputersh4ik546 о как, не знал. По крайней мере не слышал, возможно ли такое в Беларуси. С другой стороны, если УНП может быть null, то стоит ли его вообще включать в ключ? И опять же к вопросу о том, что ключи лучше делать искусственные, чтобы не зависеть от специфики предметной области.

    • @komputersh4ik546
      @komputersh4ik546 2 หลายเดือนก่อน +1

      ​@@The_Vict0rну ещё вариант использовать уникальный номер в демографическом реестре он даётся 1 раз и на всю жизнь

  • @TheLevius
    @TheLevius 2 หลายเดือนก่อน

    Как в нормализацию вписываются Date Added и Date Updated?

  • @Kriptio
    @Kriptio 2 หลายเดือนก่อน

    Урааа, я не зря учил дискретку и комбинаторику.Хотя если брать во внимание что юзаем только до NF3 то ...

  • @ВасильЗірка-н1г
    @ВасильЗірка-н1г 2 หลายเดือนก่อน

    Алілуя! Нарешті) всього лише кілька місяців просили на стрімах, і ось воно!

  • @andrewvasiliev4548
    @andrewvasiliev4548 9 วันที่ผ่านมา

    Вычисляемые поля нарушают 3НФ?
    Например, у меня есть пул заявок с nullable датой выполнения. И мне нужно булевое поле, где хранится просто 0 - если даты нет, и 1 в любом другом случае, т.е. по факту просто отметка, закрыта заявка или нет. Получается, введние такого поля нарушает 3НФ? Или я неправильно понял? И как тогда предполагается сделать, чтобы не нарушалась НФ?

  • @albert.karapetyan
    @albert.karapetyan 13 วันที่ผ่านมา

    Использование столбца с типом JSON в таблице может быть признаком отклонения от строгих принципов нормализации, но это не всегда означает, что структура «ненормализованная». Всё зависит от контекста и характера данных, хранимых в этом JSON. 👇
    1. Если вы используете JSON для хранения данных, которые можно было бы вынести в отдельные таблицы (например, связанные записи), то это считается отклонением от нормализации. 👎
    2. Если JSON используется для хранения данных, которые не имеют фиксированной структуры или меняются со временем, это может быть оправдано. Например, пользовательские настройки или лог событий. В этом случае JSON помогает избежать чрезмерной сложности в проектировании. 👍

  • @piotrl7618
    @piotrl7618 2 หลายเดือนก่อน

    Лайк за Марка Ноплера 😂❤

  • @redneck_prm5429
    @redneck_prm5429 2 หลายเดือนก่อน

    И 25 лет назад в книжках для простых людей писали, что дальше 3НФ вам не надо.
    Сейчас, в эпоху ормов, если сперва проектировать на уровне объектов, то как-то и без матана обычно видно, что вот этот вот кусок просится выделиться в отдельный объект.

  • @TheLevius
    @TheLevius 2 หลายเดือนก่อน

    22:00 - так появились NoSQL базы ))) (шучу)

  • @Wise___Man
    @Wise___Man 2 หลายเดือนก่อน +3

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

    • @АртурЛюбимов-й1о
      @АртурЛюбимов-й1о 2 หลายเดือนก่อน

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

  • @1654045
    @1654045 2 หลายเดือนก่อน +1

    надо рисовать. слайды или хотя б рисунки на доске улучшили бы понимание.

  • @evan_kirk
    @evan_kirk 2 หลายเดือนก่อน

    Сергей Немчинский на протяжение 24 минут отвергает матан 😂

  • @ПетяИванов-н2л
    @ПетяИванов-н2л 2 หลายเดือนก่อน

    Не самое вдохновляющее дело, но полезное.

  • @inffomax
    @inffomax 2 หลายเดือนก่อน

    Спасибо за "человеческое" объяснение "нечеловеческих" определений 😅

  • @Sofastmovingforward
    @Sofastmovingforward 2 หลายเดือนก่อน

    Почтим страдания лайком!

  • @sergeypekar1058
    @sergeypekar1058 2 หลายเดือนก่อน

    8:57 ...достает произвольные JSONы из каждой ячейки 🫤

  • @antonkorotkov3341
    @antonkorotkov3341 2 หลายเดือนก่อน

    join и сейчас нормально не работают. по крайней мере в ms sql. сильно зависит от статистик и сегментации. и довольно часто непредсказуемо время исполнения.

  • @oleksander674
    @oleksander674 2 หลายเดือนก่อน

    17:01 бийонсе код нормал форм

  • @Олександр-ы4э
    @Олександр-ы4э 2 หลายเดือนก่อน

    Дякую 👍

  • @vasiliysobovoy4289
    @vasiliysobovoy4289 2 หลายเดือนก่อน

    Я думал что я знаю что такое нормализация БД. После просмотра видео я еще почитал википедию.
    Теперь я не знаю что такое нормализация ((

  • @lsdvitamin772
    @lsdvitamin772 2 หลายเดือนก่อน

    Хорошо объяснил на пальцах нормализацию. Но как обычно всегда есть нюансы. Современные БД (и PostgreSQL и Oracle) позволяют применять массив в виде типа поля. И если у меня в таблице есть поле, на пример, json_id int8[], то от этого едва ли моя таблица не поддерживает 1НФ. Хотя одно из правил 1НФ требует одно значение. С другой стороны, если рассматривать это поле как массив, то значение в нем и правда хранится одно - массив данных.

  • @dmitriivanov7010
    @dmitriivanov7010 2 หลายเดือนก่อน +1

    Нормализировать можно всё😂

  • @Mr43046721
    @Mr43046721 2 หลายเดือนก่อน

    Интересно как Сергей готовится к записи таких видосов. Наверное он немного готовится и "поднимает" материал с интернетов а не сразу из головы?
    А то начинает казаться что Сергей знает всё и обо всем

    • @NemchinskyLive
      @NemchinskyLive 2 หลายเดือนก่อน +1

      Конечно готовился) вы меня переоцениваете

  • @studiere
    @studiere 2 หลายเดือนก่อน +1

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

  • @saasrus
    @saasrus 2 หลายเดือนก่อน

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

  • @VaGroz
    @VaGroz 2 หลายเดือนก่อน

    > не позволят нафигачить несколько значений
    А как же array?

    • @EdwardNorthwind
      @EdwardNorthwind 2 หลายเดือนก่อน +1

      тут имеется ввиду, что все значения будут одного типа. Если это строка, то она везде строка, а не массив строк в одном случае; если это массив, то это везде массив, а не json в одной ячейке.

  • @woodzimierz9621
    @woodzimierz9621 2 หลายเดือนก่อน +4

    Щось цей ультахост якийсь стрьомний. У переліку валют є багато чого, навіть убль, а грн відсутня.

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

    У меня сервер не всегда успевает в нормализованную базу...
    Спасибо!

  • @woodzimierz9621
    @woodzimierz9621 2 หลายเดือนก่อน +1

    Коротше кажучи, аналізуйте сутності, юзайте ОРМ і буде вам щастя.

  • @Алексей-й5ч8х
    @Алексей-й5ч8х 2 หลายเดือนก่อน

    👍

  • @АндрейГудзь-э5ш
    @АндрейГудзь-э5ш 2 หลายเดือนก่อน

    Нормально

  • @АлександрВ-е2л
    @АлександрВ-е2л 2 หลายเดือนก่อน +1

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

    • @torrvic1156
      @torrvic1156 2 หลายเดือนก่อน

      Ты давно не посещал психиатра. Тебе прогулы уже ставят. Лечись.

    • @sense5879
      @sense5879 2 หลายเดือนก่อน

      Судя по твоему комментарию это вообще не помогает

  • @mazZZzilaplayer
    @mazZZzilaplayer 2 หลายเดือนก่อน

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

    • @Wise___Man
      @Wise___Man 2 หลายเดือนก่อน

      Первое правило архитектуры - everything is a trade-off. Вы однозначно правы - в некоторых ситуациях денормализация необходима, чтобы достичь определенных характеристик системы, а в других - только вредит.

  • @VolodymyrChernigiv1300
    @VolodymyrChernigiv1300 2 หลายเดือนก่อน

    ❤❤❤😂😂😂😢😢😢

  • @VaGroz
    @VaGroz 2 หลายเดือนก่อน

    Не понял, при чем тут математический анализ? Терпеть не могу его

  • @SergeyShmateyev
    @SergeyShmateyev 2 หลายเดือนก่อน

    Трудно что-ли брать примеры из реальных кейсов? Неужели сложный ключ не можете нормально объяснить? Или вы просто давно что-то реальное делали? Ну тогда готовьтесь к роликам.

  • @ibo9044
    @ibo9044 2 หลายเดือนก่อน

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

  • @ВеликийМец
    @ВеликийМец 2 หลายเดือนก่อน

    Чё за флаг

  • @dmitryshevkoplias6845
    @dmitryshevkoplias6845 2 หลายเดือนก่อน

    Сергей, как к вам устроится ?

    • @NemchinskyLive
      @NemchinskyLive 2 หลายเดือนก่อน

      Ментором? На сайте есть форма в разделе команда

    • @dmitryshevkoplias6845
      @dmitryshevkoplias6845 2 หลายเดือนก่อน

      @@NemchinskyLive программером

    • @torrvic1156
      @torrvic1156 2 หลายเดือนก่อน

      Через постель 😂

    • @dmitryshevkoplias6845
      @dmitryshevkoplias6845 2 หลายเดือนก่อน

      @@torrvic1156 ваш метод ?))