powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Объясните нормализацию БД на пальцах!!!
16 сообщений из 16, страница 1 из 1
Объясните нормализацию БД на пальцах!!!
    #33450104
Чай_ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Диплом горит, а я так и не допер что за 1НФ, 2НФ, 3НФ, НФ Бойса-Кодда?
А описано все это на таком языке что мозги плавятся уже. Может кто-нибудь на примитивных примерчиках это объяснить?
Вот например таблица "Места в астобусе" там есть внешние ключи к таблицам "Автобусы" и "Тип места" (мягкое, жесткое и тд). Где тут какая форма? И как получить 1, 2, 3 и форму этого Бойса?
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33450244
БББ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Погляди здесь:

http://belani.narod.ru/1/Lnorm.htm#Нормализация%20схем%20баз%20данных

Есть даже примеры
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33450362
Чай_ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не, это не то, хреновые там какие-то примеры, не понятно ничего. На моем примере можно как-то показать?
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33450410
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно глянуть здесь. вдруг поможет...

http://sanalis.ru/wiki/?wakka=BazyDannyx/Opredelenija&v=uih#h20-4
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33450608
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кста "Автобусы" и "Места в астобусе" лучше заменить на "Автобус" и "Место в астобусе" - иначе звучит так что в каждой строке (кортеже) не про один, а про несколько автобусов.
1 форма - атомарность (не делимость). Атрибут содержит неделимое значение с точки. Если, к примеру, заказчик считает, что у Автобуса есть и номер и марка, но Вы создадите один атрибут "Номер_Марка" и туда засандалите как-нибудь и номер и марку, то отношение не удовлетворяет 1 нормальной форме.
Остальные формы связаны с понятием функциональных зависимостей и ключей.
2 форма - отношение уд 2 форме - если каждый не первичный атрибут полностью завист от каждого ключа отношения. Не первичный - значит не входит ни в один ключ. Ключ множество атрибутов значения которых уникальны в отношении и ни одно его собственное подмножество не отвечает этому свойством. атрибут полностью завист от можества атрибутов, если он от них завист, и не зависит ни от какого собственного подмножества этого множества.
Например, если бы Вы в отношение "Автобус" добавили атрибут "Место" (а таблицу "Место в автобусе" не создавали, а создав ее Вы как раз нормализовали схему БД), то у Вас значения Мн-ва {"Номер автобуса","Номер места"} были бы уникальными в отношении, а по отдельности ни "Номер автобуса", ни "Номер места" не уникальны - т.е. эта пара ключ. "Марка автобуса" зависит от "Номера автобуса" - не может быть двух марок у одного автобуса. Тем более "Марка" зависит от той пары. Но та пара ключ - "Марка" частично зависит от ключа. "Марка" - ни входит ни в один ключ. Не является первичным. Действительно, много автобусов одинаковой марки имеют одинаковые места в . А номер атобуса и марка имеют много разных мест, т.е. повторяются. На лицо нарушение второй нормальной формы. Разделв эту таблу на две "Автобус" и "Место в астобусе" Вы устранили это нарушение 2 нормальной формы.
Форма 3 - отсутсвие транзитивной зависимости не первичных атрибутов ни от одного ключа. Атрибут транзитивно зависит от мн-ва атрибутов, если есть еще оно мн-во атрибутов, такое что данный атрибут зависит от него, само это мн-во зависит от первого, а первое не зависит от этого мн-ва.
В пред примере в качестве такого доп мн-ва можно взять мн-во из одноого атрибута "Номер автобуса".
Но 3 форма сильнее 2. Т.е. если нарушена 2, то всегда нарушен 3, и наоборот если отношение удовлетворяет 3, то тем более 2. Но 3 может быть нарушена, а 2 - нет.
Например, пусть в таблице "Автобус" есть фирма - производитель автобуса.
Допустим марка может производиться только на одной фирме, хотя много марок на одной фирме. Тада Фирма завист от Марки. Марка от номера Автобуса. Номер автобуса не зависит от марки - много автобусов одинаковой маки и тока один с данным номером. Без доп инфы Фирма - не первичный атрибут. Не входит ни в один ключ - в этой табле всего один ключ - Номер автобуса, если бы был другой , то Номер автобуса бы зависел от него, а этого пока нет. Нарушена третья нормальная форма. Чтобы устранить это нарушение, нужно создать еще таблу Марка, где были бы Марки и Фирмы.

Бойса.отсутствие транзитивной зависимости любого (а не тока не первичного) атрибута от любого ключа.
Пример. Пусть есть таблица Марка_Мастерская с атрибутами: Мастерская, Марка, Фирма:
И действует правило, в данной Мастерской допускается ремонт только одной марки данной фирмы. Ну такой искусственный пример.
Тада Пара {Мастерская, Марка} - ключ, потому что Фирма зависит от Марки и стал быть значения пары уникальны и Фирма транзитивно зависит от этой пары.
Но и пара {Мастерская, Фирма} - тоже ключ - не может быть двух марок для этой пары из-за того искусственного правила. Фирма - первичный атрибут (входит в ключ). Нарушена форма Бойса_Кодда, хотя форма 3 не нарушена.

Надеюсь, это простое объяснение, на простом языке что-то прояснит начинающему.
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33450659
Чай_ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за подробное разжевывание, нихрена не понятно правда, такая бредятина :) Придется вчитываться и дальше мозги плавить. Хоть на примерах теперь погляжу.
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33453675
Slider_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай это , Глава 4.
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33454558
Мда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чай_никДиплом горит, а я так и не допер что за 1НФ, 2НФ, 3НФ, НФ Бойса-Кодда?А потом такие "специалисты" приходят устраиваться на штуку грина
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33455102
Slider_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кода-то давно на одном собеседовании меня тоже спросили про 1НФ, 2НФ, 3НФ, НФ Бойса-Кодда, я ответил, что настоящий DBA не нуждается в процедурах нормализации, а сразу должен создавать нормализованные таблицы. :)
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33455139
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторОбъясните нормализацию БД на пальцах!!!
Типа:
Если Вы пытаетесь одну клавишу нажать несколькими пальцами то это нарушение 1НФ.
Если записываете код символа нажатой клавиши на пальце вместо клавиши то это нарушение 2НФ :)
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33456679
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ModelR
Браво! Высший пилотаж! (Я не шучу)
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33459152
Dioman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть еще доменно ключевая нормальная форма, если ей удовлетворяет то тогда катят все нормальные формы.
звучит просто если все констрайнты можно представить как следствие доменов и ключей - то таблица находится во всех нормальных формах.

поищи в инете на эту тему... я через нее диплом защищал ( самый простой способ не нести этот бред про 1-2-3 нф... ) моему препу понравилось :)
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33460837
luis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Slider_spbКода-то давно на одном собеседовании меня тоже спросили про 1НФ, 2НФ, 3НФ, НФ Бойса-Кодда, я ответил, что настоящий DBA не нуждается в процедурах нормализации, а сразу должен создавать нормализованные таблицы. :)
В принципе не надо изучать нормализацию для того, чтобы правильно(относительно) проектировать бд. Все и так интуитивно ясно, "тут лишнее, можно вынести в отдельную таблицу, а тут вписать только ключ", но все-равно изучил теорию.
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33461034
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теория нормализации в РМД и является ни чем иным, чем формальным обоснованием здравого смысла и интуиции. Но ни одна другая модель данных не может похвастать тем, что рекомендации по проектированию БД сопровождаются некоторыми формальными критериями. А это большая разница, так как здравый смысл --- он у разных людей разный. А формальные критерии -- это всегда формальные критерии.
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33461081
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dioman
самый простой способ не нести этот бред про 1-2-3 нф...

Или самый простой, чтобы задали вопросы про 4-5 формы. Например, чтобы продемонстрировать следующее на примере 5 формы:

Dioman
если ей удовлетворяет то тогда катят все нормальные формы

Тем более что, не все формы катят, а тока из наиболее известной линейки. Так как есть в принципе формы, котрые могут не катить уже при форме Бойса-Кодда. Хотя такие же редко упоминаемые как и доменно ключевая.
...
Рейтинг: 0 / 0
Объясните нормализацию БД на пальцах!!!
    #33461312
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slider_spbПочитай это , Глава 4.
Слайдер, огромное спасибо за шикарную ссылку!
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Объясните нормализацию БД на пальцах!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]