Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / уровень нормализации / 13 сообщений из 13, страница 1 из 1
18.05.2007, 10:30
    #34534691
Albatross
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уровень нормализации
допустим у меня есть сотрудник, у которого набор обязанностей

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

где "название обязанности" содержит список обязанностей, т.е. неатомарно, а это нарушение 1НФ. Кроме того, два и более полей обязI одной записи могут содержать одинаковые названия обязанностей. Если мы преобразуем отношение
(код, фио, обяз1, обяз2, обяз3...обяз10)
назад в таблицу обязанностей (код, название)
то получим дублирование записей, а это тоже нарушение 1НФ.
Конечно мы можем технически обеспечить неповторяемость значений в полях (обяз1, обяз2, обяз3...обяз10), но не реляционными средствами, т.е. не с помощью уникальных ключей.
...
Рейтинг: 0 / 0
19.05.2007, 08:45
    #34537229
mir
mir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
уровень нормализации
Albatrossтак это значит, что мнения разошлись??
Где это они разошлись? Других мнений не было.
Albatrossдело в том, что если читать определения и примеры, то получается, что, если бы я, например, все обязанности положил бы в один столбец через запятую, то это точно не первая и не вторая нормальные формы. Но здесь же по-другому...Плохо читаете. С чего бы это была не 2 НФ?
...
Рейтинг: 0 / 0
19.05.2007, 08:56
    #34537233
mir
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]