powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос нормализации таблиц
18 сообщений из 18, страница 1 из 1
Вопрос нормализации таблиц
    #32500232
kedov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, приведите пример таблицы с составным первичным ключом не находящейся во второй нормальной форме. Мой маленький мозг не может справиться с этой задачей.Спасибо.
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32500708
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица "Сотрудник" (навскидку):
-- Год рождения (PK)
-- ФИО (PK)
-- Место работы
-- Адрес


------------
Best regards, Jimmy
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32500891
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Так ли?

Если даны два атрибута X и Y некоторого отношения, то говорят, что Y функционально зависит от X, если в любой момент времени каждому значению X соответствует ровно одно значение Y.

неключевой атрибут функционально полно зависит от составного ключа если он функционально зависит от всего ключа в целом, но не находится в функциональной зависимости от какого-либо из входящих в него атрибутов.

Отношение находится во 2НФ, если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от ключа.

Разве в даном случае место работы или адрес определяются одним из полей ключа?
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32500945
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то читал) чтобы привести таблицу к 2НФ достаточно чтобы у нее был уникальный ключ. (1НФ - подразумевает лишь атомарность значений)
=> если есть PK (а он как известно всегда уникальный) таблица автоматически находится в 2НФ
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32501005
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
2gardenman
Нет, нужен простой первичный ключ, но это не решает поблем с более высокими нормальными формами.

Пример - упрощенный словарь БД (когда-то я задавал здесь вопрос на эту тему).
Таблицы словаря:
Таблицы (#TAB_NAME)
Поля (#TAB_NAME, #COL_NAME, ATT_NAME)
Индексы (#TAB_NAME, #IDX_NAME)
Поля индексов(#TAB_NAME, #IDX_NAME, #COL_NAME, ATT_NAME)

ATT_NAME - имя типа, точнее домена.

Так вот в таблице "Поля индексов" ATT_NAME определяется (зависит) только от
TAB_NAME, COL_NAME, но не от IDX_NAME. Т.е. либо ему нечего делать в этой таблице, либо он должен быть частью ключа таблиц "Поля" и "Поля индексов".

P.S. Второй вариант имеет смысл когда для хранения информации об индексах и связях используются одни и те же таблицы и есть желание запретить связи межды полями, относящимися к разным доменам.
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32501057
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, приведите пример таблицы с составным первичным ключом не находящейся во второй нормальной форме
Например таблица с избыточным первичным ключом
К обычному несоставному ключу приделываем например еще и счетчик.
Имеем как функциональную зависимость от всего составного первичного ключа, так и от его аттрибутов.

2 *
Так вот в таблице "Поля индексов" ATT_NAME определяется (зависит) только от TAB_NAME, COL_NAME, но не от IDX_NAME.
Неправильно. А может и правильно. В зависимости от того, что ты понимаешь под ATT_Name
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32501090
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 *
неключевой атрибут функционально полно зависит от составного ключа если он функционально зависит от всего ключа в целом , но не находится в функциональной зависимости от какого-либо из входящих в него атрибутов.

Разве в даном случае место работы или адрес определяются одним из полей ключа ?

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

Кроме того, вопрос автора был:
пример таблицы с составным первичным ключом не находящейся во второй нормальной форме

Таблица, которую я привел - 3НФ c составным ПК.
Или нужно было привести таблицу в 1НФ?


------------
Best regards, Jimmy
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32501131
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 *
Блин, невнимательно читаю. Позор на мою седую голову :)
Имя типа (домена) действительно не зависит от IDX_Name
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32501141
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Jimmy
Таблица, которую я привел - 3НФ c составным ПК.
Если таблица в 3НФ, то она автоматом и во 2НФ. А вопрос был про таблицу, не находящуюся во 2НФ
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32501299
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Лох Позорный
Если таблица в 3НФ, то она автоматом и во 2НФ

Упустил момент. Позор на мою седую голову :0))

------------
Best regards, Jimmy
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32501490
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
2 Jimmy

Насколько я понимаю, в данном контексте определяется=однозначно зависит
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32501744
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторГоспода, приведите пример таблицы с составным первичным ключом не находящейся во второй нормальной форме
Например таблица с избыточным первичным ключом
К обычному несоставному ключу приделываем например еще и счетчик.
Имеем как функциональную зависимость от всего составного первичного ключа, так и от его аттрибутов.
Не попрет. Первичный ключ (как и потенциальный ключ вообще) не может быть избыточным по определению, т.к. (кратко) потенциальный ключ это подмножество атрибутов, обладающее свойствами (1) уникальности и (2) неизбыточности (минимальности)
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32501750
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kedovГоспода, приведите пример таблицы с составным первичным ключом не находящейся во второй нормальной форме
Попробуем.
Таблица "Поставки":
-ИД_поставщика (PK)
-ИД_товара (PK)
-Адрес поставщика
Адрес поставщика зависит только от части PK - от ИД_поставщика
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32501891
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 *

Не катит мой вариант :0(


------------
Best regards, Jimmy
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32508340
Фотография Quark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вот из того же Sybexа возьмите, если нужно не во второй, то вот пожалуйста никакая форма)

table(АвторИД, ЗаголовокКниги1, ЗаголовокКниги2, ЗаголовокКниги3)
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32508344
Фотография Quark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ежели составной первичный ключ то
table( АвторИмя,АвторФамилия , ЗаголовокКниги1, ЗаголовокКниги2, ЗаголовокКниги3)
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32508393
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QuarkДа вот из того же Sybexа возьмите, если нужно не во второй, то вот пожалуйста никакая форма)

table(АвторИД, ЗаголовокКниги1, ЗаголовокКниги2, ЗаголовокКниги3)

Что значит никакая форма ? В данном примере может не быть абсолютно никаких аномалий. Я могу ее трактовать как находящуюся хоть в 5НФ.

Quarkа ежели составной первичный ключ то
table(АвторИмя,АвторФамилия, ЗаголовокКниги1, ЗаголовокКниги2, ЗаголовокКниги3)

То же самое. В зависимости от постановки задачи, это может быть абсолютно нормализованная таблица. И уж как минимум она находится во 2НФ.

А в теме требуется пример таблицы не во 2НФ.
...
Рейтинг: 0 / 0
Вопрос нормализации таблиц
    #32508429
Фотография Quark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аномалий захотелось),
пожалуйста:

Код: plaintext
1.
2.
3.
4.
5.
create table t(Sklad varchar( 10 ), FIO_Отвественного varchar( 20 ), Tovar varchar( 100 ))
insert into t values('Первый','Иванов','ВАЗ2104')
insert into t values('Первый','Иванов','ВАЗ2105')
insert into t values('Первый','Иванов','ВАЗ2106')
insert into t values('Второй','Петров','ВАЗ2107')
insert into t values('Второй','Петров','ВАЗ2108')
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос нормализации таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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