Нормальные формы баз данных: Объясняем на пальцах

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 มิ.ย. 2024
  • Listen IT на Я.Дзене - zen.yandex.ru/listenit
    00:00 - О чём пойдёт речь в статье
    00:45 - Коротко о реляционных БД
    01:20 - Что такое нормализация
    01:46 - Зачем нужна нормализация БД
    02:08 - Что такое избыточность данных с примерами
    04:51 - Какие бывают нормальные формы БД и о процессе нормалиции в целом
    08:00 - Ненормализованная форма или нулевая нормальная форма с примером
    09:37 - Первая нормальная форма с примером нормализации
    11:24 - Вторая нормальная форма с примером нормализации
    15:29 - Что такое декомпозиция
    16:18 - Третья нормальная форма с примером нормализации
    18:54 - Нормальная форма Бойса-Кодда с примером нормализации
    21:54 - Четвертая нормальная форма с примером нормализации
    27:45 - Почему обычно никто не нормализует БД до 5 или 6 нормальной формы
    29:14 - Пятая нормальная форма с примером нормализации
    34:23 - Доменно-ключевая нормальная форма
    35:39 - Шестая нормальная форма
    38:02 - Выводы и заключение
    Поддержать канал разово - yoomoney.ru/to/410012243709514
    Поддержать канал подпиской - boosty.to/listenit
    Телеграм-канал - t.me/listenit_channel
    По вопросам сотрудничества - t.me/ed_akimov
    Ссылка на статью - info-comp.ru/database-normali...
    Что такое SQL и реляционные базы данных - • Что такое SQL и реляци...
    Синтаксис SQL запросов: Часть 1 - • Синтаксис SQL запросов...
    Что такое ДЕНОРМАЛИЗАЦИЯ БД за 13 минут - • Что такое ДЕНОРМАЛИЗАЦ...
    Моделирование данных за 9 минут - • Что такое ERD за 9 минут
    Что такое NoSQL за 6 минут - • Что такое NoSQL за 6 м...
    Что такое ACID за 9 минут - • Что такое ACID за 9 минут
    Что такое HTTP и HTTPS за 9 минут - • Что такое HTTP и HTTPS...
    Что такое UML за 7 минут - • Что такое UML за 7 мин...
    Машинное обучение для чайников - • Машинное обучение для ...
    Что такое Big Data за 6 минут - • Что такое Big Data за ...
    Что такое CRUD за 6 минут - • Что такое CRUD за 6 минут
    Введение в REST API за 7 минут - • Введение в REST API за...
    Различия REST и SOAP за 4 минуты - • Различия REST и SOAP з...
    Что такое middleware за 7 минут - • Что такое middleware з...

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

  • @dahtes2107
    @dahtes2107 ปีที่แล้ว +114

    зашёл на 5 минут глянуть видос (на тим лид сказал ужасающие слова "Мы начинаем нормализвывать БД"), и пропал на все 40 минут. Определенно, у тебя талант притягивать внимание своих слушателей. Главное, что после просмотра, у меня в квартире сухо и без осадков, а это первое свидетельство того, что данный материал был "без воды") Подписку кинул, лайк!

    • @11McMike11
      @11McMike11 10 หลายเดือนก่อน

      Он просто все по статье в описании прочитал, поэтому и без воды😅

  • @darkcrusaderzxc
    @darkcrusaderzxc ปีที่แล้ว +37

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

  • @privet2pizza
    @privet2pizza 4 หลายเดือนก่อน +5

    Переписываю в кучу, чтобы запомнить лучше. Может, пригодится.
    *0. Нулевая нормальная форма - **08:00** ( UNF)*
    - Строки в таблицах не должно быть пронумерованы (порядок строк и столбцов не имеет значения).
    *1. Первая нормальная форма - **09:37** (1NF)*
    - В таблице не должно быть дублирующих строк;
    - В каждой ячейке таблицы хранится атомарное значение (одно не составное значение);
    - В столбце хранятся данные одного типа;
    - Отсутствуют массивы и списки в любом виде.
    *2. Вторая нормальная форма - **11:24** (2NF)*
    - Таблица должна находиться в 1NF;
    - Таблица должна иметь ключ;
    - Все неключевые столбцы таблицы должны зависеть от полного ключа (если ключ составной).
    _Таблица должна иметь правильный ключ, по которому можно идентифицировать каждую строку_ .
    *3.1. Третья нормальная форма - **16:18** (3NF)*
    - В таблицах не должно быть транзитивной зависимости (неключевые столбцы зависят от других неключевых столбов)
    _Неключевые столбцы не должны играть роль ключа в таблице_ .
    *3.2. Нормальная форма Бойса-Кодда - **18:54** (BCNF)*
    _Требования BCNF актуальны для таблиц с составными ключами. Таблицы 3NF с полным ключом автоматически становятся BCNF_ .
    - Таблица должна находиться в 3NF;
    - Ключевые атрибуты составного ключа не должны зависеть от неключевых атрибутов.
    а теперь пойду в магазин, пока не закрылся. допишу потом.

  • @vanekonste3120
    @vanekonste3120 2 ปีที่แล้ว +24

    очень нужны такие видео
    легче и быстрее информацию принимаешь
    спасибо

  • @Laegmerill1306
    @Laegmerill1306 2 ปีที่แล้ว +50

    Если бы нам так объясняли по ходу семестра, я бы сдала лабораторную работу за пять минут :\
    Спасибо

    • @ListenIT_channel
      @ListenIT_channel  2 ปีที่แล้ว +5

      Очень приятно слышать :)

    • @iam21h
      @iam21h ปีที่แล้ว

      базы данных один из самых легких курсов в универе, у нас его осилили все без исключений, я удивлен, что ты его не осилил

    • @Laegmerill1306
      @Laegmerill1306 ปีที่แล้ว +17

      @@iam21h мда, откуда ты взял, что предмет я не осилила? Чисто выводы из жопы

    • @iam21h
      @iam21h ปีที่แล้ว

      ​@@Laegmerill1306 ну раз осилила эт хорошо

  • @Devivl
    @Devivl ปีที่แล้ว +2

    Очень круто. Спасибо за материал!

  • @user-rq6dk8vy3d
    @user-rq6dk8vy3d 8 หลายเดือนก่อน +2

    Вот это красота, шикарный видос, супердоступно, душевно братишечка!

  • @StepanVorobiov
    @StepanVorobiov ปีที่แล้ว +5

    Отличное видео. Круто что с примерами! Очень полезно. Спасибо)

  • @tsoer2976
    @tsoer2976 ปีที่แล้ว +3

    Это лучшие видео, причем нет ошибки про нулевую форму, которые некоторые считают первой)

  • @alexandrsargsyan2202
    @alexandrsargsyan2202 2 ปีที่แล้ว +2

    Спасибо! Отличный материал как и его подача!

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

    Лучший канал, суть вещей без воды!

  • @armorunit6970
    @armorunit6970 ปีที่แล้ว +3

    Очень грамотно преподносите материал, уже не первый раз ваши видео помогают.
    Хотелось бы ещё список литературы по обсуждаемому вопросу видеть в конце. Именно ваши рекомендации.
    Спасибо!

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

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

  • @enkifirm
    @enkifirm 2 ปีที่แล้ว +4

    Контент супер
    Хорошо объясняешь. Спасибо

  • @rendi5799
    @rendi5799 6 หลายเดือนก่อน +3

    Круто. Интересно. Понятно, особенно со второго раза (для такой тяжёлой абстрактной темы - невероятно). Без воды, но абсолютно не сухое изложение (поразительно)!

    • @ListenIT_channel
      @ListenIT_channel  6 หลายเดือนก่อน

      Спасибо, очень приятно! И спасибо тут автору статьи, конечно, прежде всего

  • @user-pu8mv9ps3s
    @user-pu8mv9ps3s ปีที่แล้ว +1

    Спасибо за видео!

  • @meepo1020
    @meepo1020 2 ปีที่แล้ว +1

    как всегда все круто! :D

  • @selfcreator8921
    @selfcreator8921 ปีที่แล้ว +1

    Спасибо, очень хорошее видео и объяснения

  • @user-kq2yh9fb7f
    @user-kq2yh9fb7f 12 วันที่ผ่านมา +1

    спасибо огромное, стало очень понятно🥰

    • @ListenIT_channel
      @ListenIT_channel  12 วันที่ผ่านมา +1

      Рад, что помогло :)

  • @By-pf6bw
    @By-pf6bw 2 ปีที่แล้ว +3

    Очень хорошо, спасибо

  • @user-or8ov7qd1v
    @user-or8ov7qd1v 6 หลายเดือนก่อน +1

    Огонь. Разок пересмотрю и туман рассеится

  • @user-uv2ev3ms9v
    @user-uv2ev3ms9v ปีที่แล้ว +3

    Очень хорошее изложение.

  • @MrSatan662
    @MrSatan662 ปีที่แล้ว +2

    Спасибо. Это было супер полезно 😊

  • @user-yg4fm7uw6g
    @user-yg4fm7uw6g ปีที่แล้ว +1

    Классный канал!!!

  • @TheSeko786
    @TheSeko786 5 หลายเดือนก่อน +1

    Божественное видео, зашел от скуки, затянуло

  • @zakarmoy
    @zakarmoy 2 ปีที่แล้ว +9

    Классное видео! Очень много полезной информации. Было бы интересно послушать про JIRA и Confluence - так как на канале видосов не нашел) Спасибо!

    • @ListenIT_channel
      @ListenIT_channel  2 ปีที่แล้ว +2

      Услышали, добавим в очередь!

  • @johnb7657
    @johnb7657 28 วันที่ผ่านมา +1

    Благодарю

  • @ilikegeorgiabutiveonlybeen6705
    @ilikegeorgiabutiveonlybeen6705 ปีที่แล้ว +12

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

  • @olzhikggg6915
    @olzhikggg6915 2 ปีที่แล้ว +3

    хороший материал спасибо!

    • @ListenIT_channel
      @ListenIT_channel  2 ปีที่แล้ว +1

      Спасибо за отзыв, стараемся!

  • @alexandrsargsyan2202
    @alexandrsargsyan2202 2 ปีที่แล้ว +1

    все круто !!!

  • @artetl
    @artetl 11 หลายเดือนก่อน

    Очень прям хорошо! Браво!
    Я бы дополнил, что 6нф не обязательно высшая форма с поддержанием историчности. Для этого обычно применяют медленно-изменяющиеся измерения типа 2. И под scd-2 можно подстроить сущность в третьей нормальной форме, получив необходимую и достаточную нормализацию данных, и отсутствие ограничений в периодах актуальности этих данных. Как для прошлого, так и для периодов в будущем. 😊

  • @artemky3bmu45
    @artemky3bmu45 9 หลายเดือนก่อน +1

    Спасибо!!

  • @RaptorT1V
    @RaptorT1V 7 หลายเดือนก่อน +3

    Просто лучший видос! Нам его препод на парах показывал

    • @ListenIT_channel
      @ListenIT_channel  7 หลายเดือนก่อน +1

      Спасибо, очень приятно! Но тут, конечно, прежде всего, спасибо автору статьи, за такую классную содержательную статью.

  • @user-hr5rj7ky1w
    @user-hr5rj7ky1w 11 หลายเดือนก่อน +1

    Парень, ты просто красавчик! Это лучшее что я видел ))) что нужно, чтобы ты и дальше выпускал ролики?

    • @ListenIT_channel
      @ListenIT_channel  11 หลายเดือนก่อน +1

      Спасибо, очень приятно! Можно подписаться на канал - этого будет вполне достаточно) Но если очень сильно хочется поддержать, то есть в описании к видео ссылки на Юмани и Бусти (ролики, естественно, и без этого продолжу выпускать, но будет приятно :)

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

      @@ListenIT_channel от души!

  • @tonybard
    @tonybard ปีที่แล้ว +2

    про 6НФ посмотрите на якорное моделирование и Data Vault и значимость DE/DWH для компаний

  • @MrCursedsin
    @MrCursedsin 2 ปีที่แล้ว +1

    Если это было снять с 1ого дубля, то вообще респект

  • @KrokodiLNR
    @KrokodiLNR ปีที่แล้ว +2

    Однако... Инфа супер!

  • @user-hx2ij1bk3n
    @user-hx2ij1bk3n ปีที่แล้ว +2

    похоже, что я спроектировал 3NF для своей CRM еще до того, как узнал о каких то правилах. Наверное, это хороший знак ))

  • @user-df6oz7xj6r
    @user-df6oz7xj6r 8 หลายเดือนก่อน +1

    graet,thanks.)😎😎😎😎

  • @N5O1
    @N5O1 6 หลายเดือนก่อน

    20:53 тут можно составной ключ из 3 частей сделать, да и "направление" это скорее информация относящаяся строго к проекту и должна находится внутри таблицы проектов

  • @bulatnikoffdmitrii4438
    @bulatnikoffdmitrii4438 ปีที่แล้ว +2

    В общем руководствуемся здравым смыслом )

  • @Needsysadmin
    @Needsysadmin ปีที่แล้ว +1

    Жуть как круто!

  • @AM-pd9dj
    @AM-pd9dj 2 ปีที่แล้ว +4

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

    • @niceandquickly
      @niceandquickly 2 ปีที่แล้ว +4

      А еще, приготовьте мне кофе и вымойте пол, поскольку Вы теперь не только программист, но и секретарь-уборщица )))

  • @dchenk
    @dchenk 6 หลายเดือนก่อน

    Ого, какие вы крутые.

  • @sergpil7534
    @sergpil7534 2 ปีที่แล้ว +5

    понял ... ! теперь свою рукож#пость буду аномалией называть !

  • @itdev4680
    @itdev4680 3 หลายเดือนก่อน

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

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

    А у вас нет случайно только аудио? Хотелось бы слушать при езде в метро или при топании на работу

  • @alexeysavitski5005
    @alexeysavitski5005 2 ปีที่แล้ว +7

    Получил порцию слова нормально на 15 лет вперед

  • @Bibliophilos
    @Bibliophilos ปีที่แล้ว

    Звук во вступлении будто из Героев Меча и Магии III, момент регенерации, кажется.

  • @maxamly
    @maxamly ปีที่แล้ว +2

    Про 4 НФ немного не понятно, самый первый пример препод-курс-аудитория не поддается декомпозиции без потерь. Разбив таблицу препод-курс-аудитория на две таблицы курс-препод и курс-аудитория мы теряем информацию. Например теряем информацию что Иванов ведет курс SQL в 101 аудитории (представим что это реально расписание и реально нужна именно эта связь (курс-препод-аудитория)). Хотя в первой таблице эта информация была и она явно важная (как для расписания). Это не претензия к автору видоса, просто нужно знать что некоторые данные не поддаются декомпозиции без потерь.Поэтому форма Бойса Кодда это максимум "нормальности" который можно выжать из подобных данных.

  • @kiryajan
    @kiryajan 3 หลายเดือนก่อน

    🔥

  • @olzhikggg6915
    @olzhikggg6915 2 ปีที่แล้ว +3

    хотел бы посмотреть материал JAVA+SQL

  • @0imax
    @0imax 3 หลายเดือนก่อน

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

  • @rockstation768
    @rockstation768 11 หลายเดือนก่อน

    Знающие подскажите, если идентификаторы зависит друг от друга то это 2НФ?(пример: в таблице клиенты 10 строк и в таблице заказы, заказы не могут превышать 10). Если таблице есть два идентификатора то это 3НФ?

  • @useragent000
    @useragent000 ปีที่แล้ว

    Думаю, если короче, то 1нф - как организовать таблицы, 2нф - как организовать связи

  • @N5O1
    @N5O1 6 หลายเดือนก่อน

    18:32 здесь лучше бы подошла связывающая таблица "сотрудники_департаменты"

  • @Aurelius1221
    @Aurelius1221 ปีที่แล้ว +1

    а разве на 21:43 таблица Кураторов не нарушает 3NF? Ведь первичным ключом является идентификатор куратора, но при этом атрибуты направления могут зависеть от атрибутов ФИО (где оба являются неключевыми). Или же мы не должны проверять на условие NF таблицы полученные путем декомпозиции, а лишь проверять таблицу связи?

    • @ListenIT_channel
      @ListenIT_channel  ปีที่แล้ว +2

      Конкретно на примере из статьи похоже, что таблица кураторов достаточно нормализована. Нет смысла (чаще всего) выносить направления в отдельную таблицу, если у направления нет своих атрибутов (можно, конечно, сделать справочник направлений только с ИД направления и его названием, но это не всегда оправдано). Иногда можно и вынести направления в отдельную таблицу, но для этого примера это было бы ни к чему и слишком громоздко

  • @Miko-pe6oe
    @Miko-pe6oe 2 หลายเดือนก่อน

    15:54 , но ведь при просмотре таблицы с проектами и участниками не будет понятно сразу что за проекта в конкретной ячейке и какой участник прикреплен за ним, или это я не понял?

  • @alexandrsargsyan2202
    @alexandrsargsyan2202 2 ปีที่แล้ว +2

    Ккллласссссссссссс !!!

  • @MacxaD
    @MacxaD 10 หลายเดือนก่อน

    В любой непонятной ситуации - декомпозируй

  • @DanielLenskiy
    @DanielLenskiy ปีที่แล้ว

    Зачем делать ключом какое то поле, если можно просто добавить поле ID и сделать его ключом во всех таблицах. Такое поле гарантированно будет уникальным.

  • @FISI_Deutschland
    @FISI_Deutschland ปีที่แล้ว

    12:35 Разве все значения в этой таблицу атомарны? Ведь Ф.И.О. можно разделить отдельно на фамилию, имя и отчество. Так что, извините, не соглашусь.

    • @ListenIT_channel
      @ListenIT_channel  ปีที่แล้ว +2

      Это всё-таки просто пример - понятно, что никто не будет хранить ФИО в одной ячейке (редко разве что) да ещё с инициалами :)

    • @FISI_Deutschland
      @FISI_Deutschland ปีที่แล้ว

      @@ListenIT_channel согласен :) Доброго вечера!

  • @mikhail8376
    @mikhail8376 3 หลายเดือนก่อน

    9:00 это же вторая нормальная форма по-факту

  • @N5O1
    @N5O1 6 หลายเดือนก่อน

    4:01 или создать констрейнт со списком допустимых имен

    • @ListenIT_channel
      @ListenIT_channel  6 หลายเดือนก่อน +1

      В таком кейсе, как в примере, нежелательно, т. к. перечень значений может динамически меняться, и в этом случае лучше использовать справочники. Плюс, если у значений справочников чуть более сложная структура, чем просто одно название (например, перевод на разные языки и ещё другие атрибуты), то тут уже точно справочник нужен.

    • @N5O1
      @N5O1 6 หลายเดือนก่อน

      @@ListenIT_channel отдельная таблица имеет смысл только при динамическом изменении, так как в случае со справочником наоборот удобнее использовать enum как ключ

    • @ListenIT_channel
      @ListenIT_channel  6 หลายเดือนก่อน

      @@N5O1 проблема в том, что справочники, как правило, имеют свойство обновляться, даже если бизнес говорит, что это самый стабильный перечень значений в мире)

  • @constantsvariables866
    @constantsvariables866 ปีที่แล้ว +3

    лучшее что я видел по НФ

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

    по dknf просто с Википедии зачитали, я это и сам видел там, ни фига не понятно

  • @N5O1
    @N5O1 6 หลายเดือนก่อน

    9:16 а если использовать значение первой колонки как PK то вполне всё получается =)

    • @ListenIT_channel
      @ListenIT_channel  6 หลายเดือนก่อน

      Можно, но называть это "порядковым номером" не стоит, так как ключ означает не порядковый номер, а идентификатор

  • @black_sea99
    @black_sea99 ปีที่แล้ว

    На счет уникального табельного номера Вы не правы. Человек может уволиться, после года работы, а потом вновь поступить на работу в ту же организацию, и 100% под новым табельным номером.. и если искать по ФИО + дата рождения то выпадут 2, а то и 3 записи. Бывало, что целыми цехами по 200-500чел увольняли-принимали сотрудников, но в уже другой цех-подразделение (на то был свои причины). Так что, я бы не рассматривал табельный номер, как единственный идентификатор. Просто такое-же поле как и фио.

    • @dmitrybarzha3945
      @dmitrybarzha3945 ปีที่แล้ว

      Я бы не удалял номера, а при повторном устройстве на работу, использовал бы их же.

  • @N5O1
    @N5O1 6 หลายเดือนก่อน

    10:27 а разве там не может быть 2 джона смита? просто они живут в одном домохозяйстве и предоставили один и тот же номер телефона

    • @ListenIT_channel
      @ListenIT_channel  6 หลายเดือนก่อน

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

  • @N5O1
    @N5O1 6 หลายเดือนก่อน +1

    28:55 автор не сталкивался с "настоящими" программистами, чей могз изуродован бесконечным количеством литературы которую они поглащают и такое чувство, что они уже оторваны от реальности и пишут код только лишь бы это бы так как написано в книжке =)

    • @Roltun
      @Roltun 5 หลายเดือนก่อน

      вот вёрстка по БЭМ это меня одного бесит?

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

    а разве наличие первичного ключа нельзя считать пронумерованием строк???? тогда и ненорм.форма даже не соблюдается ведь

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

      Не совсем. Первичный ключ - это уникальный идентификатор строки, т. е. это не порядковый номер. Порядковый номер = 5 означает, например, что эта строка пятая в таблице. А ключ = 5 у строки только означает, что идентификатор равен 5, и это уникальный номер строки. Какой бы мы запрос не сделали, сколько бы мы строк не запросили из таблицы, и на каком бы порядковом месте в таблице не оказалась эта строка, она всё равно будет иметь ID = 5. Т. е. да, идентификатор действительно иногда генерируется как нумерация строк по порядку, но только этот номер "железно" присваивается строке и не означает порядковый номер, а именно что уникальный идентификатор, и не изменяется при разном положении этой строки в таблице.

  • @vesterertesterer2459
    @vesterertesterer2459 21 วันที่ผ่านมา

    16:23

  • @ordossanktorum
    @ordossanktorum ปีที่แล้ว

    Поле ФИО не является атомарным

  • @lynne618
    @lynne618 5 หลายเดือนก่อน

    видимо я слишком тупой для этого...

  • @nikolay4362
    @nikolay4362 7 หลายเดือนก่อน +1

    что такое транзитивная зависимость?))) и откуда этот термин вообще вылез, так плохо обьясняется 3NF, что плакать хочется, хотя там все супер просто

    • @ListenIT_channel
      @ListenIT_channel  7 หลายเดือนก่อน +1

      gadgetshelp.com/prilozheniia/chto-takoe-tranzitivnaia-zavisimost-v-baze-dannykh/

    • @ktoeto8094
      @ktoeto8094 16 ชั่วโมงที่ผ่านมา

      Это такое отношение;) вышку не надо было прогуливать

  • @hellhound4138
    @hellhound4138 ปีที่แล้ว

    аьоьа

  • @KrokodiLNR
    @KrokodiLNR ปีที่แล้ว

    Одно понятно - Илон Маск скорость на своей залупе в космос летать будет.

  • @mms4096
    @mms4096 ปีที่แล้ว +1

    лол, а как сделать декомпозицию к 3-ей нормальной форме если ты ее уже сделал , что бы привести таблицу ко 2 нормальной форме ??? то есть у тебя 2-я нормальная форма - это 3 таблицы допустим разбитых на части,

  • @alexandrsargsyan2202
    @alexandrsargsyan2202 2 ปีที่แล้ว +2

    Спасибо! Отличный материал как и его подача!

  • @gskodnik
    @gskodnik 2 ปีที่แล้ว +28

    Спасибо! Отличный материал как и его подача!

    • @ListenIT_channel
      @ListenIT_channel  2 ปีที่แล้ว +4

      Ну, за материал тут, скорее, автору статьи спасибо, а за подачу благодарю :)