powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / уровень нормализации
13 сообщений из 13, страница 1 из 1
уровень нормализации
    #34534691
Albatross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
допустим у меня есть сотрудник, у которого набор обязанностей

я знаю, что обязанностей не больше, скажем, 10

у меня есть таблица обязанностей (код, название)

я хочу сделать таблицу сотрудников так:

код, фио, обяз1, обяз2, обяз3...обяз10

если обязанность какая-то равна NULL, то её нет, порядок не важен

Вопрос на теорию - ведь верно, что эта таблица находится в первых трёх нормальных формах?
ведь у меня обяз1, обяз2 зависят только от ключа....
вроде как все правила нормальных форм соблюдены
...
Рейтинг: 0 / 0
уровень нормализации
    #34534817
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Albatrossдопустим у меня есть сотрудник, у которого набор обязанностей
Вопрос на теорию - ведь верно, что эта таблица находится в первых трёх нормальных формах?
ведь у меня обяз1, обяз2 зависят только от ключа....
вроде как все правила нормальных форм соблюдены
Очуметь. Тынц .
...
Рейтинг: 0 / 0
уровень нормализации
    #34535294
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
уровень нормализации
    #34536381
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Albatrossдопустим у меня есть сотрудник, у которого набор обязанностей

я знаю, что обязанностей не больше, скажем, 10

у меня есть таблица обязанностей (код, название)

я хочу сделать таблицу сотрудников так:

код, фио, обяз1, обяз2, обяз3...обяз10

если обязанность какая-то равна NULL, то её нет, порядок не важен

Вопрос на теорию - ведь верно, что эта таблица находится в первых трёх нормальных формах?
ведь у меня обяз1, обяз2 зависят только от ключа....
вроде как все правила нормальных форм соблюденыОтвет: да, находится. Однако это нисколько не отменяет тот факт, что ваш проект неудачен, и делать так не стоит.
...
Рейтинг: 0 / 0
уровень нормализации
    #34536406
Albatross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так это значит, что мнения разошлись??
я знаю, что так делать не надо, это вопрос на теорию, просто тут спор возник

все определения я читал
...
Рейтинг: 0 / 0
уровень нормализации
    #34536477
Albatross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дело в том, что если читать определения и примеры, то получается, что, если бы я, например, все обязанности положил бы в один столбец через запятую, то это точно не первая и не вторая нормальные формы. Но здесь же по-другому...
...
Рейтинг: 0 / 0
уровень нормализации
    #34536530
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Albatrossтак это значит, что мнения разошлись??
Приведенная таблица (вернее, структура из двух таблиц) находится в третьей нормальной форме. По определению третьей нормальной формы. Заодно оно находится и в четвертой, и в пятой нормальных формах. Двух мнений по этому вопросу быть не может. Расходиться тут нечему.

Стоит так делать или нет - зависит от.
В некоторых задачах стоит делать именно так. В некоторых - нет.
...
Рейтинг: 0 / 0
уровень нормализации
    #34536549
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
три таблицы:
два справочника
сотрудники
обязанности
и таблица отношений IDСотрудника,IDОбязанности
Две формы
шапка по справочику
с подчиненной на таблице отношений
и связью по ID справочника...

а вообщето для начала надо открыть базу борей и посмотреть как....

PS с таких топиков недолго и манию величия подцепить
...
Рейтинг: 0 / 0
уровень нормализации
    #34536559
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Albatross:
при возникновении обязанности11, обязанности12, ... обязанностиN так и будете создавать под них очередной столбец?
...
Рейтинг: 0 / 0
уровень нормализации
    #34536619
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Latukа вообщето для начала надо открыть базу борей и посмотреть как....
Лёнь, вопрос был не практический ("как сделать"), а на теорию ("верно ли, что таблица находится в первых трех нормальных формах")

Манию величия от незнания теории подцепить - эт круто :)
...
Рейтинг: 0 / 0
уровень нормализации
    #34536749
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Albatross...
Вопрос на теорию - ведь верно, что эта таблица находится в первых трёх нормальных формах?
ведь у меня обяз1, обяз2 зависят только от ключа....
вроде как все правила нормальных форм соблюдены

Вопрос поставлен некорректно. Сама таблица находится в 3НФ, но она не соответсвует первоначальной постановке задачи. Судя по тому, что "название обязанности" это один атрибут информационной модели, то называть этот атрибут разными именами (обяз1, обяз2, и т.д.) некорректно. Если вернуться к исходному названию атрибута, получим следующее отношение:

(код, фио, название обязанности)

где "название обязанности" содержит список обязанностей, т.е. неатомарно, а это нарушение 1НФ. Кроме того, два и более полей обязI одной записи могут содержать одинаковые названия обязанностей. Если мы преобразуем отношение
(код, фио, обяз1, обяз2, обяз3...обяз10)
назад в таблицу обязанностей (код, название)
то получим дублирование записей, а это тоже нарушение 1НФ.
Конечно мы можем технически обеспечить неповторяемость значений в полях (обяз1, обяз2, обяз3...обяз10), но не реляционными средствами, т.е. не с помощью уникальных ключей.
...
Рейтинг: 0 / 0
уровень нормализации
    #34537229
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Albatrossтак это значит, что мнения разошлись??
Где это они разошлись? Других мнений не было.
Albatrossдело в том, что если читать определения и примеры, то получается, что, если бы я, например, все обязанности положил бы в один столбец через запятую, то это точно не первая и не вторая нормальные формы. Но здесь же по-другому...Плохо читаете. С чего бы это была не 2 НФ?
...
Рейтинг: 0 / 0
уровень нормализации
    #34537233
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mcureenab
Если позволите, пара мелких комментариев.
mcureenabЕсли мы преобразуем отношение
(код, фио, обяз1, обяз2, обяз3...обяз10) назад в таблицу обязанностей (код, название)
то получим дублирование записей, а это тоже нарушение 1НФ.
Дублирование записей никак не нарушает определение 1НФ. Другой вопрос, что таблица с дубликатами записей вообще не является отношением (то есть выпадает за рамки РМД) и с этой точки зрения вообще не находится ни в одной НФ.
mcureenabКонечно мы можем технически обеспечить неповторяемость значений в полях (обяз1, обяз2, обяз3...обяз10), но не реляционными средствами, т.е. не с помощью уникальных ключей.Ну-у, строго говоря, декларативные ОЦ -- это вполне реляционные средства. То есть в принципе можно записать такой констрейнт, который бы обеспечивал неповторяемость значений в указанных полях. Конечно он будет ОЧЕНЬ громоздким
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / уровень нормализации
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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