powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / В какой нормальной форме БД?
13 сообщений из 13, страница 1 из 1
В какой нормальной форме БД?
    #36992459
sql_user_std
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Подскажите, пожалуйста, в какой нормальной форме находится БД с схемой, изображенной на рисунке?
Я думаю, что не менее чем во второй, потому что первичные ключи всех таблиц не являются составными. Но сомневаюсь по поводу таблиц Nabor и Links.

В Nabor первичный ключ id создан искусственно, по сути, первичным ключом является совокупность полей (внешних ключей) id_a, id_b, id_c, так как они однозначно определяют поле text.

В Links похожая ситуация. Поле text однозначно определяется по id, id_f. К тому же в таблице Links получается некоторая избыточность, вроде как. А именно, поле id_c входит в таблицы Nabor и F, соответственно в таблице Links это поле неявно присутствует дважды, во внешних ключах. Или так правильно?
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36993042
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user_stdЯ думаю, что не менее чем во второй, потому что первичные ключи всех таблиц не являются составными. Но сомневаюсь по поводу таблиц Nabor и Links.

Для нарушения второй формы первичность ключа не имеет значения.

sql_user_std
В Nabor первичный ключ id создан искусственно, по сути, первичным ключом является совокупность полей (внешних ключей) id_a, id_b, id_c, так как они однозначно определяют поле text.

Вот раз id_a, id_b, id_c является ключем, то есть возможность даже нарушения 2НФ. Для этого достаточно, например, чтобы text функционально зависел от любого собственного подмножества {id_a, id_b, id_c} и text не входил ни в один ключ. Если бы, например, зависел от id_a, то text, то text можно было бы переместить в таблицу А.

Т.е. нуно тупо выяснять остальные функциональные зависимости, если Вас беспокоят нормальные формы ниже 4-й (обычно 4-й и 5-я рассматриваются только чисто в теоретичексих упражнениях).
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36993285
sql_user_std
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadiminfoВот раз id_a, id_b, id_c является ключем, то есть возможность даже нарушения 2НФ. Для этого достаточно, например, чтобы text функционально зависел от любого собственного подмножества {id_a, id_b, id_c} и text не входил ни в один ключ.


Получается таблица Nabor во второй нормальной форме, так как функциональная зависимость поля text от {id_a, id_b, id_c} полная, а {id_a, id_b, id_c} - один из возможных ключей.

Но при этом в таблице Nabor есть транзитивная зависимость n_id - {id_a, id_b, id_c} - text и она точно не в 3НФ?

vadiminfoесли Вас беспокоят нормальные формы ниже 4-й (обычно 4-й и 5-я рассматриваются только чисто в теоретичексих упражнениях).

Честно говоря, 4-й и 5-я не интересуют. База с этой схемой используется на практике. И я ее пытаюсь привести к 3НФ.
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36993362
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user_stdНо при этом в таблице Nabor есть транзитивная зависимость n_id - {id_a, id_b, id_c} - text и она точно не в 3НФ?

Нет такой транзитивной зависимости, поскольку Вы говорите что и id и {id_a, id_b, id_c} - ключи.
и стало быить они функционально зависят друг от друга. Для тразитивной зависимости, нужны зависимости в одну сторону: А -> B, B->C, но не верно B->A. А от ключей все атрибуты функционально зависят, включая другие ключи.

Если у Вас нет частичной зависимости text от {id_a, id_b, id_c}, то остается возможность для нарушения 3НФ, что некое собственное подмножество атрибутов {id_a, id_b, id_c} зависит функционально от text. Если и таковой нет, то похоже что в 3НФ.
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36993378
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или например от {id_c, text} зависит id_a.
Ну типа формально по любасу нуно выявить все зависимости. Если ниче кроме названного Вами ранее нет, то в 3НФ.
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36993421
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да там была не точность про транзитивную зависимость: если С->B то тразитивность при отстутвии зависимости А от В есть. Просто в Вашей схеме уже есть B->А. Т.е. не в односторонняя зависимость, и менно независимочть первого множества атрибутов в тразитивной цепи от второго.
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36993657
sql_user_std
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadiminfoнекое собственное подмножество атрибутов {id_a, id_b, id_c} зависит функционально от text.
Такой зависимости нет.

А почему если так
vadiminfoот {id_c, text} зависит id_a
то это не 3НФ?
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36993722
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user_std
А почему если так
vadiminfoот {id_c, text} зависит id_a
то это не 3НФ?
Ну типа тада может быть транзитивная:
id->{id_c, text}, {id_c, text}->id_a

И если {id_c, text} не ключ, транзитивная зависмость есть. Есть тада избыток. Например, если {1, 'F'} соответсвует {2}, то как тока еще раз встретится {1, 'F'}, мы уже и так знаем, что id_a = 2 по предушествующему случаю записи, поскоку есть F-зависмость. Т.е. занос его избыточен (и так знаем) - одну и туже инфу заносить приходится много раз.
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36995238
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user_stdЗдравствуйте!
Подскажите, пожалуйста, в какой нормальной форме находится БД с схемой, изображенной на рисунке?

Ваша проблема заключается в использовании крайне не эффективной модели данных, неизвестно по какой причине. В случае классической объектной модели данных, в Вашем примере у каждого объекта была бы ровно одна характеристика, и не было бы никаких ключей, которые нужны не для моделирования данных, а для борьбы с этими самыми данными ради алгебры (SQL):)
И Вам не нужно было бы заботиться о "нормальных формах".
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36996401
sql_user_std
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БредятинаВаша проблема заключается в использовании крайне не эффективной модели данных, неизвестно по какой причине.
Скорее всего, по причине отсутствия опыта реального проектирования БД. Возможно также от недостатка некоторых теоретических знаний в этой области. Вообщем, учусь...

БредятинаВ случае классической объектной модели данных, в Вашем примере у каждого объекта была бы ровно одна характеристика, и не было бы никаких ключей

Интересно. Почитаю про это)
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36996644
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаВ случае классической объектной модели данных, в Вашем примере у каждого объекта была бы ровно одна характеристика, и не было бы никаких ключей

Интересно. Почитаю про это)[/quot]
На этом форуме для начала почитайте. Забанеенного ЧАЛа. Поскоку там могут быть другие траблы, значительно более худшие. Но, возможно, и эти тока там нет теории и потому о них не знают. Ну так и в РМД полно народа не знает, и часто сходимт с рук.
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36997984
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_user_stdСкорее всего, по причине отсутствия опыта реального проектирования БД. Возможно также от недостатка некоторых теоретических знаний в этой области. Вообщем, учусь...
Интересно. Почитаю про это)
Очень правильный, хотя и забытый, подход.
...
Рейтинг: 0 / 0
В какой нормальной форме БД?
    #36997989
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoНа этом форуме для начала почитайте. Забанеенного ЧАЛа. Поскоку там могут быть другие траблы, значительно более худшие. Но, возможно, и эти тока там нет теории и потому о них не знают. Ну так и в РМД полно народа не знает, и часто сходимт с рук.
Оживают иногда трусливые недоучки:) Есть, значит, тяга к знаниям:)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / В какой нормальной форме БД?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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