Разложение соединения без потерь - Lossless join decomposition
Эта статья может потребоваться переписан соответствовать требованиям Википедии стандарты качества.Июль 2014 г.) ( |
В дизайн базы данных, а разложение соединения без потерь является разложением отношения в отношения так что естественное соединение двух меньших отношений возвращает исходное отношение. Это главное в безопасном удалении избыточности из базы данных при сохранении исходных данных.[1]
Критерии
Также может называться неаддитивным.[нужна цитата ]
Если разделен на и , чтобы это разложение было без потерь (т. е. ), то должен выполняться хотя бы один из двух следующих критериев.
Проверка 1. Подтвердите соединение явно
Проектирование на и , и присоединение к ним, приводит к отношениям, с которых вы начали.[2][ненадежный источник? ]
Проверка 2: через функциональные зависимости
Позволять быть схемой отношения.
Позволять F быть набором функциональные зависимости на .
Позволять и образовать разложение .
Разложение представляет собой разложение без потерь соединения если хотя бы одна из следующих функциональных зависимостей находится в F+ (куда F+ означает закрытие для каждого атрибута или набора атрибутов в F):[3]
Примеры
- Позволять быть схемой отношений с атрибутами А, B, C и D.
- Позволять быть набором функциональных зависимостей.
- Разложение на и без потерь под F потому что . А это суперключ в , то есть у нас есть функциональная зависимость . Другими словами, теперь мы доказали, что .
Рекомендации
- ^ Полер, К. (2015). «Разложение без потерь с объединением: приложения для количественных вычислений». Международный журнал прикладных компьютерных наук. 21 (4): 190–212.
- ^ «Собственность без потерь». Stackoverflow.com. Получено 2016-02-07.
- ^ "Разложение соединения без потерь" (PDF). Университет Буффало. Ян Хомицки. Получено 2012-02-08. Cite имеет пустой неизвестный параметр:
| соавторы =
(помощь) - ^ "Разложение соединения без потерь". Cs.sfu.ca. Получено 2016-02-07.
- ^ «Архивная копия». Архивировано из оригинал на 2014-02-21. Получено 2014-02-12.CS1 maint: заархивированная копия как заголовок (связь)