Первая, вторая, третья нормальные формы на практике

Поділитися
Вставка
  • Опубліковано 18 жов 2024
  • Об этом не расскажут в учебных пособиях =), ведь в этом видео вы узнаете о том, что нормализованная таблица в третьей нормальной форме может запросто превратиться в абсолютно ненормализованное отношение, если не предусмотреть определенные нюансы. А также - о том, как проектировать БД, чтобы предвидеть многие подводные камни и избежать нежелательных последствий в виде необходимости переделать структуру базы.
    Плейлист БД: • Базы данных. Нормализа...
    I НФ: • Первая нормальная форм...
    II НФ: • Вторая нормальная форм...
    III НФ: • Третья нормальная форм...
    1,2,3 формы в одном видео: • Первая, вторая, третья...
    Нормальная форма Бойса-Кодда: • Нормальная форма Бойса...
    Наша группа вконтакте:
    excelle...
    Приятного просмотра!
    Оставайтесь воодушевленными!

КОМЕНТАРІ • 44

  • @JohnnySvarog
    @JohnnySvarog  6 років тому +11

    Привет! Давно уже собирался сделать очередное видео по нормализации БД, поскольку тема довольно интересная. И вот, собственно, оно =). Немного поговорим отвлечемся от Angular и других тем, и поговорим о прекрасном - о структуре базы данных о том, какие сложности возникают при нормализации, и как их преодолеть.

    • @fuad022
      @fuad022 6 років тому

      Здравствуйте. Можете ли Вы сделать видео про остальные нормализации форм? Для интереса)

    • @gluts
      @gluts 6 років тому

      @@fuad022 +

    • @JohnnySvarog
      @JohnnySvarog  4 роки тому

      @@fuad022 , здравствуйте. Остальные - имеете ввиду, пятую, шестую?

    • @fuad022
      @fuad022 4 роки тому

      @@JohnnySvarog Да

  • @НикитаИлларионов-р9с

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

  • @elizavetamatveeva2466
    @elizavetamatveeva2466 Рік тому +1

    Спасибо большое за ваше объяснение. Действительно, на очень многих ресурсах ставятся в пример оторванные от реальности случаи.

  • @JohnnySvarog
    @JohnnySvarog  4 роки тому +9

    Касательно ИП "Веселый негр" - если вспомнить географию, то принято выделять 3 самые большие географические расы: европеоидную, монголоидную, негроидную. Так вот я за то, чтобы было побольше добрых, счастливых, а следовательно - веселых людей, вне зависимости от того, европеец это, монгол или негр.
    Поэтому улыбайтесь, радуйтесь жизни, а самое главное - помните, что всегда есть тонкая, но очень четко различимая грань между расизмом и здравым смыслом.

    • @teastrum
      @teastrum 4 роки тому

      названием ип вы рескуете нагнать гнев

    • @JohnnySvarog
      @JohnnySvarog  4 роки тому +9

      @@teastrum, до недавних событий этого особо никто не замечал. все потому, что люди видят то, что хотят видеть. Кому круги на полях, кому всемирный заговор... а мы здесь занимаемся изучением нормализации баз данных и только =)

    • @drankenwizard7602
      @drankenwizard7602 3 роки тому +1

      На лицо пропаганда США, до блм никто внимания не обращал. Поверьте, вы не хотите у себя в стране весь маразм который набрал сильных оборотов на западе. У нас своих проблем хватает.

  • @antonkaschin7073
    @antonkaschin7073 3 роки тому +1

    Лайк авансом!

  • @lastfornit
    @lastfornit 3 роки тому +5

    Что будет, если у одного поставщика несколько контактов - разобрались. Спасибо, при просмотре других видео действительно вопрос возникал.
    Идём дальше. Случай из жизни: у большинства моих знакомых, являющихся учредителями ООО, есть ещё зарегистрированное ИП, а иногда они при этом ещё и сами подрабатывают где-то замдиректорами или ведущими специалистами. Это я к тому, что дачница баба Дуся может оказаться хозяйкой ИП "Пьяный мельник" и контактным лицом отдела снабжения ИП "Соль Мажор". Т.е. Один (не смог написать с маленькой:) ) контакт может соответствовать нескольким поставщикам. Как тут лучше быть?

  • @absansher
    @absansher 2 роки тому +1

    Лучше чем в вузе

  • @СчастьеЭн
    @СчастьеЭн Рік тому

    Спасибо. Объяснили очень четко

  • @leomysky
    @leomysky 3 роки тому +1

    Очень солидно, спасибо

  • @likit9403
    @likit9403 2 роки тому

    А если contact не будет уникальным, то есть не будет логическим праймери кеем, тогда 1 контакт может быть для разных Vendor (например это дочерняя компания поэтому контакт одинаковый). То тогда в таблице с контактами мы вводим суррогатный праймери кей и таблица с контактами будет иметь вид Id, Contact, Vendor, а таблица с вендорами Vendor Id, Vendor Name (без изменений). Такой вид будет соответствовать 3-ей нормальной форме?

  • @jojomajo
    @jojomajo 4 роки тому +4

    ИП "Веселый негр" теперь понятно из-за кого протесты в США начались!

  • @PoulFly
    @PoulFly 3 роки тому

    Хорошее объяснение

  • @SolistTV
    @SolistTV 5 років тому

    На 2 уроке возник вопрос по авто инкременту в таблице связей, но тут увидел ответ, все ок =)

  • @Light-qo9vo
    @Light-qo9vo 6 років тому +2

    Почему Contact не зависит от Vendor Name? Ведь если поменять поставщика то поменяется и контакт. Разве нет?

    • @JohnnySvarog
      @JohnnySvarog  6 років тому +10

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

    • @Light-qo9vo
      @Light-qo9vo 6 років тому

      Понял, спасибо за ответ.

  • @inga153
    @inga153 4 роки тому

    Спасибо

  • @Andrei-x1q
    @Andrei-x1q 5 років тому +2

    Объясните пожалуйста, не понимаю разницу между простым и скалярным, можете привести пример где в первой нормальной форме выполняется 2 условие, но не 3 (число является простым, но не скалярным)

    • @JohnnySvarog
      @JohnnySvarog  5 років тому +19

      Хороший вопрос. По большому счету, это вопрос классификации.
      Атрибуты бывают простыми и составными. Пример простого - Фамилия, пример составного - ФИО, ну или Contact, как вот в этом видео (как вы видите, все зависит от того, какой смысл вкладывается в это поле). Простой - тот, что ЛОГИЧЕСКИ не делится на части (ну или делится, но в этом нет и не возникнет необходимости).
      Идем дальше. Определение "скалярный" относится к типам данных и их значениям. Типы данных бывают скалярными и агрегатными. Например, int, varchar - простые типы (если, конечно, не рассматривать строку как набор символов). PostgreSql, к примеру, поддерживает тип данных Array (массив) - это агрегатный тип. Агрегатный - это тот, который имеет иерархическую внутреннюю структуру, содержащую несколько элементов, тип JSON - опять же.
      Значит ли это, что все таблицы в Postgre, в которых есть атрибуты с типом данных Array, не находятся в 1 НФ? Нет! Потому что, как правило, с точки зрения хранения и обработки данных, все значения этого массива рассматриваются как одно целое. А вот если, скажем, в каждом элементе массива была бы ссылка на другую таблицу, и средствами БД по этим ссылкам вытягивались данные, то вот здесь бы таблица не была в 1 НФ.
      На самом деле, нужно очень постараться, чтобы таблица на физическом уровне БД не находилась в 1 НФ, потому что не нормализованная до 1 формы таблица в реляционной бд - это уже не отношение, а свалка, и интуитивно сложно такое натворить =).

  • @alexfed1033
    @alexfed1033 Рік тому

    Почему бы не создать допполя Contact2 и\или Contact3 ? Это приведет к 1ой форме.Ключ останется простым, поэтому это будет и второй формой также. А выделив отдельную таблицу Contacts с ключом ID это будет 3ей формой. Так можно?

  • @vitalykargin
    @vitalykargin 2 роки тому

    А почему не создать просто ещё Столбец email 2 email 3

    • @TikTokDepartment
      @TikTokDepartment Рік тому

      А если их количество будет увеличиваться? Всегда добавлять столбец?)

  • @ЕленаМ-ц2ъ
    @ЕленаМ-ц2ъ 3 роки тому

    7:50 а ничего что vender id тоже должен быть в ключе!!!

  • @КириллКутузов-з2п
    @КириллКутузов-з2п 3 роки тому +1

    Спасибо. Ничего не понял.

  • @zuxz8380
    @zuxz8380 2 роки тому

    😎

  • @fusome
    @fusome 4 роки тому +5

    автор антисимит - ИП "Веселый негр"))

    • @ПанЧиЛо
      @ПанЧиЛо 4 роки тому +2

      Негр-еврей... Сильно, не иначе

  • @SonyaS151
    @SonyaS151 4 роки тому

    ИП «Веселый негр», вы что серьезно?следите за примерами, персосяны.

    • @olegdmitriev9364
      @olegdmitriev9364 4 роки тому +12

      Следи за языком, дешевка

    • @drankenwizard7602
      @drankenwizard7602 3 роки тому +1

      Вас там в Тернополе они таскают по углам? Наслышан

  • @ИльяШкварко
    @ИльяШкварко 5 років тому +3

    Что за веселый негр? С ума сошел?

    • @ИльяШкварко
      @ИльяШкварко 4 роки тому

      @@caesarfatalhammer Ну если тебя ничего не смущает, то нам не о чем говорить, и как то обсуждать тему)

    • @ИльяШкварко
      @ИльяШкварко 4 роки тому

      @@caesarfatalhammer Мне страйк прилетел за то, что я написал это слово

  • @idzumiyui8263
    @idzumiyui8263 4 роки тому

    Спасибо