|
|
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте уважаемые корифеи. Я студент из Киева (Украина). Мне нужна ваша помощь, потому что я видимо запутался в 3-х соснах. К какой нормальной форме относится такая простенькая табличка: Сущность (Код_Сущности, Имя_сущности, Первый_атрибут_Сущности, ...., Энный_Атрибут_Сущности,..., и т.д. ) По логике вещей, это хорошее ноормализованное отношение, которое чуть ли не в 5-й нормальной форме. Первичный ключ - Код_Сущности. Многозначніх зависимотсей нет. Функциональная зависимоть всех и каждого атрибута только от первичного ключа. Сам первичный ключ ни от кого не зависит. Словом, все хорошо. Явная 5-я форма. И явная пятерка на экзамене. Но ни тут то было, блин!... А кто сказал, что имеется 100 процентная гарантия того, что: 1. Имя_Сущности не является тоже первичным ключем, потому что этот атрибут тоже может быть уникальным 2. Группа оставшихся сущностей также является конкурентом. Кто сказал, что суммарно некоторые атрибуты не могут образовывать ничуть не менее хороший ключ. И тогда табличка даже не БКНФ не тянет. Но ведь это же ситльное противоречие! Ведь никаких аномалий в ней нет и быть не может. Она ведь построена только лишь на конкретной сущности. Ведь это по сути даже и не отношение вовсе, птому что в приведенной табличке кроме как одной сущности и ее свойств ничего нет. Но тем не менее она не удовлетворяет критериям БКНФ - в ней теоретически может присутствовать куча взимозависимых ключей. И никто не даст никаких гарантий, что не возникнет такая ситуация. Так что же в ней декомпозировать? Или я не верно понимаю алгоритм анализа принадлежности к БКНФ? Что я неверно понял в этом алгоритме? ПОМОГИТЕ, плиз! Поясните мне, с какой проблемой я столкнулся?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 21:30 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_Kieva, ВОТ ВИДИТЕ Коллега, всё действительно не ТАК ПРОСТО... Дело в том что ТАБЛИЦА не может существуя сама по себе определять отношения Реляционной Базы Данных. Нужна база - а значит более чем ОДНА таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 21:45 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_Kieva Ведь это по сути даже и не отношение вовсе, птому что в приведенной табличке кроме как одной сущности и ее свойств ничего нет. Любая фигня в виде (а,б) есть отношение. Иногда "а" может жить без "б" и наоборот, а иногда нет. Кто от кого зависит и как, токо один ты знаешь, никакая теория ничем не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 22:46 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_KievaК какой нормальной форме относится такая простенькая табличка: Сущность (Код_Сущности, Имя_сущности, Первый_атрибут_Сущности, ...., Энный_Атрибут_Сущности,..., и т.д. ) По логике вещей, это хорошее ноормализованное отношение, которое чуть ли не в 5-й нормальной форме. Первичный ключ - Код_Сущности. Многозначніх зависимотсей нет. Функциональная зависимоть всех и каждого атрибута только от первичного ключа. Сам первичный ключ ни от кого не зависит. Словом, все хорошо. Явная 5-я форма.Логика, это хорошо, но с чего Вы решили, что в примере имеется "хорошее ноормализованное отношение", да еще и в 5НФ, мне лично непонятно. Есть там зависимости, или их там нет, определяется не структурой таблицы, а данными, в первую очередь, т.е, зафиксированными в таблице фактами из предметной области. Если Вы совсем не знаете предметной области, то можете просто не заметить этих зависимостей, или, что нисколько не лучше, обнаружить их там, где их нет. Ivan_ iz_KievaА кто сказал, что имеется 100 процентная гарантия того, что: 1. Имя_Сущности не является тоже первичным ключем, потому что этот атрибут тоже может быть уникальным 2. Группа оставшихся сущностей также является конкурентом. Кто сказал, что суммарно некоторые атрибуты не могут образовывать ничуть не менее хороший ключ. И тогда табличка даже не БКНФ не тянет.Наличие нескольких потенциальных ключей в таблице формально не считается нарушением нормальных форм. Просто выбираете один из них основным, хотя тут и есть один момент. БКНФ, если правильно помню, говорит о том, что если ключей несколько, то они должны иметь общие атрибуты и дальнейшее разделение таблицы на составляющие не имеет смысла. А вот если пересечения нет, то скорее всего данную таблицу можно представить в виде проекции нескольких других. Либо один из ключей является избыточным, что часто бывает при добавлении в сущности суррогатных ключей. Это часто происходит в ситации, когда нет полной уверенности в уникальности так называемого "естественного" ключа. Либо, как вариант, при потенциальной изменчивости "естественного" ключа. Это не то, чтобы неправильно с точки зрения теории, но вызывает некоторые сложности при реализации и "ведении" такой БД. Поэтому гораздо проще завести гарантированно уникальный и неизменный суррогатный ключ, дабы избежать эквилибристики при обнаружении, что "естественный" ключ вовсе даже не ключ. Ivan_ iz_KievaНо ведь это же ситльное противоречие! Ведь никаких аномалий в ней нет и быть не может. Она ведь построена только лишь на конкретной сущности. Ведь это по сути даже и не отношение вовсе, птому что в приведенной табличке кроме как одной сущности и ее свойств ничего нет. Но тем не менее она не удовлетворяет критериям БКНФ - в ней теоретически может присутствовать куча взимозависимых ключей. И никто не даст никаких гарантий, что не возникнет такая ситуация. Так что же в ней декомпозировать? Или я не верно понимаю алгоритм анализа принадлежности к БКНФ? Что я неверно понял в этом алгоритме? ПОМОГИТЕ, плиз! Поясните мне, с какой проблемой я столкнулся?..Подытожим. Для понимания процесса нормализации нельзя опираться только на структуру таблицы. Следует идти от данных и/или знания предметной области. Так как мы строим модель, то, в общем случае, может оказатся, что наше знание и/или понимания предметной области ошибочно, и с этого момента в таблица вполне может "обнаружится" нарушение какой-либо из нормальных форм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 22:48 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_KievaК какой нормальной форме относится такая простенькая табличка: Сущность (Код_Сущности, Имя_сущности, Первый_атрибут_Сущности, ...., Энный_Атрибут_Сущности,..., и т.д. ) ... Первичный ключ - Код_Сущности. Многозначніх зависимостей нет. Функциональная зависимоть всех и каждого атрибута только от первичного ключа. Сам первичный ключ ни от кого не зависит. ... А кто сказал, что имеется 100 процентная гарантия того, что: 1. Имя_Сущности не является тоже первичным ключем, потому что этот атрибут тоже может быть уникальным 2. Группа оставшихся сущностей также является конкурентом. Кто сказал, что суммарно некоторые атрибуты не могут образовывать ничуть не менее хороший ключ. И тогда табличка даже не БКНФ не тянет. Именно по этим двум причинам отношение не может находится в БКНФ и, на мой взгляд, находится в 3НФ если начальные предпосылки верны. Mr Marmelad... Дело в том что ТАБЛИЦА не может существуя сама по себе определять отношения Реляционной Базы Данных. Нужна база - а значит более чем ОДНА таблица. Почему? Очень даже может. В частности, эта самая таблица, если исходные предпосылки на счет многозначных и функциональных зависимостей не верны, будет находится в 1НФ или 2НФ и будет подлежать декомпозиции... В результате которой и появится более чем одна таблица... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 22:52 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
это... Mr MarmeladДело в том что ТАБЛИЦА не может существуя сама по себе определять отношения Реляционной Базы Данных. Нужна база - а значит более чем ОДНА таблица. + это Сахават Юсифов Любая фигня в виде (а,б) есть отношение. Иногда "а" может жить без "б" и наоборот, а иногда нет. Кто от кого зависит и как, токо один ты знаешь, никакая теория ничем не поможет. старт для вопросов. предметная область здесь конечно же никакой роли не играет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 23:05 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
nekto_spесли исходные предпосылки на счет многозначных и функциональных зависимостей не верны, будет находится в 1НФ или 2НФ и будет подлежать декомпозиции... В результате которой и появится более чем одна таблица... :) а по-русски это как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 23:06 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
iscrafmnekto_spесли исходные предпосылки на счет многозначных и функциональных зависимостей не верны, будет находится в 1НФ или 2НФ и будет подлежать декомпозиции... В результате которой и появится более чем одна таблица... :) а по-русски это как? Код_сущности Первый_атрибут_сущности - Киев. Второй_атрибут_сущности - ул. Имени Д.Дейта. Второй_атрибут_сущности функционально определяет Первый_атрибут_сущности. У Дейта, кстати, подробно расписана формальная процедура декомпозиции... Только... я ее не помню :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 23:24 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
nekto_spКод_сущности Первый_атрибут_сущности - Киев. Второй_атрибут_сущности - ул. Имени Д.Дейта. Второй_атрибут_сущности функционально определяет Первый_атрибут_сущности. Вы наверное "..С легким паром.." не смотрели :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 23:37 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Теперь я совершенно запутался. 1. Я точно помню, что при анализе принадлежности таблицы к какой то форме рассматривается только сама эта таблица. Никакие иные таблицы общей БД не рассматриваются - онит никак на функ-зависимости этой таблицы повлиять не могут. Поэтому тут мой вопрос совершенно корректный. 2. Я ведь очень чеитко сформулировал доп. условие - эта табличка касается только конкретной сущности. Почему то на это обстоятельство никто не обращает никакого внимания. Но ведь именно это меня и мучает! Понятно же, что никакой декомпозиции такое отношение подвергать нельзя неи в коем случае ни при каких ФЗ! Весь смысл пропадет, если начать разрезать её на проекции! 3. Многозначных зависимостей там вообще появится не может. Атрибуты одной конкретной сущности, сколько бы их там ни было и какими бы экзотичесикими они ни были, не имеют права быть неатомарными. Поэтому МЗ - это вообще мимо. А значит, претензия на 5-ю форму вполне обоснована, если Код_Сущности - единственный ключ. 4. Пересечение или непересечение еатрибутов в общем случае ничего не дает. Ведь достаточно уже того факта, что хотя бы 2 различных ключа имеется - Код_Сущности и Имя_Сущности - все, таблица находится не выше 3-й формы. Хотя при этом никакими усилиями ее перевести в 5-ю форму НЕВОЗМОЖНО!!! Никакая декомпозиция не работает... 5. И конкретный пример, который каждый может и сам привести: 1. Иванов И.И. 1998 г.р. ... 1000 (благосотояние) 2. Сидоров И.И. 1999 г.р. ... 5000 3. Иванов С.С. 1988 г.р. ... 5220 4. Петров С.И. 1985 г.р. .... 3666 .... .... 111000 Петров С.А. 1986 (5555) ... ... Ну и чё? Очень хорошая табличка. Никаких аномалий нет. Никакой декомпозиции ее подвергать нельзя. Да и не нужно. Но почему же я не имею права относить ее к 5-ё форме, а не то что к БКНФ? Во прикол, а? Объясните пожалуйста, в чем тут проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 23:43 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_Kievaникакими усилиями ее перевести в 5-ю форму НЕВОЗМОЖНО!!! если это цель, то предложите окружение (как уже отмечалось). Если просто так, то нафиг вам сдалась та 5-я нормальная форма? Тогда уж на домены переключайтесь. Иван, опубликуйте окружение, вам разложат по "нормальному" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 00:06 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_Kieva пишет: > ваша помощь, потому что я видимо запутался в 3-х соснах. К какой > нормальной форме относится такая простенькая табличка: > > Сущность (Код_Сущности, Имя_сущности, Первый_атрибут_Сущности, ...., > Энный_Атрибут_Сущности,..., и т.д. ) > Наверное вас должны были учить, что теория нормализации строится на понятии функциональной зависимости. Какие тут есть функциональные зависимости - знаете только вы, а мы - нет. Так что мы ровным счётом ничего про "нормализованность" сказать не можем. > По логике вещей, это хорошее ноормализованное отношение, которое чуть ли > не в 5-й нормальной форме. Первичный ключ - Код_Сущности. Многозначніх > зависимотсей нет. Функциональная зависимоть всех и каждого атрибута > только от первичного ключа. Сам первичный ключ ни от кого не зависит. Если это всё правда, то да, всё в порядке. > 1. Имя_Сущности не является тоже первичным ключем, потому что этот > атрибут тоже может быть уникальным И на здоровье. Ключей может быть несколько, первичный - только один. Оно на то и первичным называется. Наличие нескольких ключей (уникальных индексов) не влияет на степень нормализованности отношения. > 2. Группа оставшихся сущностей также является конкурентом. Кто сказал, каких оставшихся сущностей ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 00:21 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_Kieva пишет: > 2. Я ведь очень чеитко сформулировал доп. условие - эта табличка > касается только конкретной сущности. Почему то на это обстоятельство > никто не обращает никакого внимания. Но ведь именно это меня и мучает! > Понятно же, что никакой декомпозиции такое отношение подвергать нельзя > неи в коем случае ни при каких ФЗ! Весь смысл пропадет, если начать > разрезать её на проекции! Да нет, декомпозировать её можно, но это не приведёт к устранению аномалий. Т.е. бессмысленно. > 3. Многозначных зависимостей там вообще появится не может. Атрибуты > одной конкретной сущности, сколько бы их там ни было и какими бы > экзотичесикими они ни были, не имеют права быть неатомарными. Поэтому МЗ > - это вообще мимо. А значит, претензия на 5-ю форму вполне обоснована, > если Код_Сущности - единственный ключ. Да даже если не единственный. > 4. Пересечение или непересечение еатрибутов в общем случае ничего не > дает. Ведь достаточно уже того факта, что хотя бы 2 различных ключа > имеется - Код_Сущности и Имя_Сущности - все, таблица находится не выше > 3-й формы. Хотя при этом никакими усилиями ее перевести в 5-ю форму > НЕВОЗМОЖНО!!! Никакая декомпозиция не работает... Это, как мне кажется, ложное утверждение. > 5. И конкретный пример, который каждый может и сам привести: > > > 1. Иванов И.И. 1998 г.р. ... 1000 (благосотояние) > 2. Сидоров И.И. 1999 г.р. ... 5000 > 3. Иванов С.С. 1988 г.р. ... 5220 > 4. Петров С.И. 1985 г.р. .... 3666 > .... > .... > 111000 Петров С.А. 1986 (5555) > Ну и чё? Очень хорошая табличка. Никаких аномалий нет. Никакой > декомпозиции ее подвергать нельзя. Да и не нужно. Но почему же я не имею > права относить ее к 5-ё форме, а не то что к БКНФ? Во прикол, а? А кто вам сказал, что все таблицы должны именно в 5-ой форме быть ? Дело в том, что само доказательство (теоретическое) того, что оно в 5-ой форме, достаточно сложно. и, на сколько я помню, чтобы таблица было в НФБК но не в 5НФ, у неё долен быть составной ключ как минимум (хотя может быть уже забыл). В общем, на практике сложности применения теории прежде всего в определении функциональной зависимости. Вы её никогда не знаете точно, на 100%, вы можете только предполагать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 00:39 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_Kieva1. Я точно помню, что при анализе принадлежности таблицы к какой то форме рассматривается только сама эта таблица. Никакие иные таблицы общей БД не рассматриваются - онит никак на функ-зависимости этой таблицы повлиять не могут.Верно.Ivan_ iz_Kieva2. Я ведь очень чеитко сформулировал доп. условие - эта табличка касается только конкретной сущности. Почему то на это обстоятельство никто не обращает никакого внимания. Но ведь именно это меня и мучает! Понятно же, что никакой декомпозиции такое отношение подвергать нельзя неи в коем случае ни при каких ФЗ! Весь смысл пропадет, если начать разрезать её на проекции!Либо Вы уверены в этом, и тогда прочь сомненья, таблица минимум в 5НФ. Либо не уверены, тогда ищите способ убедиться в этом. Хотелось бы ещё раз подчеркнуть. Ни структура таблицы, ни данные в ней, сами по себе не являются гарантией, что вы знаете всё о функциональных или многозначных зависимостях в таблице. Любые совпадения могут быть случайны. "Случайный" набор значений в строках таблицы только после привязки к предметной области будет иметь ту или иную степень нормализации. Грубый пример: А Б В0 1 GT1 0 E Является ли эта таблица нормализованной ? В какой нормальной форме ? Так вот, пока не придадите смысл этим этим А, Б, В, соотнеся их с предметной областью, ничего внятного о её нормализации сказать не сможете. Разве только невнятные предположения. И даже соотнеся, не всегда можно быть уверенным в наличии или отсутствии тех или иных зависимостей. Ivan_ iz_Kieva3. Многозначных зависимостей там вообще появится не может. Атрибуты одной конкретной сущности, сколько бы их там ни было и какими бы экзотичесикими они ни были, не имеют права быть неатомарными. Поэтому МЗ - это вообще мимо. А значит, претензия на 5-ю форму вполне обоснована, если Код_Сущности - единственный ключ.Что-то у меня возникло ощущение, что говоря о "многозначных зависимостях", вы говорите не о том, что подразумевается в классической терминологии - multivalued dependency , так как никакого отношения к атомарности она, вообще говоря, не имеет.Ivan_ iz_Kieva4. Пересечение или непересечение еатрибутов в общем случае ничего не дает. Ведь достаточно уже того факта, что хотя бы 2 различных ключа имеется - Код_Сущности и Имя_Сущности - все, таблица находится не выше 3-й формы. Хотя при этом никакими усилиями ее перевести в 5-ю форму НЕВОЗМОЖНО!!! Никакая декомпозиция не работает...5НФ формально подразумевает, что нельзя разделить таблицу на любые, осмысленные в рамках модели, составные части. Т.е., иначе можно сказать, что в такой таблице хранится единичный атомарный неразбиваемый факт. Ivan_ iz_Kieva5. И конкретный пример, который каждый может и сам привести: 1. Иванов И.И. 1998 г.р. ... 1000 (благосотояние) 2. Сидоров И.И. 1999 г.р. ... 5000 3. Иванов С.С. 1988 г.р. ... 5220 4. Петров С.И. 1985 г.р. .... 3666 .... .... 111000 Петров С.А. 1986 (5555) ... ... Ну и чё? Очень хорошая табличка. Никаких аномалий нет. Никакой декомпозиции ее подвергать нельзя. Да и не нужно. Но почему же я не имею права относить ее к 5-ё форме, а не то что к БКНФ? Во прикол, а? Объясните пожалуйста, в чем тут проблема?В этом примере очень хорошо проиллюстрированно сразу несколько ошибок. Одна из них, что суррогатный ключ не решает никаких проблем, если он просто и тупо добавлен для формального соотвествия 2НФ, пока не будет выделен "естественный". Наличие формального ключа - кода(1,...,111000,...) не гарантирует, что в таблице не окажется под кодом, например - "7", еще один "Иванов И.И. 1998 г.р.". Если вы захотите обновить его благосостояние, то как вы отличите его от "Иванов И.И. 1998 г.р." под кодом "1". По коду ? Но откуда вы знаете, какому из этих Ивановых принадлежит код "1", а какому "7". Вы захотели удалить "Иванов И.И. 1998 г.р.". Которого из них ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 01:41 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_KievaК какой нормальной форме относится такая простенькая табличка: Сущность (Код_Сущности, Имя_сущности, Первый_атрибут_Сущности, ...., Энный_Атрибут_Сущности,..., и т.д. ) По логике вещей, это хорошее ноормализованное отношение, которое чуть ли не в 5-й нормальной форме. Откуда такая логика? Я вот из вашего описания сущности не могу сказать, что отношение состоит хотя бы 1-ой нормальной форме. Откройте лекции, почитайте про функциональные зависимости, приведите их тут и всё станет ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 10:21 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
1.Если рассуждать чисто теоретически, то быстрее крыша съедет, чем будет получен верный ответ. 2.Если всего одна мнимая таблица, то о формах рассуждать затруднительно. 3.Прежде всего, формы придуманы для нескольких таблиц. В вашем случае имеет смысл прочитать еще раз пункт номер 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 12:12 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
МимоПроходилГенаКрокодил3.Прежде всего, формы придуманы для нескольких таблиц. В вашем случае имеет смысл прочитать еще раз пункт номер 1. Для одного отношения. Мы говорим, что некое отношение находится в некой НФ. Мы не говорим что два и более отношений вместе, или целая БД, находится в некой НФ. Если мы хотим устранить из отношения некую аномалию изменения, мы, путём вертикальной декомпозиции получаем несколько отношений и каждое из них по отдельности проверяем на соответствие некоторой НФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 20:49 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_Kieva А кто сказал, что имеется 100 процентная гарантия... Тогда не выдавай желаемое за действительное. Чтобы утверждать, что отношение находится в некоторой НФ нужно знать ряд ограничений, которым в общем случае удовлетворяют даные в этом отношении. Проще всего начать с доказательства того что отношение находится в 1НФ, затем перейти ко 2НФ и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 20:57 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
iscrafmnekto_spКод_сущности Первый_атрибут_сущности - Киев. Второй_атрибут_сущности - ул. Имени Д.Дейта. Второй_атрибут_сущности функционально определяет Первый_атрибут_сущности. Вы наверное "..С легким паром.." не смотрели :) Вернулся из Питера. Признаю, что пример неудачен :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 22:15 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_KievaТеперь я совершенно запутался. 1. Я точно помню, что при анализе принадлежности таблицы к какой то форме рассматривается только сама эта таблица. Никакие иные таблицы общей БД не рассматриваются - онит никак на функ-зависимости этой таблицы повлиять не могут. Поэтому тут мой вопрос совершенно корректный. Вы абсолютно правы. Ivan_ iz_Kieva... Атрибуты одной конкретной сущности, сколько бы их там ни было и какими бы экзотичесикими они ни были, не имеют права быть неатомарными. Следовательно 1НФ у нас уже есть по условию задачи. Ivan_ iz_Kieva... 2. Я ведь очень чеитко сформулировал доп. условие - эта табличка касается только конкретной сущности. Почему то на это обстоятельство никто не обращает никакого внимания. Но ведь именно это меня и мучает! Понятно же, что никакой декомпозиции такое отношение подвергать нельзя неи в коем случае ни при каких ФЗ! Весь смысл пропадет, если начать разрезать её на проекции! 3. Многозначных зависимостей там вообще появится не может. Атрибуты одной конкретной сущности, сколько бы их там ни было и какими бы экзотичесикими они ни были, не имеют права быть неатомарными. Поэтому МЗ - это вообще мимо. А значит, претензия на 5-ю форму вполне обоснована, если Код_Сущности - единственный ключ. 4. Пересечение или непересечение еатрибутов в общем случае ничего не дает. Ведь достаточно уже того факта, что хотя бы 2 различных ключа имеется - Код_Сущности и Имя_Сущности - все, таблица находится не выше 3-й формы. Хотя при этом никакими усилиями ее перевести в 5-ю форму НЕВОЗМОЖНО!!! Никакая декомпозиция не работает... 5. И конкретный пример, который каждый может и сам привести: 1. Иванов И.И. 1998 г.р. ... 1000 (благосотояние) 2. Сидоров И.И. 1999 г.р. ... 5000 3. Иванов С.С. 1988 г.р. ... 5220 4. Петров С.И. 1985 г.р. .... 3666 .... .... 111000 Петров С.А. 1986 (5555) ... ... Ну и чё? Очень хорошая табличка. Никаких аномалий нет. Никакой декомпозиции ее подвергать нельзя. Да и не нужно. Но почему же я не имею права относить ее к 5-ё форме, а не то что к БКНФ? Во прикол, а? А вот с примером промашка вышла. С моей точки зрения он во 2НФ находится. Если предположить, возможное появление еще одного "Иванов И.И. 1998 г.р.", то Название_сущности перестает быть кандидатом в первичные ключи и вроде бы никаких припятствий для БКНФ у нас не остается... Однако это отношение декомпозиции вполне подлежит - на два - Физики (КодФизика, ФИО, ГодРождения) и БлагосостоянияФизиков (Код, КодФизика, Благосостояние). Другой вопрос, что для того, чтобы корректно определить, что от чего тут функционально зависит и перевести это на русский, нужно перечитать Дейта :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 22:38 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Уважаемые господа! Огромное всем спасибо за ответы! Во многом вы мне помогли. Особое спасибо собеседнику MasterZiv за реплику "ложное утверждение". Я посмотрел внимателоьно учебник и обнаружил, что действительно, в БКНФ вполне могут "уживаться" несколько ключей отношения. Важно лишь, чтобы в ней эти ключи не зависели больше ни от одного "постороннего" детерминанта, то есть атрибута, который не входит в эти ключи. Просто именно мысль о том, что в отношении может быть 2 и даже более ключей была высказана в совершенно незнакомом мне учебнике М.П. Малыхиной (С.-Петербрг, 2006). А тот учебник, которым я пользовался - А.Д. Хомоненко - не четко формулировал этот критерий. Кажись, все. С этим вопросом я разобрался. И могу смело заявить теперь, что если в описанной мною тебличке кроме указанных друг от друга независимых ключей нет больше неключевых детерминантов, то эта табличка находится в 5-й форме. А любой иной неключевой детерминант в списке свойств любой сущности никак не может появиться, как прыщ на сковородке. Детерминант, который в свою очередь "связывает" независимо от уже существующих ключей какой то иной атрибут. Это противоречит доп. условию, что табличка соответствует только лишь сущности и группе ее свойств. Поэтому с "сущностной" табличкой все ясно. И в общем случае можно заключить - нужно очень постараться, чтобы испортить это замечательно линейное отношение и впендюрить в него транзитивные зависимости или конкурирующие с ключами детерминанты. И тем самым перевести ее из 5-й формы во 2-ю или даже в 1-ю. Но у меня не все. Есть еще одна проблемка с теоретичеким анализом таких "простеньких" табличек. Я опять напоролся на противоречие. Извините... Просто вынужден немного глубже копать, потому что наш препод несколько жестковат. И замучивает дополнительными вопросами. Подскажите, как быть? Защита курсовика горит! Смотрите, в чем проблемка. Имеется странное противоречие с теорией Фейджина. К какой форме отнести такую табличку: R(X,Y,Z,A), где X->>Y\Z и А - обычный рядовой атрибут, который функционально НЕ ЗАВИСИТ ни от обособленных соседних атрибутов, ни от их суммы. Первичным ключом отношения есть именно сумма X+Y+X По логике Фейджина в таком ключе сидят указанные многозначные зависимости. И отношение находится в фиговой ситуации. И должно быть декомпозировано. Но этого сделать невозможно, потому что ТОЛЬКО суммарный ключ "держит" атрибут А. Приведу конкретный пример: 1 1 2 5 1 1 3 8 1 1 4 9 1 2 2 5 1 2 3 7 1 2 4 11 1 3 2 8 1 3 3 5 1 3 4 8 2 1 2 125 2 1 3 138 2 1 4 749 2 2 2 15 2 2 3 57 2 2 4 511 2 3 2 18 2 3 3 52 2 3 4 83 3 1 2 85 3 1 3 86 3 1 4 92 3 2 2 52 3 2 3 73 3 2 4 115 3 3 2 81 3 3 3 50 3 3 4 87 Ну и как такое декомпозировать? Судя по всему, такое Фейджин в своих теоремах не имел ввиду. Но опять же возникает вопрос - к какой форме относится эта табличка? По идее, она лишена аномалий обновления и избыточности. Но по формальным признакам (повторяемость атрибутов в составе ключа) ее нельзя отнести к 4-й форме. А аномалий нет. К какой же форме относят такое? И может в каком то учебнике это нечто описано? Извините, что напрягаю нестандартными и не учебниковыми вопросами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 22:40 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Да, и уважаемый СhA из Москвы! Я ведь вро де бы сообщал, что по условиям задачки два Ивановых И.С. появиться не могут. И пример я привел не для того, чтобы исследовать, могут ли быть ФИО ключами или нет, а просто для наглядности. Просто утверждается, что ФИО - ключ. Правда, в одном из предложений я по ошибке сказал "не ключ" - это ошибка, извините... Но если быть особым формалистом, то этот ключ всегда можно дополнить еще парочкой атрибутов, которые дадут гарантии суммарной уникальности. На мой взгляд, ваши выводы ложны. Если я правильно помню, вроде бы не столько ключи определяют принадлежность формы отношения к нижним номерам, а функзависимости возле ключей. То есть, есть ли конкуренты-детерминанты и есть ли транзитивные зависимости и т.п. аномалии. И уж никак не соглашусь, что приведенное отношение нужно декомпозировать. Тут уж Вы совершенно не правы. Его мало того что не нужно, а просто ни в коем случае нельзя разрезать. Ибо там по условию задачи нет функ-зависимостей, а значит и не получатся проекции - будут потери. Извините пожалуйста... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 13:23 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_KievaНо если быть особым формалистом, то этот ключ всегда можно дополнить еще парочкой атрибутов, которые дадут гарантии суммарной уникальности Два брата-близнеца, названных одинаково, с легкостью развеют Ваши заблуждения, или придется Вам вводить фактически суррогат №пп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 13:57 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Ivan_ iz_KievaИ уж никак не соглашусь, что приведенное отношение нужно декомпозировать. Тут уж Вы совершенно не правы. Его мало того что не нужно, а просто ни в коем случае нельзя разрезать. Ибо там по условию задачи нет функ-зависимостей, а значит и не получатся проекции - будут потери. Вы это про изначальное абстрактное отношение говорите? Ivan_ iz_Kieva Сущность (Код_Сущности, Имя_сущности, Первый_атрибут_Сущности, ...., Энный_Атрибут_Сущности,..., и т.д. ) Или про конкретный пример, который привели?: Ivan_ iz_Kieva 1. Иванов И.И. 1998 г.р. ... 1000 (благосотояние) 2. Сидоров И.И. 1999 г.р. ... 5000 3. Иванов С.С. 1988 г.р. ... 5220 4. Петров С.И. 1985 г.р. .... 3666 .... .... 111000 Петров С.А. 1986 (5555) В примере, функциональные зависимости, по-моему есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 15:11 |
|
||
|
К какой нормальной форме относить такие таблицы?
|
|||
|---|---|---|---|
|
#18+
Так ведь и абстрактное, и пример имеет одну и ту же структуру: - Код_Сущности - он же сурогатный атрибут - Имя_сущности - по условию уникальный строковый атрибут. Но если в реальной жизни его не хватает, то, как я помню, можно дабвить столбец типа "строковое описание папилярных линий". И вся уникальность даже у близнецов. Проблема ведь не в количестве составнляющих уникального ключа, а в функ-зависимотсях частей ключа и совершенно посторонних детерминантах - Море простых непервичных атрибутов (не ключей и не конкурентов-детеминантов) И насколько я понимаю, приведенное отношение разрезать ни по какому атрибуту нельзя - оно никак не разрежится ни по сурогатному ключу Код_Сущн, ни по составному ключу "Уникальное_Имя". Но стоп! Если вы под проекцией понимаете совершенно искусственное разделение просто на 2 отношения типа: Р1 (Код_Сущности, Уникальное_Имя_Сущности) Р2 (Код_Сущности, Остальные атрибуты), то ведь это не декомпозициия, а лишь ее имитация. Ничего ведь не изменилось. И эти 2 отношения совершенно одинаковоые и имеют совершенено одинаковое количество строк. Но при такой "декомпозиции" порождают дополнительную проблему отслеживания их "жизни" не в одной таблице, а уже в двух. Хоте, конечно же, это дело вкуса. Можно вообще создать надцать одинаковоых табличек с парочками столбцов: R1 (Код_Сущноси, 1-й атрибут) R2 (Код_Сущноси, 2-й атрибут) R3 (Код_Сущноси, 3-й атрибут) R4 (Код_Сущноси, 4-й атрибут) ..... Rn(Код_Сущноси, N-й атрибут) Но "такое" выглдядит довольно сЭтЭранно... Как Вы считаете? А еще. Почему то никто не хочет обсуждать проблему странной ситуации с несоответствием теореме Фейджина приведенной мною таблички. Отзовитесь, Корифей! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 15:53 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35821096&tid=1543427]: |
0ms |
get settings: |
9ms |
get forum list: |
24ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 554ms |

| 0 / 0 |
