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

  Рет қаралды 17,144

Sergey Nemchinskiy

Sergey Nemchinskiy

Күн бұрын

Пікірлер: 100
@SergeyNemchinskiy
@SergeyNemchinskiy 4 ай бұрын
⚡ Повысьте скорость и безопасность своего сайта! Присоединяйтесь к UltaHost: 👉 ultahost.com/ru 👉 ultahost.com/uk
@Mr43046721
@Mr43046721 4 ай бұрын
Классно ещё увидеть ролик про индексы БД, и как они устроены и как работает например B-Tree.
@oleksandrhomyak
@oleksandrhomyak 4 ай бұрын
+ планы запрососв!
@1654045
@1654045 4 ай бұрын
пушо стример - должен страдать!
@АлексейКутасов-п7и
@АлексейКутасов-п7и 4 ай бұрын
+ уровни изоляции транзакций, блокировки и синхронизацию
@xyzw777
@xyzw777 4 ай бұрын
не мучайте Немчинского
@Владимир-м4и8э
@Владимир-м4и8э 27 күн бұрын
А почему книги не читаем?
@ГончароваАлиса-х9ч
@ГончароваАлиса-х9ч 4 ай бұрын
Спасибо, что вы затронули тему нормализации. Преподаю нормализацию баз данных студентам. Заметила, что очень тяжело объяснять нормализацию на словах. А вот если рассказывать на примерах, показывая сами таблицы, то тогда намного проще воспринимать. Поэтому советую тому, кто учит нормализацию советую просто загуглить примеры всех 3 нормальных форм.
@user-tw6nk7be5g
@user-tw6nk7be5g 2 ай бұрын
Горе преподаватели... Вся терминология через отрицание дается, потому и тяжело
@garkin4339
@garkin4339 3 ай бұрын
Дякую за Вашу роботу та корисну інформацію. Подивився 08.10.24
@Владимир-м4и8э
@Владимир-м4и8э 27 күн бұрын
Ну Сергей, такой вольной трактовки нормализации я еще не видел :) Однако видео получилось весёлым и не бесполезным :))) Палец вверх я все-таки поставил.
@BAVEHTNH
@BAVEHTNH 4 ай бұрын
Подобные видео полезные, а не просто развлекательные 👍🏻
@ДарияДолгая
@ДарияДолгая 3 ай бұрын
Спасибо за Вашу работу!)
@maksym7279
@maksym7279 3 ай бұрын
Практика і досвід. Дякую!
@torrvic1156
@torrvic1156 4 ай бұрын
Прекрасное видео! Ваш канал этот кладезь невероятно полезной информации. Не хватает только иллюстрации реальным кодом, но я так понимаю, что это намеренно и чтобы аудитория посещала ваши курсы. Имеете полное право на такой подход. Огромное спасибо!
@LeonidYakovlev85
@LeonidYakovlev85 3 ай бұрын
Сергей и весь коллектив канала, традиционное спасибо за выпуск, как всегда содержательно и интересно 👍👍👍 * обратил внимание на то, насколько отличаются подход и отношение к БД в случаях бэкенда и дата-аналитики 🙂
@alexivanov8239
@alexivanov8239 4 ай бұрын
Было очень интересно, ждем продолжения на подобные темы) Даже удалось понять большую часть)
@olegstepanov7500
@olegstepanov7500 3 ай бұрын
Если нужно понять нормальные формы, лучше поискать другое видео. здесь спикер пытался объяснить, но у него не получилось, без примеров это сделать непросто. Ради справедливости, первую форму понятно объяснил.
@AlexAlex-lc7mc
@AlexAlex-lc7mc 3 ай бұрын
Сделайте пожалуйста видео про индексы, статистику, план запросов.
@tarasshevchuk8477
@tarasshevchuk8477 4 ай бұрын
Дуже цікава тема. Дякую
@muksaflash
@muksaflash 4 ай бұрын
Не хотел смотреть, потому что знал это, но видос очень интересный, точный и комичный даже)). Спасибо. Лайк!👍
@StanBo_ua
@StanBo_ua 4 ай бұрын
Хорошее видео, спасибо. Базы данных, не смотря на казалось бы элементарность темы, могут приподнести сюпризы, так что всегда лучше продумать их схему заранее. Еще короткое и емкое объявнение темы нормализации приведено в книге Murach's MySQL в главе про проектирование баз данных.
@nickolasmaslow7041
@nickolasmaslow7041 4 ай бұрын
о наконец-то эта тема, спасибо!
@IljaMochenov
@IljaMochenov 4 ай бұрын
Очень интересно, очень понятно, очень спасибо.
@eM1racle
@eM1racle 4 ай бұрын
Хочу стать денормализатором баз данных!
@JokerSadist
@JokerSadist 4 ай бұрын
Денормализаторами не становятся, ими рождаются
@johndoe20975
@johndoe20975 4 ай бұрын
ты им уже стал
@deniskhakimov
@deniskhakimov 4 ай бұрын
Т.е. клиентом с идиотскими требованиями, которые противоречат изначальному ТЗ? )
@xyzw777
@xyzw777 4 ай бұрын
@@deniskhakimov нет человеком у кого аналитические запросы в БД летают
@deniskhakimov
@deniskhakimov 4 ай бұрын
@@xyzw777 вы про EXPLAIN ANALYZE или какой-то сторонний софт для отладки? Я просто хз, в последний раз занимался оптимизацией запросов в очень крупном интернет-магазине года 3 назад. Если честно, то удивлён, что для этого существуют отдельные люди, т.к. раньше подобным занимались сами же _погроммисты._
@Shauyenov
@Shauyenov 4 ай бұрын
Очень часто это спрашивают на собесах. Теперь буду знать как отвечать на этот вопрос. На практике знаю про нормализацию, но теорию не знал)
@donlinoleum831
@donlinoleum831 4 ай бұрын
Сергей, у тебя настоящий талант рассказывать интересно о скучных вещах) Даже если ты снимешь видос о том, как чистить картошку, то это будет интересно)
@eduard401932
@eduard401932 4 ай бұрын
Супер, спасибо!!!
@EdwardNorthwind
@EdwardNorthwind 4 ай бұрын
Такие вещи лучше объяснять на примерах, тогда всё становится проще. А ещё у каждого разное отношение к составным ключам и искусственным ключам. Я даже знаком с людьми, что терпеть не могут вторичные ключи и заявляют, что лучше они это всё проконтролируют в коде, чем будут получать ошибки от БД.
@alex_1278
@alex_1278 4 ай бұрын
У нас в институте рассылают эксель для заполнения отчета по гранту, что делал каждый день (да, це Европа). Там ссылки на какой-то другой экслель на каком--то компе в папке оутлук. У меня его нет. Я полгода пытаюсь обьяснить, что не надо так. Потом все автоматическое заполнение не работает и все вручную. И да, делали под чешскую винду. Месяцы не по номерам, а по названиям. А там всего-то сложить числа в одном столбце и все - количество отработанных часов.
@TheBlablashka
@TheBlablashka 4 ай бұрын
Эту тему не заказывал и впервые про неё вообще слышу, но посмотрел видос с огромным удовольствием) фронтендер
@Александр-ч3ю5ц
@Александр-ч3ю5ц 4 ай бұрын
Спасибо, мне было очень полезно.
@andrewvasiliev4548
@andrewvasiliev4548 Ай бұрын
Вычисляемые поля нарушают 3НФ? Например, у меня есть пул заявок с nullable датой выполнения. И мне нужно булевое поле, где хранится просто 0 - если даты нет, и 1 в любом другом случае, т.е. по факту просто отметка, закрыта заявка или нет. Получается, введние такого поля нарушает 3НФ? Или я неправильно понял? И как тогда предполагается сделать, чтобы не нарушалась НФ?
@AbramovskyEvgeny
@AbramovskyEvgeny 4 ай бұрын
Полезно. 😊
@Mr43046721
@Mr43046721 4 ай бұрын
Сделал небольшой конспект по ролику, буду иногда читать перед сложными собесами) спасибо
@TheLevius
@TheLevius 3 ай бұрын
Как в нормализацию вписываются Date Added и Date Updated?
@AndyPlov
@AndyPlov 4 ай бұрын
Мне понравилась формулировка, что нормализация БД, это процесс который уменьшает потенциальные пустые поля, nulls.
@9rdvjkkkkb
@9rdvjkkkkb 3 ай бұрын
норм тема, спасибо.
@The_Vict0r
@The_Vict0r 4 ай бұрын
Спасибо за видео. Полезно. Хочу добавить, что по идее УНП (уникальный номер налогоплательщика) уже можно использовать как ID. Т.е. ключ становится простым, состоящим из одного поля, а не составным. Тогда вторая НФ у нас получится автоматически. Вопрос о том, что вообще лучше делать искусственный ключ мы оставим за скобками :)
@komputersh4ik546
@komputersh4ik546 4 ай бұрын
Нельзя потому что не у всех есть ИПН, от него можно отказаться
@The_Vict0r
@The_Vict0r 4 ай бұрын
@@komputersh4ik546 о как, не знал. По крайней мере не слышал, возможно ли такое в Беларуси. С другой стороны, если УНП может быть null, то стоит ли его вообще включать в ключ? И опять же к вопросу о том, что ключи лучше делать искусственные, чтобы не зависеть от специфики предметной области.
@komputersh4ik546
@komputersh4ik546 4 ай бұрын
​@@The_Vict0rну ещё вариант использовать уникальный номер в демографическом реестре он даётся 1 раз и на всю жизнь
@Владимир-м4и8э
@Владимир-м4и8э 27 күн бұрын
@@The_Vict0r Простого ответа нет, что лучше, т.к проектирование БД сильно зависит от предметной области и носит субьективный характер. Из личного опыта, надо закладывать перспективу на ближайшие годы, делать универсальную базу с широким охватом, вы проект никогда не закончите и все не предусмотрите.
@The_Vict0r
@The_Vict0r 27 күн бұрын
@@Владимир-м4и8э да, это так
@oleksandrhomyak
@oleksandrhomyak 4 ай бұрын
О Господи наконец-то нашолся человек который переложил этот ботан-описание на адекватные термины, спсасибо тебе..
@Kriptio
@Kriptio 4 ай бұрын
Урааа, я не зря учил дискретку и комбинаторику.Хотя если брать во внимание что юзаем только до NF3 то ...
@РоманЮрчев
@РоманЮрчев 4 ай бұрын
Жаль, что нельзя сразу over1000 лайков поставить)
@albert.karapetyan
@albert.karapetyan Ай бұрын
Использование столбца с типом JSON в таблице может быть признаком отклонения от строгих принципов нормализации, но это не всегда означает, что структура «ненормализованная». Всё зависит от контекста и характера данных, хранимых в этом JSON. 👇 1. Если вы используете JSON для хранения данных, которые можно было бы вынести в отдельные таблицы (например, связанные записи), то это считается отклонением от нормализации. 👎 2. Если JSON используется для хранения данных, которые не имеют фиксированной структуры или меняются со временем, это может быть оправдано. Например, пользовательские настройки или лог событий. В этом случае JSON помогает избежать чрезмерной сложности в проектировании. 👍
@ВасильЗірка-н1г
@ВасильЗірка-н1г 4 ай бұрын
Алілуя! Нарешті) всього лише кілька місяців просили на стрімах, і ось воно!
@antonkorotkov3341
@antonkorotkov3341 3 ай бұрын
join и сейчас нормально не работают. по крайней мере в ms sql. сильно зависит от статистик и сегментации. и довольно часто непредсказуемо время исполнения.
@piotrl7618
@piotrl7618 4 ай бұрын
Лайк за Марка Ноплера 😂❤
@redneck_prm5429
@redneck_prm5429 4 ай бұрын
И 25 лет назад в книжках для простых людей писали, что дальше 3НФ вам не надо. Сейчас, в эпоху ормов, если сперва проектировать на уровне объектов, то как-то и без матана обычно видно, что вот этот вот кусок просится выделиться в отдельный объект.
@evan_kirk
@evan_kirk 4 ай бұрын
Сергей Немчинский на протяжение 24 минут отвергает матан 😂
@Олександр-ы4э
@Олександр-ы4э 4 ай бұрын
Дякую 👍
@inffomax
@inffomax 4 ай бұрын
Спасибо за "человеческое" объяснение "нечеловеческих" определений 😅
@1654045
@1654045 4 ай бұрын
надо рисовать. слайды или хотя б рисунки на доске улучшили бы понимание.
@vasiliysobovoy4289
@vasiliysobovoy4289 3 ай бұрын
Я думал что я знаю что такое нормализация БД. После просмотра видео я еще почитал википедию. Теперь я не знаю что такое нормализация ((
@ПетяИванов-н2л
@ПетяИванов-н2л 4 ай бұрын
Не самое вдохновляющее дело, но полезное.
@Sofastmovingforward
@Sofastmovingforward 4 ай бұрын
Почтим страдания лайком!
@sergeypekar1058
@sergeypekar1058 4 ай бұрын
8:57 ...достает произвольные JSONы из каждой ячейки 🫤
@TheLevius
@TheLevius 3 ай бұрын
22:00 - так появились NoSQL базы ))) (шучу)
@woodzimierz9621
@woodzimierz9621 4 ай бұрын
Щось цей ультахост якийсь стрьомний. У переліку валют є багато чого, навіть убль, а грн відсутня.
@МаксШевченко-я8б
@МаксШевченко-я8б 4 ай бұрын
Та й вартість щось кусається
@Mr43046721
@Mr43046721 4 ай бұрын
Интересно как Сергей готовится к записи таких видосов. Наверное он немного готовится и "поднимает" материал с интернетов а не сразу из головы? А то начинает казаться что Сергей знает всё и обо всем
@NemchinskyLive
@NemchinskyLive 4 ай бұрын
Конечно готовился) вы меня переоцениваете
@VaGroz
@VaGroz 4 ай бұрын
> не позволят нафигачить несколько значений А как же array?
@EdwardNorthwind
@EdwardNorthwind 4 ай бұрын
тут имеется ввиду, что все значения будут одного типа. Если это строка, то она везде строка, а не массив строк в одном случае; если это массив, то это везде массив, а не json в одной ячейке.
@Wise___Man
@Wise___Man 4 ай бұрын
ненавижу когда это спрашивают на собесах - сразу понимаю, что интервьюер не очень. Везет, что уже на уровне, когда у меня такое спрашивать не прилично, но в своей карьере попадал на такой вопрос неоднократно.
@АртурЛюбимов-й1о
@АртурЛюбимов-й1о 4 ай бұрын
Почему же? Тема лёгкая и важная, разумеется её будут спрашивать. Хотя бы базово понимать, что ячейка хранить одно значение и записи должны быть уникальными с pk
@saasrus
@saasrus 4 ай бұрын
ИМХО если человек хоть чуть чуть понимает как программа работает с данными, то ниже третей формы он бд не организует. Когда студенческую работу по продаже билетов автовокзала делал была претензия что у меня ни одного джойна нет, у меня все дублирующиеся данные были вынесены в таблицы-словарики по праймари кеям, единственное что я не смог придумать чтоб было просто как кирпич - это остановки на маршруте, но посомтрев примеры таких работ в инете понял что мало кто вообще до этого этапа дошёл.
@lsdvitamin772
@lsdvitamin772 4 ай бұрын
Хорошо объяснил на пальцах нормализацию. Но как обычно всегда есть нюансы. Современные БД (и PostgreSQL и Oracle) позволяют применять массив в виде типа поля. И если у меня в таблице есть поле, на пример, json_id int8[], то от этого едва ли моя таблица не поддерживает 1НФ. Хотя одно из правил 1НФ требует одно значение. С другой стороны, если рассматривать это поле как массив, то значение в нем и правда хранится одно - массив данных.
@dmitriivanov7010
@dmitriivanov7010 4 ай бұрын
Нормализировать можно всё😂
@postoronny
@postoronny 4 ай бұрын
У меня сервер не всегда успевает в нормализованную базу... Спасибо!
@woodzimierz9621
@woodzimierz9621 4 ай бұрын
Коротше кажучи, аналізуйте сутності, юзайте ОРМ і буде вам щастя.
@АндрейГудзь-э5ш
@АндрейГудзь-э5ш 4 ай бұрын
Нормально
@studiere
@studiere 4 ай бұрын
Тема очень скучная, а оттуда и интерес. Так как самому ее понять большинству очень сложно. А вы ее очень хорошо объяснили, ну или, по крайней мере, дали еще одну точку зрения на непонятные формулы, что прибавляет объемности уже имеющимся у меня представлениям. За что большое спасибо.
@Алексей-й5ч8х
@Алексей-й5ч8х 4 ай бұрын
👍
@VolodymyrChernigiv1300
@VolodymyrChernigiv1300 4 ай бұрын
❤❤❤😂😂😂😢😢😢
@mazZZzilaplayer
@mazZZzilaplayer 4 ай бұрын
Слишком уж категорично, на мой взгляд, про денормализацию. Из моего опыта, при разработке микросервисов, постоянно приходится с ней сталкиваться. Альтернатива - постоянно ходить к другим сервисам за недостающей инфой, что вообще не играет на руку устойчивости всего приложения и превращает микросервисы в уродливый монолит
@Wise___Man
@Wise___Man 4 ай бұрын
Первое правило архитектуры - everything is a trade-off. Вы однозначно правы - в некоторых ситуациях денормализация необходима, чтобы достичь определенных характеристик системы, а в других - только вредит.
@VaGroz
@VaGroz 4 ай бұрын
Не понял, при чем тут математический анализ? Терпеть не могу его
@АлександрВ-е2л
@АлександрВ-е2л 4 ай бұрын
благодарю за выделения места в левом верхнем углу места для поддержи ассоциации людей больных синдромом Дауна, от души
@torrvic1156
@torrvic1156 4 ай бұрын
Ты давно не посещал психиатра. Тебе прогулы уже ставят. Лечись.
@sense5879
@sense5879 3 ай бұрын
Судя по твоему комментарию это вообще не помогает
@SergeyShmateyev
@SergeyShmateyev 4 ай бұрын
Трудно что-ли брать примеры из реальных кейсов? Неужели сложный ключ не можете нормально объяснить? Или вы просто давно что-то реальное делали? Ну тогда готовьтесь к роликам.
@ВеликийМец
@ВеликийМец 3 ай бұрын
Чё за флаг
@ibo9044
@ibo9044 4 ай бұрын
Я так и ни понял как в ето играть. И почиму про ключ много есть а про Буратину нет как бдто от него ни зависит. (камент дыля прадвижения Буратинам, а то Немчина пужаить, и страшно...)
@dmitryshevkoplias6845
@dmitryshevkoplias6845 4 ай бұрын
Сергей, как к вам устроится ?
@NemchinskyLive
@NemchinskyLive 4 ай бұрын
Ментором? На сайте есть форма в разделе команда
@dmitryshevkoplias6845
@dmitryshevkoplias6845 4 ай бұрын
@@NemchinskyLive программером
@torrvic1156
@torrvic1156 4 ай бұрын
Через постель 😂
@dmitryshevkoplias6845
@dmitryshevkoplias6845 4 ай бұрын
@@torrvic1156 ваш метод ?))
«Жат бауыр» телехикаясы І 30 - бөлім | Соңғы бөлім
52:59
Qazaqstan TV / Қазақстан Ұлттық Арнасы
Рет қаралды 340 М.
Thank you mommy 😊💝 #shorts
0:24
5-Minute Crafts HOUSE
Рет қаралды 33 МЛН
Полный роадмеп для backend-разработчика
24:03
Sergey Nemchinskiy
Рет қаралды 26 М.
Какие инструменты есть у программиста?
22:01