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

  Рет қаралды 57,643

Как Стать Хорошим Программистом

Как Стать Хорошим Программистом

Күн бұрын

Пікірлер: 44
@JohnnySvarog
@JohnnySvarog 6 жыл бұрын
Привет! Давно уже собирался сделать очередное видео по нормализации БД, поскольку тема довольно интересная. И вот, собственно, оно =). Немного поговорим отвлечемся от Angular и других тем, и поговорим о прекрасном - о структуре базы данных о том, какие сложности возникают при нормализации, и как их преодолеть.
@fuad022
@fuad022 6 жыл бұрын
Здравствуйте. Можете ли Вы сделать видео про остальные нормализации форм? Для интереса)
@gluts
@gluts 6 жыл бұрын
@@fuad022 +
@JohnnySvarog
@JohnnySvarog 4 жыл бұрын
@@fuad022 , здравствуйте. Остальные - имеете ввиду, пятую, шестую?
@fuad022
@fuad022 4 жыл бұрын
@@JohnnySvarog Да
@НикитаИлларионов-р9с
@НикитаИлларионов-р9с 4 жыл бұрын
Пьяный мельник, веселый негр, дачница баба Дуся - интересная компания)
@elizavetamatveeva2466
@elizavetamatveeva2466 2 жыл бұрын
Спасибо большое за ваше объяснение. Действительно, на очень многих ресурсах ставятся в пример оторванные от реальности случаи.
@JohnnySvarog
@JohnnySvarog 4 жыл бұрын
Касательно ИП "Веселый негр" - если вспомнить географию, то принято выделять 3 самые большие географические расы: европеоидную, монголоидную, негроидную. Так вот я за то, чтобы было побольше добрых, счастливых, а следовательно - веселых людей, вне зависимости от того, европеец это, монгол или негр. Поэтому улыбайтесь, радуйтесь жизни, а самое главное - помните, что всегда есть тонкая, но очень четко различимая грань между расизмом и здравым смыслом.
@teastrum
@teastrum 4 жыл бұрын
названием ип вы рескуете нагнать гнев
@JohnnySvarog
@JohnnySvarog 4 жыл бұрын
@@teastrum, до недавних событий этого особо никто не замечал. все потому, что люди видят то, что хотят видеть. Кому круги на полях, кому всемирный заговор... а мы здесь занимаемся изучением нормализации баз данных и только =)
@drankenwizard7602
@drankenwizard7602 4 жыл бұрын
На лицо пропаганда США, до блм никто внимания не обращал. Поверьте, вы не хотите у себя в стране весь маразм который набрал сильных оборотов на западе. У нас своих проблем хватает.
@antonkaschin7073
@antonkaschin7073 3 жыл бұрын
Лайк авансом!
@lastfornit
@lastfornit 4 жыл бұрын
Что будет, если у одного поставщика несколько контактов - разобрались. Спасибо, при просмотре других видео действительно вопрос возникал. Идём дальше. Случай из жизни: у большинства моих знакомых, являющихся учредителями ООО, есть ещё зарегистрированное ИП, а иногда они при этом ещё и сами подрабатывают где-то замдиректорами или ведущими специалистами. Это я к тому, что дачница баба Дуся может оказаться хозяйкой ИП "Пьяный мельник" и контактным лицом отдела снабжения ИП "Соль Мажор". Т.е. Один (не смог написать с маленькой:) ) контакт может соответствовать нескольким поставщикам. Как тут лучше быть?
@СчастьеЭн
@СчастьеЭн Жыл бұрын
Спасибо. Объяснили очень четко
@absansher
@absansher 2 жыл бұрын
Лучше чем в вузе
@leomysky
@leomysky 4 жыл бұрын
Очень солидно, спасибо
@PoulFly
@PoulFly 4 жыл бұрын
Хорошее объяснение
@SolistTV
@SolistTV 5 жыл бұрын
На 2 уроке возник вопрос по авто инкременту в таблице связей, но тут увидел ответ, все ок =)
@likit9403
@likit9403 3 жыл бұрын
А если contact не будет уникальным, то есть не будет логическим праймери кеем, тогда 1 контакт может быть для разных Vendor (например это дочерняя компания поэтому контакт одинаковый). То тогда в таблице с контактами мы вводим суррогатный праймери кей и таблица с контактами будет иметь вид Id, Contact, Vendor, а таблица с вендорами Vendor Id, Vendor Name (без изменений). Такой вид будет соответствовать 3-ей нормальной форме?
@ЕленаМ-ц2ъ
@ЕленаМ-ц2ъ 3 жыл бұрын
7:50 а ничего что vender id тоже должен быть в ключе!!!
@jojomajo
@jojomajo 4 жыл бұрын
ИП "Веселый негр" теперь понятно из-за кого протесты в США начались!
@idzumiyui8263
@idzumiyui8263 4 жыл бұрын
Спасибо
@Light-qo9vo
@Light-qo9vo 6 жыл бұрын
Почему Contact не зависит от Vendor Name? Ведь если поменять поставщика то поменяется и контакт. Разве нет?
@JohnnySvarog
@JohnnySvarog 6 жыл бұрын
Все верно. Но поменять поставщика - не то же самое, что сменить его имя. К примеру, поставщик может сменить фамилию (если это человек) или наименование (если это организация). Но контакт его при этом может и не измениться. В базе гарантировать то, что мы имеем дело все с тем же поставщиком, будет ID-идентификатор.
@Light-qo9vo
@Light-qo9vo 6 жыл бұрын
Понял, спасибо за ответ.
@vitalykargin
@vitalykargin 3 жыл бұрын
А почему не создать просто ещё Столбец email 2 email 3
@TikTokDepartment
@TikTokDepartment Жыл бұрын
А если их количество будет увеличиваться? Всегда добавлять столбец?)
@КириллКутузов-з2п
@КириллКутузов-з2п 3 жыл бұрын
Спасибо. Ничего не понял.
@Andrei-x1q
@Andrei-x1q 6 жыл бұрын
Объясните пожалуйста, не понимаю разницу между простым и скалярным, можете привести пример где в первой нормальной форме выполняется 2 условие, но не 3 (число является простым, но не скалярным)
@JohnnySvarog
@JohnnySvarog 5 жыл бұрын
Хороший вопрос. По большому счету, это вопрос классификации. Атрибуты бывают простыми и составными. Пример простого - Фамилия, пример составного - ФИО, ну или Contact, как вот в этом видео (как вы видите, все зависит от того, какой смысл вкладывается в это поле). Простой - тот, что ЛОГИЧЕСКИ не делится на части (ну или делится, но в этом нет и не возникнет необходимости). Идем дальше. Определение "скалярный" относится к типам данных и их значениям. Типы данных бывают скалярными и агрегатными. Например, int, varchar - простые типы (если, конечно, не рассматривать строку как набор символов). PostgreSql, к примеру, поддерживает тип данных Array (массив) - это агрегатный тип. Агрегатный - это тот, который имеет иерархическую внутреннюю структуру, содержащую несколько элементов, тип JSON - опять же. Значит ли это, что все таблицы в Postgre, в которых есть атрибуты с типом данных Array, не находятся в 1 НФ? Нет! Потому что, как правило, с точки зрения хранения и обработки данных, все значения этого массива рассматриваются как одно целое. А вот если, скажем, в каждом элементе массива была бы ссылка на другую таблицу, и средствами БД по этим ссылкам вытягивались данные, то вот здесь бы таблица не была в 1 НФ. На самом деле, нужно очень постараться, чтобы таблица на физическом уровне БД не находилась в 1 НФ, потому что не нормализованная до 1 формы таблица в реляционной бд - это уже не отношение, а свалка, и интуитивно сложно такое натворить =).
@zuxz8380
@zuxz8380 2 жыл бұрын
😎
@fusome
@fusome 5 жыл бұрын
автор антисимит - ИП "Веселый негр"))
@ПанЧиЛо
@ПанЧиЛо 4 жыл бұрын
Негр-еврей... Сильно, не иначе
@SonyaS151
@SonyaS151 4 жыл бұрын
ИП «Веселый негр», вы что серьезно?следите за примерами, персосяны.
@olegdmitriev9364
@olegdmitriev9364 4 жыл бұрын
Следи за языком, дешевка
@drankenwizard7602
@drankenwizard7602 4 жыл бұрын
Вас там в Тернополе они таскают по углам? Наслышан
@ИльяШкварко
@ИльяШкварко 5 жыл бұрын
Что за веселый негр? С ума сошел?
@ИльяШкварко
@ИльяШкварко 5 жыл бұрын
@@caesarfatalhammer Ну если тебя ничего не смущает, то нам не о чем говорить, и как то обсуждать тему)
@ИльяШкварко
@ИльяШкварко 5 жыл бұрын
@@caesarfatalhammer Мне страйк прилетел за то, что я написал это слово
@alexfed1033
@alexfed1033 Жыл бұрын
Почему бы не создать допполя Contact2 и\или Contact3 ? Это приведет к 1ой форме.Ключ останется простым, поэтому это будет и второй формой также. А выделив отдельную таблицу Contacts с ключом ID это будет 3ей формой. Так можно?
@inga153
@inga153 4 жыл бұрын
Спасибо
Нормальная форма Бойса-Кодда (BCNF). Правила нормализации БД
8:28
Как Стать Хорошим Программистом
Рет қаралды 29 М.
Что такое нормализация баз данных?
24:02
Sergey Nemchinskiy
Рет қаралды 17 М.
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 158 МЛН
Схема базы данных | Основы SQL
12:42
Andrey Sozykin
Рет қаралды 60 М.
ИНДЕКСЫ В БАЗАХ ДАННЫХ. СОБЕС В OZON.
33:59
Ваня Ио про разработку
Рет қаралды 75 М.
Базы данных. Проектирование
14:53
R class Tech
Рет қаралды 69 М.
Третья нормальная форма. Правила нормализации БД
6:35
Как Стать Хорошим Программистом
Рет қаралды 61 М.