Доказательство потери или разложения с потерями - PullRequest
0 голосов
/ 01 октября 2019

Я пытался решить вопрос, касающийся доказательства того, является ли данное разложение потерями или без потерь

Проверьте, какие из следующих разложений R (ABCDE) являются потерями или потерями, применяя тест для без потерьприсоединиться к собственности. F = {AB → C, C → E, B → D, E → A} - множество функциональных зависимостей от R i. R (ABCDE) разлагается на R1 (AB), R2 (ADE) и R3 (BCD) ii. R (ABCDE) разлагается на R1 (BCD), R2 (ACE) и R3 (BD)

**

  • Моя попытка решения:

**

Декомпозиция может быть без потерь, только если между данными таблицами есть общие атрибуты, а общие атрибуты являются ключом-ключом / супер-ключом.

В первой части, у нас нет ключа-кандидата в R1 и нет в R2, поэтому мы можем назвать его декомпозицией с потерями?

Во второй части C является ключом-кандидатом для R2, ​​а B является ключом-кандидатом для R3, но R1не имеет ключа, а также R2 и R3 не имеют общих атрибутов, так что это также не разложение без потерь?

Является ли мое объяснение верным или есть еще критерии?

1 Ответ

1 голос
/ 01 октября 2019

Инструкции понятны: «путем применения теста для свойства соединения без потерь». Предположительно, это важная теорема, которая говорит, что двоичное соединение / декомпозиция без потерь, когда / iff .... Но вы не цитируете это. Посмотри в своем учебнике. (Осторожно, у статьи Википедии есть проблемы.) Вы действительно говорите, что «можете быть только без потерь», но это просто говорит о том, что что-то необходимо, то есть «если» в одном направлении, тогда как вы не сказали, что также достаточно, что является«если» в другом направлении, то есть в том направлении, в котором вы нуждаетесь, поэтому ваши рассуждения неверны - если только вы не используете плохой язык и имеете в виду «если». Но даже используя «iff», ваше определение неверно. Вы должны сказать, что «общие столбцы образуют суперключ» хотя бы одного из компонентов . И «есть общие атрибуты между ними» не принадлежит - не должно быть общих атрибутов, независимо от того, является ли объединение без потерь. Отсутствие общих атрибутов означает общий набор атрибутов {} и перекрестное соединение;но если его подмножество {} является CK компонента - этот компонент имеет не более одной строки - объединение без потерь. Но вам не нужно это знать, вам просто нужно использовать теорему. Также вам нужно сказать, что F - это прикрытие - тогда скажите нам - или CK не могут быть найдены. Другая проблема - «у нас нет CK» - каждая схема имеет CK, поскольку набор всех столбцов образует суперключ - и всегда есть тривиальные FD .-- Но вам не нужно это знать, вы простодолжны использовать определения, теоремы и алгоритмы для поиска CK. Также вам нужно найти все FD закрытия крышки, которую вам дали, и затем рассчитать новые CK для каждого компонента, используя FD, в которых есть все их атрибуты. Есть еще одна теорема, в которой говорится, что эти FD замыкания - это именно те FD, которые содержатся в компонентах. Могут быть FD, которые подразумеваются заданными и имеют все свои атрибуты в компоненте, хотя заданные не имеют .-- Но вам не нужно это знать, вам просто нужно обосновать, что у вас есть CK,Оправдание у вас есть FD с помощью определений, теорем и алгоритмов. Но также теорема о «свойствах» включает в себя двоичные декомпозиции - так вам было сказано предположить - но нам не сказали - что R = R1 JOIN (R2 JOIN R3) в этом порядке? Это все ясно из теорем, алгоритмов и определений FD, cover, closure и CK, но вам нужно точно запомнить определения и теоремы, а затем применять их точно и утомительно. Это все, что я только что сделал.

Почему у вас есть сомнения в ваших вопросах в 2 частях? Почему вы не применяете теорему «собственности»? Почему вы не обращаете внимание на тот факт, что речь идет о бинарных соединениях?

Если вы когда-либо не уверены в том, как выполнить упражнение, которое вы видели в своем учебнике и которое, как вы знаете, не требует творчества, вы буквально не знаете, что делаете, поэтому вернитесь в свой учебник ивыяснить.

Обычно я просто закрываю такие вопросы для голосования следующим комментарием:

Re "is this right": Покажите шаги своей работы, следуя вашей справке / учебнику, собоснование - вы можете найти ошибки, которые делают ваш вопрос ненужным, и мы не знаем точно, какой алгоритм вы используете, и мы хотим проверить вашу работу, но не повторять ее, и нам нужен ваш выбор, если алгоритм позволяет, а в противном случае мы можем »Я не скажу вам, куда вы пошли правильно или неправильно, и мы не хотим переписывать ваш учебник. Пожалуйста, см. Как спросить , нажмите «поискать домашнее задание по стеку» и тексты со стрелками для голосования.

* 1018. цитируемое задание по нормализации базы данных без объяснения причин Я стараюсь работать над ответной публикацией, комментируя вариант этого:

Что означает «у меня есть эти FD»? «Это все ФД, которые держат»? - невозможно. «Это все нетривиальные FD, которые держат»? - невозможно. «Это какие-то ФД, которые держат»? - на вопрос нельзя ответить. Выясните, что такое cover и каковы точные условия для применения определенного определения / правила / алгоритма. Чтобы определить CK и NF, нам должны быть предоставлены FD, которые образуют покрытие. Иногда минимальное / неприводимое покрытие. И набор всех атрибутов должен быть задан. См. Этот ответ.

Поэтому, когда вы повторяете это упражнение, если вы не уверены, что знаете, что делать в какой-то момент и задаете другой вопрос, обязательно следуйте этимКомментарии.

...