powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Выполнить преобразование отношения в набор НФБК отношений
25 сообщений из 57, страница 1 из 3
Выполнить преобразование отношения в набор НФБК отношений
    #38999787
Nkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Есть задание: Дан набор функциональных зависимостей. Выполнить преобразование отношения в набор НФБК – отношений.
Проблема с определением возможного ключа, выделил как A, CD. Но скорее всего не верно..
Отношения получились:
r1( B ,E)
r1( B ,E)
r1( B ,E)
r1( B ,E)
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #38999788
Nkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r1( B ,E)
r2(B,F,A,C,D)
r3( B ,F)
r4(B,A,C,D)
Сообщение чего-то раньше времени отправилось.
Прошу помочь, как верно сделать.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39000734
Nkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ключом будет являться A и CD? Но тогда НФБК не будет...
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39000944
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NkeyЗдравствуйте.
Есть задание: Дан набор функциональных зависимостей. Выполнить преобразование отношения в набор НФБК – отношений.
Проблема с определением возможного ключа, выделил как A, CD. Но скорее всего не верно..
Отношения получились:
r1( B ,E)
r1( B ,E)
r1( B ,E)
r1( B ,E)

Есть транзитивная зависимость B от A через СD. нарушена НФБК.
Устранение дает отношения
r1(A,С,D)
r2(С,D,B,E,F)
но во втором есть транзитивная зависимость
E и А ОТ CD через В
Устраним:
r2(С,D,B)
r3(B,E,F)

Окончательно:
r1(A,С,D)
r2(С,D,B)
r3(B,E,F)

При их естественном соединении получается исходное без потерь информации.
Но все они не имеют транзитивных зависимостей: находятся в НФБК.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39000964
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, я ошибся. Не правильно посмотрел картинку. Подловил Ваш препад на невнимательность (будьте с ним осторожны). Там не A->CD, а А->C.
тогда на самом деле AD ключ (аксиома псевдотранзитивность A->C, CD->B влечет AD->B):
Тогда транзитивная зависимость В от AD через СD (а не B от A через СD как я написал первоначально)
Устранение дает отношения
r1(A,С,D)
r2(С,D, B,E,F)
но во втрорм есть транзитивея зависимость
E и А ОТ CD через В
Устраним:
r2(С,D,B)
r3(B,E,F)

Оконательно:
r1(A,С,D)
r2(С,D,B)
r3(B,E,F)

При их естественном соединении получается исходное без потерь информации.
Но все они не имеют транзитивных зависимостей: находятся в НФБК.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39000967
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточнение: E и F тем более транзитивно зависят от AD через CD. Потому может быть произведена первая декомпозиция без потерь информации (при соединении).
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39000968
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опечатка:
Вместо
но во втрорм есть транзитивея зависимость
E и А ОТ CD через В

Следует читать
но во втрорм есть транзитивея зависимость
E и F ОТ CD через В.

Жаль что нельзя править свои тексты на форуме.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39000970
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять просмотрел. Блин. Ну препад - реально на невнимательность может отловить.
в r1(A,С,D) есть транзитивная зависимость С от АD через A.
Декомпозиция:

r1(A,D)
r2(A,С)
Оконательно:

r1(A,D)
r2(A,С)
r3(С,D,B)
r4(B,E,F)
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39000989
Nkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadiminfoОпять просмотрел. Блин. Ну препад - реально на невнимательность может отловить.
в r1(A,С,D) есть транзитивная зависимость С от АD через A.
Декомпозиция:

r1(A,D)
r2(A,С)
Оконательно:

r1(A,D)
r2(A,С)
r3(С,D,B)
r4(B,E,F)

А разве правильно не с конца удалять избыточные зависимости, а не с начала?
И смотрю, вроде, Вы по правилу синтеза сделали, я по цепочке делал, что в случае данного ключа не уместно.
Спасибо за ответ. Но разве не так будет:
r1(B,F)
r2(B,E)
r3(C,D,B)
r4(A,D)
r5(A,C) ?
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39001021
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nkey....
Но разве не так будет:
r1(B,F)
r2(B,E)
r3(C,D,B)
r4(A,D)
r5(A,C) ?
Но что дает:
r1(B,F)
r2(B,E)?

Они конечно соединяется без потерь в
r4(B,F,E).

Но r4(B,F,E) не содержит транзитивных зависимостей и потому находится в НФБК.
В обоих отношениях
r1(B,F)
r2(B,E)
будет всегда столько же записей сколько в r4(B,F,E) равное мощности B. Ну сюда тогда можно прибавить и r6(B,B) в принципе.

Однако, очевидно, что оптимальнее будет схема при меньшем числе отношений при прочих равных условиях (НФБК в данном случае).

Судите сами. У вас есть одна таблица из ста колонок с одним ключем. Ну ее можно разбить на 100 бинанарных таблиц ключ и один и атрибутов.
Так что очень сомневаюсь в целесообразности декомпозиции r4(B,F,E) на
r1(B,F)
r2(B,E)
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39004877
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nkey,

R1 ( [A], C)
R2 ([C,D], B)
R3 ([B], E, F)

В квадратных скобках первичные ключи.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39004951
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*PlusNkey,

R1 ( [A], C)
R2 ([C,D], B)
R3 ([B], E, F)

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

Исходная
A C D B E F
1 1 1 1 1 1
2 1 3 1 1 1

В ней есть все требуемые ФЗ.

Тогда декомпозиция по Вашей схеме:

A C
1 1
2 1

C D B
1 1 1
1 3 1


B E F
1 1 1

Теперь соединим обратно и получим:

A C D B E F
1 1 1 1 1 1
2 1 1 1 1 1
1 1 3 1 1 1
2 1 3 1 1 1

Которая не равна исходной, Т.е. потеря информации.
Ведь, от С ничего не зависит, а Ваша схема предполагает соединение по нему.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39004954
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя это не относится к требованиям задачи, тем более речь идет о НФБК. Но раз Вы выделили ключи, то можно замтить: Вашей схеме нельзя навязать ФЗ - все зависит от AD. Так как этой пары нет ни в одной схеме и ее нельзя поэтому объявить ключом.

.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005334
Nkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне всё же кажется, что ключом будет AD.
Отношения:
r1([B],E,F)
r2([C,D],B)
r3([A,D],C).
Для вашего случая r3(A,D) и r4(A,C) сделал таблицу и не сошлось...

ACD
111
212
122
211

AC AD
11 11
21 22
12 12
22 21

ACD
111
112
121
122
212
211
222
221
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005338
Nkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadiminfoОпять просмотрел. Блин. Ну препад - реально на невнимательность может отловить.
в r1(A,С,D) есть транзитивная зависимость С от АD через A.
Разве там есть транзитивная? Тогда уж могла быть по пополнению AD->C, но ее нет..
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005353
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NkeyvadiminfoОпять просмотрел. Блин. Ну препад - реально на невнимательность может отловить.
в r1(A,С,D) есть транзитивная зависимость С от АD через A.
Разве там есть транзитивная? Тогда уж могла быть по пополнению AD->C, но ее нет..


AD->A (пополнение), A->C (задано). И AD не зависит от А. Это означает транзитивную зависимость C от AD.

(Тут, на самом деле, и нарушение даже 2НФ. Частичная зависимость С от AD).

Пример, избыточности ADC:

111
121

В первой записи мы узнали, что А = 1 соответствует С = 1.
Во второй записи, мы уже зная это вынуждены повторно занести известную информацию (поскольку A->C, означает, что должно быть то же самое).
Теперь если выяснится, что A = 1 соответствует С = 2, то придется менять в двух местах (проблема контроля избыточности).
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005360
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NkeyМне всё же кажется, что ключом будет AD.

Так это не кажется, а выводится из заданных условий. A->C и DC->B, означает, что AD->B тем более. Тогда все атрибуты зависят от AD и потому она уникальна (отношение - множество).
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005361
Nkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadiminfoAD->A (пополнение), A->C (задано). И AD не зависит от А. Это означает транзитивную зависимость C от AD.
AD->A как-то как-то. Это от рефлективности?
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005364
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nkey
ACD
111
212
122
211




Недопустимое состояние;

Нарушена условие A->C.
В первой строке A = 1, С = 1, а в третьей A = 1, С = 2. Это означет отсутствие зависимости C от A.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005366
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NkeyvadiminfoAD->A (пополнение), A->C (задано). И AD не зависит от А. Это означает транзитивную зависимость C от AD.
AD->A как-то как-то. Это от рефлективности?
От рефлексивности A->A и пополнения AD->A.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005368
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nkey,

Но Вы помните, что окончательный ответ был:

Оконательно:

r1(A,D)
r2(A,С)
r3(С,D,B)
r4(B,E,F)

?

Ключи не выделяю, так как задача навязать ФЗ не ставилась.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005369
Nkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadiminfoNkey,

Но Вы помните, что окончательный ответ был:

Оконательно:

r1(A,D)
r2(A,С)
r3(С,D,B)
r4(B,E,F)

?

Ключи не выделяю, так как задача навязать ФЗ не ставилась.
Помню, но я сижу, думаю, как корректнее написать разбиение r3(A,D,C) на r3(A,C) и r4(A,D).
Остальные я описывал по правилу цепочки...
К экзамену просто готовлюсь, на вступительные :)
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005374
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nkey
К экзамену просто готовлюсь, на вступительные :)
На вступительные куда? Все таки это выглядит как курс по БД где-то 3-ем курсе. Т.е. далековато от вступительных.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005375
Nkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadiminfoNkeyК экзамену просто готовлюсь, на вступительные :)
На вступительные куда? Все таки это выглядит как курс по БД где-то 3-ем курсе. Т.е. далековато от вступительных.
На магистратуру. Я это всё делал, но немного подзабыл как в данном случае поступить.
...
Рейтинг: 0 / 0
Выполнить преобразование отношения в набор НФБК отношений
    #39005378
Nkey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Следуя Вашей инструкции. AD->A, A->C, то по идеи должна удалится по транзитивности AD->C, но ее нет.
Даже есть и удалить A->C, то останется ли AD->A? Или это просто для удаления делается?
...
Рейтинг: 0 / 0
25 сообщений из 57, страница 1 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Выполнить преобразование отношения в набор НФБК отношений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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