powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / 3NF
5 сообщений из 5, страница 1 из 1
3NF
    #36733907
schizophrenic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что такое 3NF? точнее могли бы Вы показать в примере..
...
Рейтинг: 0 / 0
3NF
    #36740393
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Гугле забанили?

3я нормальная форма. В нете куча ссылок с примерами.
...
Рейтинг: 0 / 0
3NF
    #36741914
Lemegeton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для начала, следует понять, что говоря про Нормальные Формы, мы говорим о Теории Реляционных Баз данных. И слово КЛЮЧ означает не совсем то же самое, что KEY в реальных СУБД.

Первая нормальная форма. Тут все просто.
ПедивикияОтношение находится в первой нормальной форме тогда и только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов.
Никаких наборов значений в полях базы. Например, в список ключевых слов для страницы сайта не должен быть помещен в одно поле. Это нарушение первой нормальной формы.
Например, вот такая таблица не в 1НФ.
название страницытекставторпочта автораключевые словаГлавнаятекстИванivan@ya.ruглавная,страница,индекс
Привести её к 1НФ можно следующим образом:

название страницытекставторпочта автораключевое словоГлавнаятекстИванivan@ya.ruглавнаяГлавнаятекстИванivan@ya.ruстраницаГлавнаятекстИванivan@ya.ruиндекс

Вторая нормальная форма. Тут уже сложнее.
ПедивикияОтношение находится во второй нормальной форме, если оно находится в первой нормальной форме, и при этом любой его атрибут, не входящий в состав потенциального ключа, функционально полно зависит от каждого возможного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего составного потенциального ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него частей. Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа.
Это означает, что поля записи логически зависят только от ключа целиком, а не от какой-либо его части.
Например, в предыдущей таблице в случае, если ключом является "название страницы"+"автор", поле "почта автора" имеет отношение только к автору и не имеет отношения к названию страницы, а ключевое поле имеет отношение к названию страницы, но не имеет отношения к автору.

название страницытекставторпочта автораключевые словаГлавнаятекстИванivan@ya.ruглавнаяГлавнаятекстИванivan@ya.ruстраницаГлавнаятекстИванivan@ya.ruиндекс

При нормализации надо разбить на таблицы:

Страницы
название страницыавтортекстГлавнаяИвантекстГлавнаяИвантекстГлавнаяИвантекст

Ключевые слова
название страницыключевые словаГлавнаяглавнаяГлавнаястраницаГлавнаяиндекс

Авторы
авторпочта автораИванivan@ya.ru

Третья нормальная форма расширяет вторую.

То есть данные, хранимые в таблице, должны зависеть только от ключа.
Чуете разницу со второй НФ? Еще раз.
2НФ -- поля зависят только от полного ключа и никогда от его части
3НФ -- поля зависят и описывают только ключ

Пример самостоятельно. Мне трудно привести пример 2НФ, не являющейся 3НФ.
...
Рейтинг: 0 / 0
3NF
    #36743738
schizophrenic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lemegeton,

Спасибо! Старый Топ...
...
Рейтинг: 0 / 0
3NF
    #36747995
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LemegetonЧуете разницу со второй НФ? Еще раз.
2НФ -- поля зависят только от полного ключа и никогда от его части
3НФ -- поля зависят и описывают только ключ

Пример самостоятельно. Мне трудно привести пример 2НФ, не являющейся 3НФ.

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

Пример отношения в 2НФ, но не 3НФ должен быть прост:
в отношении просто нет составных ключей, а транзитивная зависимость непервичного атрибута есть.
Например, ключ один, второй атрибут не ключ завист от первого, а третий зависит от второго, но второй не завист от первого.
Пусть к примеру отношение состоит из атрибутов: сотрудик, отделение, город. И известно, что один сотрудник не может быть в разных отделения (разумеется в одном отделении много сотрудников), отделение не может быть в разных городах, но в одном городе много отделений.
Ключ только один и из одного атрибута Сотрудник. Город транзитивно (через отделение) зависит от Сотрудника. Разумеется город не входит ни в один ключ (поскольку таковой вообще один и из одного атрибута). Не находится в 3НФ. Но в 2 НФ находится - полностью зависит от ключа (он из одгого атрибута)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / 3NF
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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