|
|
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
допустим у меня есть сотрудник, у которого набор обязанностей я знаю, что обязанностей не больше, скажем, 10 у меня есть таблица обязанностей (код, название) я хочу сделать таблицу сотрудников так: код, фио, обяз1, обяз2, обяз3...обяз10 если обязанность какая-то равна NULL, то её нет, порядок не важен Вопрос на теорию - ведь верно, что эта таблица находится в первых трёх нормальных формах? ведь у меня обяз1, обяз2 зависят только от ключа.... вроде как все правила нормальных форм соблюдены ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 10:30 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
Albatrossдопустим у меня есть сотрудник, у которого набор обязанностей Вопрос на теорию - ведь верно, что эта таблица находится в первых трёх нормальных формах? ведь у меня обяз1, обяз2 зависят только от ключа.... вроде как все правила нормальных форм соблюдены Очуметь. Тынц . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 10:57 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
Albatrossдопустим у меня есть сотрудник, у которого набор обязанностей я знаю, что обязанностей не больше, скажем, 10 у меня есть таблица обязанностей (код, название) я хочу сделать таблицу сотрудников так: код, фио, обяз1, обяз2, обяз3...обяз10 если обязанность какая-то равна NULL, то её нет, порядок не важен Вопрос на теорию - ведь верно, что эта таблица находится в первых трёх нормальных формах? ведь у меня обяз1, обяз2 зависят только от ключа.... вроде как все правила нормальных форм соблюденыОтвет: да, находится. Однако это нисколько не отменяет тот факт, что ваш проект неудачен, и делать так не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 16:40 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
так это значит, что мнения разошлись?? я знаю, что так делать не надо, это вопрос на теорию, просто тут спор возник все определения я читал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 16:46 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
дело в том, что если читать определения и примеры, то получается, что, если бы я, например, все обязанности положил бы в один столбец через запятую, то это точно не первая и не вторая нормальные формы. Но здесь же по-другому... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 17:01 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
Albatrossтак это значит, что мнения разошлись?? Приведенная таблица (вернее, структура из двух таблиц) находится в третьей нормальной форме. По определению третьей нормальной формы. Заодно оно находится и в четвертой, и в пятой нормальных формах. Двух мнений по этому вопросу быть не может. Расходиться тут нечему. Стоит так делать или нет - зависит от. В некоторых задачах стоит делать именно так. В некоторых - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 17:15 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
три таблицы: два справочника сотрудники обязанности и таблица отношений IDСотрудника,IDОбязанности Две формы шапка по справочику с подчиненной на таблице отношений и связью по ID справочника... а вообщето для начала надо открыть базу борей и посмотреть как.... PS с таких топиков недолго и манию величия подцепить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 17:19 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
2 Albatross: при возникновении обязанности11, обязанности12, ... обязанностиN так и будете создавать под них очередной столбец? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 17:22 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
Latukа вообщето для начала надо открыть базу борей и посмотреть как.... Лёнь, вопрос был не практический ("как сделать"), а на теорию ("верно ли, что таблица находится в первых трех нормальных формах") Манию величия от незнания теории подцепить - эт круто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 17:39 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
Albatross... Вопрос на теорию - ведь верно, что эта таблица находится в первых трёх нормальных формах? ведь у меня обяз1, обяз2 зависят только от ключа.... вроде как все правила нормальных форм соблюдены Вопрос поставлен некорректно. Сама таблица находится в 3НФ, но она не соответсвует первоначальной постановке задачи. Судя по тому, что "название обязанности" это один атрибут информационной модели, то называть этот атрибут разными именами (обяз1, обяз2, и т.д.) некорректно. Если вернуться к исходному названию атрибута, получим следующее отношение: (код, фио, название обязанности) где "название обязанности" содержит список обязанностей, т.е. неатомарно, а это нарушение 1НФ. Кроме того, два и более полей обязI одной записи могут содержать одинаковые названия обязанностей. Если мы преобразуем отношение (код, фио, обяз1, обяз2, обяз3...обяз10) назад в таблицу обязанностей (код, название) то получим дублирование записей, а это тоже нарушение 1НФ. Конечно мы можем технически обеспечить неповторяемость значений в полях (обяз1, обяз2, обяз3...обяз10), но не реляционными средствами, т.е. не с помощью уникальных ключей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2007, 18:34 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
Albatrossтак это значит, что мнения разошлись?? Где это они разошлись? Других мнений не было. Albatrossдело в том, что если читать определения и примеры, то получается, что, если бы я, например, все обязанности положил бы в один столбец через запятую, то это точно не первая и не вторая нормальные формы. Но здесь же по-другому...Плохо читаете. С чего бы это была не 2 НФ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 08:45 |
|
||
|
уровень нормализации
|
|||
|---|---|---|---|
|
#18+
2 mcureenab Если позволите, пара мелких комментариев. mcureenabЕсли мы преобразуем отношение (код, фио, обяз1, обяз2, обяз3...обяз10) назад в таблицу обязанностей (код, название) то получим дублирование записей, а это тоже нарушение 1НФ. Дублирование записей никак не нарушает определение 1НФ. Другой вопрос, что таблица с дубликатами записей вообще не является отношением (то есть выпадает за рамки РМД) и с этой точки зрения вообще не находится ни в одной НФ. mcureenabКонечно мы можем технически обеспечить неповторяемость значений в полях (обяз1, обяз2, обяз3...обяз10), но не реляционными средствами, т.е. не с помощью уникальных ключей.Ну-у, строго говоря, декларативные ОЦ -- это вполне реляционные средства. То есть в принципе можно записать такой констрейнт, который бы обеспечивал неповторяемость значений в указанных полях. Конечно он будет ОЧЕНЬ громоздким ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2007, 08:56 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34536549&tid=1544523]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
212ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 554ms |

| 0 / 0 |
