Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / 3NF / 22 сообщений из 22, страница 1 из 1
26.12.2009, 19:12
    #36388042
3NF
3NF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
wikipediaТаблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK)
Таким образом, для таблицы с первичным ключем наличие Unique constraint на not null поле нарушает 3-ю нормальную форму?
...
Рейтинг: 0 / 0
26.12.2009, 19:53
    #36388065
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
То что Вы написали это форма Бойса-Кодда.
Нарушение 3НФ:
A->B B->C, но В не определяет А
...
Рейтинг: 0 / 0
26.12.2009, 20:02
    #36388072
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
авторТаким образом, для таблицы с первичным ключем наличие Unique constraint на not null поле нарушает 3-ю нормальную форму?
нет, первичный ключ не обязан быть единственным
...
Рейтинг: 0 / 0
27.12.2009, 13:22
    #36388444
adv
adv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
muk07авторТаким образом, для таблицы с первичным ключем наличие Unique constraint на not null поле нарушает 3-ю нормальную форму?
нет, первичный ключ не обязан быть единственныммук07, а что первичных ключей может быть больше 1? :)

Или вы про потенциальные ключи?

3NF, потенциальные ключи не являются неключевыми атрибутами.
...
Рейтинг: 0 / 0
27.12.2009, 14:17
    #36388505
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
В рамках конкретного изделия (MS SQL SERVER) принято 1чн ключ считать единственным.
В рамках Теор норм форм
1чн ключ определяется:
1) определяет функционально все ост атриб отношения
2) ни один атрибут не м быть удален из 1чн ключа без нарушения св-ва 1

т.е. в MS SQL и ТНФ 1чн ключ - 2 разные понятия
...
Рейтинг: 0 / 0
27.12.2009, 15:15
    #36388580
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
muk07В рамках конкретного изделия (MS SQL SERVER) принято 1чн ключ считать единственным.
В рамках Теор норм форм
1чн ключ определяется:
1) определяет функционально все ост атриб отношения
2) ни один атрибут не м быть удален из 1чн ключа без нарушения св-ва 1

т.е. в MS SQL и ТНФ 1чн ключ - 2 разные понятиявы это сами придумали, или прочитали где?
...
Рейтинг: 0 / 0
27.12.2009, 18:38
    #36388791
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
например
1)Дж Ульман. Основы систем баз данных. Финансы и статистика 1983.
2)Мейер Теория реляционных баз данных.
(Хорошее математическое обоснование, но читать её не подарок)
...
Рейтинг: 0 / 0
27.12.2009, 20:51
    #36388872
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
muk07,
и в этих книгах написан этот бред: muk07В рамках конкретного изделия (MS SQL SERVER) принято 1чн ключ считать единственным. или всё же это вы сами изобрели?
...
Рейтинг: 0 / 0
28.12.2009, 07:18
    #36389153
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
А вы попробуйте назначить 2 разных primary key на одну таблицу.
Вы бы почитали хоть что нибудь
...
Рейтинг: 0 / 0
28.12.2009, 07:35
    #36389161
3NF
3NFwikipediaТаблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK)
Таким образом, для таблицы с первичным ключем наличие Unique constraint на not null поле нарушает 3-ю нормальную форму?

Определения нормальных форм, в которых фигурирует термин "первичный ключ", не вполне корректны, это дань истории и педагогическому упрощению. Везде в этих определениях, строго говоря, следует использовать термин "потенциальный ключ". Тогда ваш вопрос исчезает.


muk07То что Вы написали это форма Бойса-Кодда.
Это не форма Бойса-Кодда. В форме Бойса-Кодда говорится о всех (любых) атрибутах, а не только о неключевых, в этом её и отличие от 3НФ. Нормальная форма Бойса-Кодда формулируется проще всего: каждый детерминант (функциональной зависимости) является потенциальным ключом .
...
Рейтинг: 0 / 0
28.12.2009, 08:07
    #36389177
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
Начиная c конца 70х каждая коммерческая фирма вводила свою терминологию, не желая помнить родства. Труды CODASYL, которая очень много сделала для наведения порядка, уже 100 лет не упоминаются. Снова образовалась каша.
Есть термины "первичный ключ", "потенциальный ключ", "ключ - кандидат", "возможный ключ" etc.
ТНФ (а это всё же математика) попрежнему пользуется своей терминологией.
С Вашей поправкой:
"Каждая детерминанта (левая часть зависимости) является 1чн ключом"
согласен. (надо было раньше ложиться спать).
...
Рейтинг: 0 / 0
28.12.2009, 09:17
    #36389214
3NF
muk07Начиная c конца 70х каждая коммерческая фирма вводила свою терминологию, не желая помнить родства. Труды CODASYL, которая очень много сделала для наведения порядка, уже 100 лет не упоминаются. Снова образовалась каша.
Есть термины "первичный ключ", "потенциальный ключ", "ключ - кандидат", "возможный ключ" etc.
ТНФ (а это всё же математика) попрежнему пользуется своей терминологией.
С Вашей поправкой:
"Каждая детерминанта (левая часть зависимости) является 1чн ключом"
согласен. (надо было раньше ложиться спать).В обсуждаемом вопросе коммерческие фирмы, равно как и их терминология, не при чём. Обсуждаемые термины введены отнюдь не коммерческими фирмами, а в трудах теоретиков баз данных. "Потенциальный ключ", "ключ - кандидат", "возможный ключ" -- не разные термины, а разные переводы на русский одного и того же термина candidate key , да и то давным-давно утвердился канонический вариант перевода, а именно " потенциальный ключ ". Другие варианты являются экзотикой, в литературе практически не встречаются.

Так что каши никакой нет. То есть каша есть, но она скорее в головах тех, кого плохо учили в университете, или кто не читал нормальных книг по БД. Я, кстати, не уверен, что нормальной кенигой можно назвать такую, где в определениях нормальных форм используется исключительно термин "первичный ключ", вместо "потенциальный", или же отсутствуют хотя бы комментарии, в который бы разъяснялась эта ситуация. А потом от чтения таких книг и появляются недоумённые вопросы топикстартера.
...
Рейтинг: 0 / 0
28.12.2009, 10:19
    #36389271
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
Вообще то Ульман, Фейгин, Мейер для меня - авторитеты.
Для Вас видимо, нет.
...
Рейтинг: 0 / 0
28.12.2009, 11:04
    #36389344
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
muk07А вы попробуйте назначить 2 разных primary key на одну таблицу.
Вы бы почитали хоть что нибудьну ясно: не различаем первичный ключ и потенциальный, то есть не отличаем теорию от её конкретной реализации, что подтверждает ваша дискуссия с Евгением Мирошниченко aka mir.
ЗЫ Дейта читайте, Дейта.
...
Рейтинг: 0 / 0
28.12.2009, 12:35
    #36389565
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
короче - есть primary key, оно так и называется в РСУБД, а есть alternate key, это просто constraint unique. Например,
код - PK
ФИО
паспорт - уникальный столбец (unique).

p.s. alternate key = потенциальный ключ, candidate key и т.п. Т.е. то, что могло бы претендовать на роль ПК, но не на 100%.
...
Рейтинг: 0 / 0
28.12.2009, 12:46
    #36389595
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
kdvp.s. alternate key = потенциальный ключ, candidate key и т.п. Т.е. то, что могло бы претендовать на роль ПК, но не на 100%.почему это не на 100%? как раз на 100%: любой из альтернативных ключей может быть выбран в качестве primary, по крайней мере, с точки зрения теории. Дополнительные факторы, влияющие на выбор PK, к теории отношение имеют слабое, скорее, это опыт проектировщика, производительность и удобство сопровождения БД.
...
Рейтинг: 0 / 0
28.12.2009, 17:50
    #36390520
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
Ой, ребята, отличаайте ТНФ ( это раздел математики) от документации.
...
Рейтинг: 0 / 0
28.12.2009, 17:57
    #36390542
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
happy new year! много не пейте
...
Рейтинг: 0 / 0
28.12.2009, 18:16
    #36390587
Жук в муравейнике
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
Третья нормальная форма требует отсуствие транзитивных зависимостей. По сути вынос в справочник.
Википедия пишет:Таблица может находиться в 3NF, но не в BCNF, только в одном случае:
если она имеет, помимо первичного ключа, ещё по крайней мере один возможный ключ
...
Рейтинг: 0 / 0
28.12.2009, 18:33
    #36390623
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
странные вещи пишет википедия
я (ссылка на определение) полагаю, что если часть первичного ключа зависит от чего либо ещё, то нарушена форма бойса - кодда.
Happy new year
...
Рейтинг: 0 / 0
28.12.2009, 18:34
    #36390628
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
Мир с ними обоими
...
Рейтинг: 0 / 0
29.12.2009, 13:49
    #36391868
Жук в муравейнике
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
3NF
На википедии таки поправили. Ми здобули !
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / 3NF / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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