Базы данных. 1,2,3 нормальные формы.
Презентация:
docs.google.com/presentation/...
Задачи (приводим таблицы к нормальным формам):
docs.google.com/spreadsheets/...
docs.google.com/spreadsheets/...
docs.google.com/spreadsheets/...
Вводный курс по базам данных.
В этом занятии поговорим о:
- Нормализации базы данных
- 1 нормальной форме
- 2 нормальной форме
- 3 нормальной форме
По любым вопросам, связанным с курсом можно писать на почту: okulov@rclass.pro
Личный канал Антона: / @about-code
Пікірлер: 202
Вот он шутит про экзамены, а я реально смотрю это видео что бы сдать экзамен…
@Rclass
2 жыл бұрын
Очень надеемся что помогли вам :)
@user-np8hb3sj6p
Жыл бұрын
А Антон и не шутил про них, они были)
@stepan-klyukin
4 ай бұрын
Троеточие....
@mal1n778
4 ай бұрын
Согласен
Гена, красавчик, лучшее объяснение в ру нете
@Balamutick
2 жыл бұрын
Чётко, ровно
@user-ui4np3mm9f
2 жыл бұрын
поддерживаю, умеют, магют
@l7l7l7lful
Жыл бұрын
Вроде лектора зовут Антон …но поддерживаю что объяснение хорошее )
Оказывается все так просто, а я с этим неделю разбирался... спасибо, очень подробно и понятно. Жаль что раньше не увидел этот материал
@Rclass
3 жыл бұрын
Спасибо! Мы старались ^_^
Лучшее объяснение нормальных форм! Все по делу, без воды и максимально простым языком! P. S. Гене респект!
@Rclass
3 жыл бұрын
Спасибо, мы старались :)
То чувство, когда из видео понял больше, чем из лекций препода в Политехе))))) Огромное спасибо!
@Rclass
2 жыл бұрын
Спасибо что смотрите :)
@vladislav-_-
Жыл бұрын
Привет от Павленко😂
@revolta4998
Жыл бұрын
Привет от Ильяшенко))) Препод в ипмэите
@user-rs8zo4yp9e
7 ай бұрын
Привет от Пахомовой
@stepan-klyukin
4 ай бұрын
Привет от Юркина)
Три дня читала википедию... нИ....Я НЕ ПОНЯЛА. Пришёл Гена и всё понятно. Спасибо лектору, офигенно учит!
@Rclass
Жыл бұрын
Спасибо, мы старались :)
Спасибо за материал и отдельно спасибо, что выложили презентацию в общий доступ)
@Rclass
Жыл бұрын
Стараемся для вас :)
Спасибо большое за это видео! Несколько часов искала в интернете объяснение этой темы на человеческом языке, психанула и пошла искать видео на ютубе :D Всё очень понятно, по делу, а главное, с юмором
@Rclass
Жыл бұрын
Спасибо что смотрите :) Для вас стараемся :)
У вас отличная подача материала, коротко и ясно, спасибо! 🙌
@Rclass
10 ай бұрын
Спасибо! Стараемся для вас :)
Антон спасибо за Ваши лекции, супер
@Rclass
Ай бұрын
Всегда пожалуйста :)
С Геной вообще огонь, буду всем рекомендовать Ваши видео. Спасибо❤️🙏🏻 Процветания ❤️🙏🏻
@Rclass
2 жыл бұрын
Гена ван лав) Спасибо за отклик)
Большое спасибо! Очень доступная подача материала.
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
Очень полезные лекции👍🏼👍🏼👍🏼 Спасибо Вам
@Rclass
2 жыл бұрын
Спасибо что смотрите :)
вы нам очень помогли!! пожелайте удачи на сессии! гена лучший) всех благ
@Rclass
2 жыл бұрын
Ни пуха, ни пера! :)
@jeeeez
2 жыл бұрын
@@Rclass сдали на 5! спасибо большое
@Rclass
2 жыл бұрын
@@jeeeez Супер :)
огонь! без воды и тяжёлой наркомании всё понятно. благодарствую
@Rclass
2 жыл бұрын
Спасибо, стараемся)
Лучшие примеры в Рунете. Гене отдельное спасибо, что зашел. Волшебному коту поклон. В первом же задание разделил первую таблицу на три штуки и связал связями, перестарался, бывает...
@Rclass
3 жыл бұрын
Спасибо, мы старались ^_^
Спасибо за серию лекций: доступно, без сложной терминологии, понятно (даже для такого новичка, как я), лёгкая подача материала в отличие от большинства лекций на KZread.👏
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
Гена лучший друг и не только в рамках презентации - хочется его теперь вообще на все курсы с собою брать!
@Rclass
8 ай бұрын
Гена доволен)
Красавчик, подача огонь !
@Rclass
6 ай бұрын
Спасибо, стараемся ^_^
Круто! Просто и ясно! Спасибо Вам!
@Rclass
Жыл бұрын
Спасибо за отклик :)
Круто! Всё ясно и понятно! Спасибо Вам!
@Rclass
Жыл бұрын
Стараемся для вас :)
@donfedor007
Жыл бұрын
@@Rclass спасибо
Гена отлично разложил! В натуре четко! Спасибо!
@Rclass
2 жыл бұрын
Спасибо, мы старались!
Спасибо огромное, очень-очень полезное видео!!!
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
Спасибо за объяснение, тоже готовлюсь к экзамену))
@Rclass
4 ай бұрын
Спасибо что смотрите) Удачи!
Только сейчас понял, что это такое) Благодарю!
@Rclass
4 ай бұрын
Спасибо за отклик! Стараемся)
Очень годно и доступно обьяснил , читал википедию , смотрел видео на ютубе , очень скудная инфа , а тут все просто и по полкам , респект !!!!! А главное хорошие примери
@Rclass
2 ай бұрын
Спасибо, мы старались :)
Спасибо. Отличное объяснение. Гена - всё на пальцах, по понятиям, разжуёт.🙂
@Rclass
Жыл бұрын
Стараемся!
Большое спасибо, Гена гений :D
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
спасибо реально круто объяснил ))
@Rclass
3 жыл бұрын
Спасибо) Гена доволен)))
Агонь объясняет! Препод красава, презентация супер! Нет даже намека на сон в 00:45 (ночи). А то есть такие занудные, что за 2 минуты слушанья спать хочется)))
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
@user-lh8om7bb7b
2 жыл бұрын
Влияние элементов юмора на обучение явно недоизучено и недооценено!
@Rclass
2 жыл бұрын
@@user-lh8om7bb7b стараемся менять ситуацию в лучшую сторону :)
Очень круто! От души
@Rclass
10 ай бұрын
Спасибо за отклик! Стараемся для вас!
Гена, браток, спасибо тебе, бродяга!
@Rclass
3 жыл бұрын
Аеее %)
гуд!спасибо
Крутой мужик. Спасибо!
@Rclass
2 жыл бұрын
Спасибо, мы старались )
Спасибо за классное объснение!
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
Внатуре класс! Геннадий могёт 👍🤣
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
Спасибо большое за объяснение
@Rclass
Жыл бұрын
Всегда пожалуйста :)
Спасибо, доступно объяснили)
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
Нормально объяснил. Спасибо.
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
Красавчик Гена +))
@Rclass
Жыл бұрын
А то)
Спасибо Гене, без него бы не понял!
@Rclass
20 күн бұрын
Спасибо за отклик)
О боже, пошел в шарагу после 9 на программиста т.к. думал что это халявный диплом IT-шника, а теперь сижу тут и пытаюсь вникнуть. Спасибо за ролик, благодаря вам меня допустят к практике.
Спасибо огромное
@Rclass
2 ай бұрын
Спасибо за отклик :)
Что ж вы не выкладываете разбор задачек своих, было бы интересно себя проверить)
@Rclass
3 жыл бұрын
Возможно в дальнейшем попробуем. Пока нет таких планов, к сожалению.
@user-lr3ox2qr6t
3 жыл бұрын
@@Rclass жаль, а было бы неплохо в том же доке и ответы иметь) Но всё же отличный контент, спасибо
Знающие подскажите, если идентификаторы зависит друг от друга то это 2НФ?(пример: в таблице клиенты 10 строк и в таблице заказы, заказы не могут превышать 10). Если таблице есть два идентификатора то это 3НФ?
спасибо большое!
@Rclass
Жыл бұрын
Всё для вас :)
Мои комплименты лектору!
@Rclass
3 жыл бұрын
Спасибо, стараемся ^_^
Мне нужен такой Гена, на моей работе!😅
@Rclass
2 ай бұрын
Нам всем иногда нужен Гена)
Спасибо
@Rclass
8 ай бұрын
Всегда пожалуйста ^_^
пока легко, когда следующее видео?
скажите, а на проверку можно присылать решения?)))
А если в 1 нф будет массив из одного значения?
я просто коммент оставлю для продвижения, это реально топово
@Rclass
2 жыл бұрын
Ай спасибо большое, добрый человек!
Спасибо!
@Rclass
Жыл бұрын
Стараемся для вас :)
СПАСИБО!!!!
@Rclass
2 жыл бұрын
Вам спасибо что смотрите :)
Уважуха гене
@Rclass
3 жыл бұрын
Без гены мы никуда :)
На моменте с Геной обоссялся от смеха.😆 Лецкия - огонь.
@Rclass
Жыл бұрын
Спасибо, мы старались)
Гена - чёткий пацан😂
@Rclass
11 ай бұрын
Именно так)
супер!
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
Объясните, пожалуйста. Третья нормальная форма предполагает, согласно видео, отсутствие связей между неключевыми атрибутами. Однако в правой таблице появляется связь между именем и телефоном: первичный ключ -> имя -> телефон. Получается транзитивная зависимость, или я неправильно понял? В свою очередь идентификатор шины никак не связан с поставщиком, а мы в примере наоборот их разносим в разные таблицы. Хотя они зависят от первичного ключа и не зависят друг от друга . Согласно тому что говорит "Гена", так и должно быть. Почему мы тогда их разнесли в разные таблицы?
Гена - герой. Тот, кто объединил Гену и понятные примеры - легенда
@Rclass
2 жыл бұрын
Спасибо, мы старались :)
нам бы такого препода в нашу шаражку (
Теперь, когда столкнусь со сложным определением, буду орать в форточку : "ГЕНА ПРИДИ!"
@Rclass
2 жыл бұрын
Да, иногда очень хочется позвать Гену)
Ого, весь курс будет?
@websoda
4 жыл бұрын
однозначно
ну Бекмырза раз сказал значит надо
Гена мой кумир😅
@Rclass
2 жыл бұрын
Поясняет чётко!
Здравствуйте. У меня вопрос по первому заданию. Почему старостами групп являются люди не входящие в список студентов?)
@Rclass
3 жыл бұрын
Вопрос справедливый. Можно считать что приведена лишь часть данных (строк).
Вопрос на засыпку, а как проверить, что задачи решил правильно?)
@Rclass
5 ай бұрын
Это надо курс организовывать, мы пока не готовы к такому)
Подскажите, где можно ответы на дз посмотреть? Хочется свериться
@Rclass
2 ай бұрын
Увы, ответов нет(
Ъюъ, у нас препод в РТК точно такую же презентацию нам скидывал!
@Rclass
Жыл бұрын
Ну, бывает) Просвещаем всех)
В 1 нф разве могут быть повторяющиеся группы данных? Пример из видео: Суворов коньки Суворов мотоцикл
@Rclass
3 жыл бұрын
Да, для 1 нормальной формы это допустимо, там пока нет понятия "первичный ключ".
9:40 - я могу быть не прав, но таблица справа находится не в третьей нормальной форме , так как номер телефона относится конкретно к саплайеру
@Rclass
Жыл бұрын
Всё, что относится к supplier находится в правой таблице.
В последнем примере разве не логичнее было бы вынести связь Шина-Поставщик в отдельную таблицу? Ведь этим мы нарушаем 2НФ - атрибут поставщика - не зависит от первичного ключа таблицы "Шина" - поставщиков может быть несколько
@Rclass
3 жыл бұрын
Да, забыли указать что у одной шины может быть только один поставщик (исключительно в данном примере). Если бы у одной шины могло быть несколько поставщиков, то отдельная таблица Шина-Поставщик была бы необходима несомненно.
Складывается ощущение что вторая и третья форма одно и то же
походу у меня вся база в 2 и 3 НФ, я даже составные ключи не делаю.. это уже даже вошло в привычку. Если я вижу, что две совершенно разные сущности сразу создаю таблицу объединения по внешним ключам.. до 4 и 5 НФ даже дело не доходит :)
@Rclass
Ай бұрын
Это же замечательно :) Отличная привычка! Всем бы такую)
@KGB1st
Ай бұрын
@@Rclass ладно.. спасибо.. всегда хотел спросить такую вещь. Хранение и поиск по строкам очень затратно? Тогда почему ФИО мы не разбиваем на имена и отчества, которые часто встречаются, что бы в таком случае фамилию хранить рядом с их индексами и поиск выполнять только по фамилии?
@Rclass
Ай бұрын
@@KGB1st всё зависит от задачи, если у вас огромная информационная система в которой это будет иметь смысл - именно так и нужно делать! :)
топ
@Rclass
Жыл бұрын
Спасибо большое :) Стараемся для вас :)
Первое я как то и без Гены понял. А вот второе уже не получилось
@Rclass
2 жыл бұрын
Гена помогает :) Спасибо за отклик :)
Всей группой смотрим на парах объяснения от Гены
@Rclass
2 жыл бұрын
Ого! Спасибо, мы старались :)
Вжух и все))
@Rclass
7 ай бұрын
Именно так!
Разве в первой нормальной форме Фамилия и Имя не должны быть в разных ячейках, ведь суть в том чтобы все значения в ячейках были атомарными!
@Rclass
2 жыл бұрын
Вопрос подхода, в нашем случае name воспринимается как "Именование сотрудника".
@Roman-ej3xg
2 жыл бұрын
@@Rclass а если потребуется вывести фамилии сотрудников то придется парсить каждую ячейку, а если записей миллиард, не эффективнее ли все таки ФИО располагать в разных ячейках ведь при проектировании неизвестно какие будут требования в дальнейшем?
@Rclass
2 жыл бұрын
@@Roman-ej3xg всё всегда зависит от требований, так или иначе. Иногда приходится даже сознательно делать денормализацию в угоду производительности :)
О, Харламов
@Rclass
2 жыл бұрын
Да не похоже же, ну! Или...
ГЕНА, ПОМОГИ
@Rclass
2 жыл бұрын
Только свистни, он появится!
Можно смотреть с 3:45
@Rclass
Жыл бұрын
Если прям к сути, то да.
Только мне интересно зачем пиво в левом верхнем углу? )
@OkulovAnton
3 жыл бұрын
Бесплатная версия pdf просмотрщика для Android TV таким образом просит донат :)
@Rclass
3 жыл бұрын
Ну и сложно наверное представить Ъ-Программистов без пива, не так ли?)
без Гены не разберешься
@Rclass
Жыл бұрын
А то! Гена - наше всё)
Это все логически понятно, я в 19 лет уже такое делал. Зачем так сложно называть? Нормализация, декомпозиция и сколько еще там терминов...
@novmol4866
Жыл бұрын
Не пойму чем отличается 2нф от 3 И там и там нужно работать с пключом
таблица, которая якобы была в 1НФ не находится в ней, т.к. по сути столбец с именем и фамилией нужно разбить на два, а так он не является атомарным
@Rclass
3 жыл бұрын
На самом деле зависит от задачи. Если это имя для отображения на сайте, например, то в этом поле может быть просто никнейм.
Не совсем понимаю, зачем вы в примерах везде добавляете суррогатный ключ, если можно обойтись естественным? Возьмем пример с 2НФ, вы говорите, что нужно выделить первичный ключ, и добавляете "worker_id" и "project_id" (суррогатные ключи), хотя можно использовать естественные ключи name и project?
@Rclass
3 жыл бұрын
Привычка. После работы с боевыми проектами автоматически хочется завести такие ключи. Здесь да, они не нужны как правило. Спасибо за ценный комментарий :)
@korshe9410
3 жыл бұрын
@@Rclass Спасибо за ответ и уроки. Набираюсь сопутствующей информации перед курсами по data аналитике.
@Rclass
3 жыл бұрын
@@korshe9410 Вам спасибо что смотрите и комментируете :)
Что это? Зачем это? Где на практике это применяется? Слишком много воды. Следует нормализовать все лекции по нормализации.
@Rclass
Жыл бұрын
В самом начале объясняли зачем нужна нормализация) Эх, видимо придется сначала денормализовать, а потом нормализовать обратно)
@europoors
Жыл бұрын
@@Rclass я к тому, что на практике такие знания формулировок не используются вообще. Приёмы и способы - да. Но лучше начинать именно с проектирования структур данных для хранения, чем с разгребания куч уже готовых. Намного лучше усваивается наглядное представление грамотно организованных структур и их связей, вместо зубрёжки терминологии. Ну это просто моё мнение, как человека с практическим опытом. Смотрите сами, в общем.
@Rclass
Жыл бұрын
@@europoors пробовали и так и так. Но видео - это лишь теория) Задачки на проектирование - лежат под видео :)
Какой смысл объяснять нормализацию на трех разных таблицах? В чем проблема показать от а до я с одной таблицей, показать пример проектирования. Бесполезное видео.
@Rclass
3 жыл бұрын
Благодарим вас за отзыв. Примеры примитивизированы, всё самое вкусное - на практике :)
КРИНДЖ 😖
Спасибо огромное
@Rclass
3 ай бұрын
Всегда пожалуйста :)