Спасибо, что вы затронули тему нормализации. Преподаю нормализацию баз данных студентам. Заметила, что очень тяжело объяснять нормализацию на словах. А вот если рассказывать на примерах, показывая сами таблицы, то тогда намного проще воспринимать. Поэтому советую тому, кто учит нормализацию советую просто загуглить примеры всех 3 нормальных форм.
Сергей и весь коллектив канала, традиционное спасибо за выпуск, как всегда содержательно и интересно 👍👍👍 * обратил внимание на то, насколько отличаются подход и отношение к БД в случаях бэкенда и дата-аналитики 🙂
Такие вещи лучше объяснять на примерах, тогда всё становится проще. А ещё у каждого разное отношение к составным ключам и искусственным ключам. Я даже знаком с людьми, что терпеть не могут вторичные ключи и заявляют, что лучше они это всё проконтролируют в коде, чем будут получать ошибки от БД.
Прекрасное видео! Ваш канал этот кладезь невероятно полезной информации. Не хватает только иллюстрации реальным кодом, но я так понимаю, что это намеренно и чтобы аудитория посещала ваши курсы. Имеете полное право на такой подход. Огромное спасибо!
Хорошее видео, спасибо. Базы данных, не смотря на казалось бы элементарность темы, могут приподнести сюпризы, так что всегда лучше продумать их схему заранее. Еще короткое и емкое объявнение темы нормализации приведено в книге Murach's MySQL в главе про проектирование баз данных.
Если нужно понять нормальные формы, лучше поискать другое видео. здесь спикер пытался объяснить, но у него не получилось, без примеров это сделать непросто. Ради справедливости, первую форму понятно объяснил.
@@xyzw777 вы про EXPLAIN ANALYZE или какой-то сторонний софт для отладки? Я просто хз, в последний раз занимался оптимизацией запросов в очень крупном интернет-магазине года 3 назад. Если честно, то удивлён, что для этого существуют отдельные люди, т.к. раньше подобным занимались сами же _погроммисты._
Сергей, у тебя настоящий талант рассказывать интересно о скучных вещах) Даже если ты снимешь видос о том, как чистить картошку, то это будет интересно)
У нас в институте рассылают эксель для заполнения отчета по гранту, что делал каждый день (да, це Европа). Там ссылки на какой-то другой экслель на каком--то компе в папке оутлук. У меня его нет. Я полгода пытаюсь обьяснить, что не надо так. Потом все автоматическое заполнение не работает и все вручную. И да, делали под чешскую винду. Месяцы не по номерам, а по названиям. А там всего-то сложить числа в одном столбце и все - количество отработанных часов.
Спасибо за видео. Полезно. Хочу добавить, что по идее УНП (уникальный номер налогоплательщика) уже можно использовать как ID. Т.е. ключ становится простым, состоящим из одного поля, а не составным. Тогда вторая НФ у нас получится автоматически. Вопрос о том, что вообще лучше делать искусственный ключ мы оставим за скобками :)
@@komputersh4ik546 о как, не знал. По крайней мере не слышал, возможно ли такое в Беларуси. С другой стороны, если УНП может быть null, то стоит ли его вообще включать в ключ? И опять же к вопросу о том, что ключи лучше делать искусственные, чтобы не зависеть от специфики предметной области.
ненавижу когда это спрашивают на собесах - сразу понимаю, что интервьюер не очень. Везет, что уже на уровне, когда у меня такое спрашивать не прилично, но в своей карьере попадал на такой вопрос неоднократно.
Почему же? Тема лёгкая и важная, разумеется её будут спрашивать. Хотя бы базово понимать, что ячейка хранить одно значение и записи должны быть уникальными с pk
И 25 лет назад в книжках для простых людей писали, что дальше 3НФ вам не надо. Сейчас, в эпоху ормов, если сперва проектировать на уровне объектов, то как-то и без матана обычно видно, что вот этот вот кусок просится выделиться в отдельный объект.
join и сейчас нормально не работают. по крайней мере в ms sql. сильно зависит от статистик и сегментации. и довольно часто непредсказуемо время исполнения.
Тема очень скучная, а оттуда и интерес. Так как самому ее понять большинству очень сложно. А вы ее очень хорошо объяснили, ну или, по крайней мере, дали еще одну точку зрения на непонятные формулы, что прибавляет объемности уже имеющимся у меня представлениям. За что большое спасибо.
Хорошо объяснил на пальцах нормализацию. Но как обычно всегда есть нюансы. Современные БД (и PostgreSQL и Oracle) позволяют применять массив в виде типа поля. И если у меня в таблице есть поле, на пример, json_id int8[], то от этого едва ли моя таблица не поддерживает 1НФ. Хотя одно из правил 1НФ требует одно значение. С другой стороны, если рассматривать это поле как массив, то значение в нем и правда хранится одно - массив данных.
Интересно как Сергей готовится к записи таких видосов. Наверное он немного готовится и "поднимает" материал с интернетов а не сразу из головы? А то начинает казаться что Сергей знает всё и обо всем
ИМХО если человек хоть чуть чуть понимает как программа работает с данными, то ниже третей формы он бд не организует. Когда студенческую работу по продаже билетов автовокзала делал была претензия что у меня ни одного джойна нет, у меня все дублирующиеся данные были вынесены в таблицы-словарики по праймари кеям, единственное что я не смог придумать чтоб было просто как кирпич - это остановки на маршруте, но посомтрев примеры таких работ в инете понял что мало кто вообще до этого этапа дошёл.
тут имеется ввиду, что все значения будут одного типа. Если это строка, то она везде строка, а не массив строк в одном случае; если это массив, то это везде массив, а не json в одной ячейке.
Слишком уж категорично, на мой взгляд, про денормализацию. Из моего опыта, при разработке микросервисов, постоянно приходится с ней сталкиваться. Альтернатива - постоянно ходить к другим сервисам за недостающей инфой, что вообще не играет на руку устойчивости всего приложения и превращает микросервисы в уродливый монолит
Первое правило архитектуры - everything is a trade-off. Вы однозначно правы - в некоторых ситуациях денормализация необходима, чтобы достичь определенных характеристик системы, а в других - только вредит.
Трудно что-ли брать примеры из реальных кейсов? Неужели сложный ключ не можете нормально объяснить? Или вы просто давно что-то реальное делали? Ну тогда готовьтесь к роликам.
Я так и ни понял как в ето играть. И почиму про ключ много есть а про Буратину нет как бдто от него ни зависит. (камент дыля прадвижения Буратинам, а то Немчина пужаить, и страшно...)
⚡ Повысьте скорость и безопасность своего сайта!
Присоединяйтесь к UltaHost:
👉 ultahost.com/ru
👉 ultahost.com/uk
Классно ещё увидеть ролик про индексы БД, и как они устроены и как работает например B-Tree.
+ планы запрососв!
пушо стример - должен страдать!
+ уровни изоляции транзакций, блокировки и синхронизацию
не мучайте Немчинского
Спасибо, что вы затронули тему нормализации. Преподаю нормализацию баз данных студентам. Заметила, что очень тяжело объяснять нормализацию на словах. А вот если рассказывать на примерах, показывая сами таблицы, то тогда намного проще воспринимать. Поэтому советую тому, кто учит нормализацию советую просто загуглить примеры всех 3 нормальных форм.
Горе преподаватели... Вся терминология через отрицание дается, потому и тяжело
Спасибо за Вашу работу!)
Дякую за Вашу роботу та корисну інформацію. Подивився 08.10.24
Практика і досвід. Дякую!
Сергей и весь коллектив канала, традиционное спасибо за выпуск, как всегда содержательно и интересно 👍👍👍
* обратил внимание на то, насколько отличаются подход и отношение к БД в случаях бэкенда и дата-аналитики 🙂
Подобные видео полезные, а не просто развлекательные 👍🏻
Такие вещи лучше объяснять на примерах, тогда всё становится проще.
А ещё у каждого разное отношение к составным ключам и искусственным ключам. Я даже знаком с людьми, что терпеть не могут вторичные ключи и заявляют, что лучше они это всё проконтролируют в коде, чем будут получать ошибки от БД.
Прекрасное видео! Ваш канал этот кладезь невероятно полезной информации. Не хватает только иллюстрации реальным кодом, но я так понимаю, что это намеренно и чтобы аудитория посещала ваши курсы. Имеете полное право на такой подход. Огромное спасибо!
Хорошее видео, спасибо. Базы данных, не смотря на казалось бы элементарность темы, могут приподнести сюпризы, так что всегда лучше продумать их схему заранее.
Еще короткое и емкое объявнение темы нормализации приведено в книге Murach's MySQL в главе про проектирование баз данных.
Сделайте пожалуйста видео про индексы, статистику, план запросов.
Очень интересно, очень понятно, очень спасибо.
Очень часто это спрашивают на собесах. Теперь буду знать как отвечать на этот вопрос. На практике знаю про нормализацию, но теорию не знал)
Было очень интересно, ждем продолжения на подобные темы) Даже удалось понять большую часть)
О Господи наконец-то нашолся человек который переложил этот ботан-описание на адекватные термины, спсасибо тебе..
Если нужно понять нормальные формы, лучше поискать другое видео. здесь спикер пытался объяснить, но у него не получилось, без примеров это сделать непросто. Ради справедливости, первую форму понятно объяснил.
Не хотел смотреть, потому что знал это, но видос очень интересный, точный и комичный даже)). Спасибо. Лайк!👍
Хочу стать денормализатором баз данных!
Денормализаторами не становятся, ими рождаются
ты им уже стал
Т.е. клиентом с идиотскими требованиями, которые противоречат изначальному ТЗ? )
@@deniskhakimov нет человеком у кого аналитические запросы в БД летают
@@xyzw777 вы про EXPLAIN ANALYZE или какой-то сторонний софт для отладки?
Я просто хз, в последний раз занимался оптимизацией запросов в очень крупном интернет-магазине года 3 назад. Если честно, то удивлён, что для этого существуют отдельные люди, т.к. раньше подобным занимались сами же _погроммисты._
Эту тему не заказывал и впервые про неё вообще слышу, но посмотрел видос с огромным удовольствием) фронтендер
о наконец-то эта тема, спасибо!
Сергей, у тебя настоящий талант рассказывать интересно о скучных вещах) Даже если ты снимешь видос о том, как чистить картошку, то это будет интересно)
Супер, спасибо!!!
Мне понравилась формулировка, что нормализация БД, это процесс который уменьшает потенциальные пустые поля, nulls.
Дякую, Сергій! Думаю, буде дуже цікаво зробити ремєйк ролика про декомпозицію 👍
Спасибо, мне было очень полезно.
Дуже цікава тема. Дякую
норм тема, спасибо.
У нас в институте рассылают эксель для заполнения отчета по гранту, что делал каждый день (да, це Европа). Там ссылки на какой-то другой экслель на каком--то компе в папке оутлук. У меня его нет. Я полгода пытаюсь обьяснить, что не надо так. Потом все автоматическое заполнение не работает и все вручную. И да, делали под чешскую винду. Месяцы не по номерам, а по названиям. А там всего-то сложить числа в одном столбце и все - количество отработанных часов.
Жаль, что нельзя сразу over1000 лайков поставить)
Урааа, я не зря учил дискретку и комбинаторику.Хотя если брать во внимание что юзаем только до NF3 то ...
Спасибо за видео. Полезно. Хочу добавить, что по идее УНП (уникальный номер налогоплательщика) уже можно использовать как ID. Т.е. ключ становится простым, состоящим из одного поля, а не составным. Тогда вторая НФ у нас получится автоматически. Вопрос о том, что вообще лучше делать искусственный ключ мы оставим за скобками :)
Нельзя потому что не у всех есть ИПН, от него можно отказаться
@@komputersh4ik546 о как, не знал. По крайней мере не слышал, возможно ли такое в Беларуси. С другой стороны, если УНП может быть null, то стоит ли его вообще включать в ключ? И опять же к вопросу о том, что ключи лучше делать искусственные, чтобы не зависеть от специфики предметной области.
@@The_Vict0rну ещё вариант использовать уникальный номер в демографическом реестре он даётся 1 раз и на всю жизнь
Сделал небольшой конспект по ролику, буду иногда читать перед сложными собесами) спасибо
Полезно. 😊
Как в нормализацию вписываются Date Added и Date Updated?
ненавижу когда это спрашивают на собесах - сразу понимаю, что интервьюер не очень. Везет, что уже на уровне, когда у меня такое спрашивать не прилично, но в своей карьере попадал на такой вопрос неоднократно.
Почему же? Тема лёгкая и важная, разумеется её будут спрашивать.
Хотя бы базово понимать, что ячейка хранить одно значение и записи должны быть уникальными с pk
Спасибо за "человеческое" объяснение "нечеловеческих" определений 😅
И 25 лет назад в книжках для простых людей писали, что дальше 3НФ вам не надо.
Сейчас, в эпоху ормов, если сперва проектировать на уровне объектов, то как-то и без матана обычно видно, что вот этот вот кусок просится выделиться в отдельный объект.
Алілуя! Нарешті) всього лише кілька місяців просили на стрімах, і ось воно!
Сергей Немчинский на протяжение 24 минут отвергает матан 😂
Почтим страдания лайком!
Лайк за Марка Ноплера 😂❤
Не самое вдохновляющее дело, но полезное.
Я думал что я знаю что такое нормализация БД. После просмотра видео я еще почитал википедию.
Теперь я не знаю что такое нормализация ((
Щось цей ультахост якийсь стрьомний. У переліку валют є багато чого, навіть убль, а грн відсутня.
Та й вартість щось кусається
надо рисовать. слайды или хотя б рисунки на доске улучшили бы понимание.
22:00 - так появились NoSQL базы ))) (шучу)
8:57 ...достает произвольные JSONы из каждой ячейки 🫤
join и сейчас нормально не работают. по крайней мере в ms sql. сильно зависит от статистик и сегментации. и довольно часто непредсказуемо время исполнения.
Тема очень скучная, а оттуда и интерес. Так как самому ее понять большинству очень сложно. А вы ее очень хорошо объяснили, ну или, по крайней мере, дали еще одну точку зрения на непонятные формулы, что прибавляет объемности уже имеющимся у меня представлениям. За что большое спасибо.
Нормализировать можно всё😂
Хорошо объяснил на пальцах нормализацию. Но как обычно всегда есть нюансы. Современные БД (и PostgreSQL и Oracle) позволяют применять массив в виде типа поля. И если у меня в таблице есть поле, на пример, json_id int8[], то от этого едва ли моя таблица не поддерживает 1НФ. Хотя одно из правил 1НФ требует одно значение. С другой стороны, если рассматривать это поле как массив, то значение в нем и правда хранится одно - массив данных.
Интересно как Сергей готовится к записи таких видосов. Наверное он немного готовится и "поднимает" материал с интернетов а не сразу из головы?
А то начинает казаться что Сергей знает всё и обо всем
Конечно готовился) вы меня переоцениваете
ИМХО если человек хоть чуть чуть понимает как программа работает с данными, то ниже третей формы он бд не организует. Когда студенческую работу по продаже билетов автовокзала делал была претензия что у меня ни одного джойна нет, у меня все дублирующиеся данные были вынесены в таблицы-словарики по праймари кеям, единственное что я не смог придумать чтоб было просто как кирпич - это остановки на маршруте, но посомтрев примеры таких работ в инете понял что мало кто вообще до этого этапа дошёл.
Коротше кажучи, аналізуйте сутності, юзайте ОРМ і буде вам щастя.
Дякую 👍
Нормально
> не позволят нафигачить несколько значений
А как же array?
тут имеется ввиду, что все значения будут одного типа. Если это строка, то она везде строка, а не массив строк в одном случае; если это массив, то это везде массив, а не json в одной ячейке.
👍
17:01 бийонсе код нормал форм
У меня сервер не всегда успевает в нормализованную базу...
Спасибо!
Слишком уж категорично, на мой взгляд, про денормализацию. Из моего опыта, при разработке микросервисов, постоянно приходится с ней сталкиваться. Альтернатива - постоянно ходить к другим сервисам за недостающей инфой, что вообще не играет на руку устойчивости всего приложения и превращает микросервисы в уродливый монолит
Первое правило архитектуры - everything is a trade-off. Вы однозначно правы - в некоторых ситуациях денормализация необходима, чтобы достичь определенных характеристик системы, а в других - только вредит.
благодарю за выделения места в левом верхнем углу места для поддержи ассоциации людей больных синдромом Дауна, от души
Ты давно не посещал психиатра. Тебе прогулы уже ставят. Лечись.
Судя по твоему комментарию это вообще не помогает
Не понял, при чем тут математический анализ? Терпеть не могу его
❤❤❤😂😂😂😢😢😢
Трудно что-ли брать примеры из реальных кейсов? Неужели сложный ключ не можете нормально объяснить? Или вы просто давно что-то реальное делали? Ну тогда готовьтесь к роликам.
Чё за флаг
Я так и ни понял как в ето играть.
И почиму про ключ много есть а про Буратину нет как бдто от него ни зависит.
(камент дыля прадвижения Буратинам, а то Немчина пужаить, и страшно...)
Сергей, как к вам устроится ?
Ментором? На сайте есть форма в разделе команда
@@NemchinskyLive программером
Через постель 😂
@@torrvic1156 ваш метод ?))