Lossless Join Property
Может кто-нибудь объяснить мне, что подразумевается под свойством соединения без потерь в схеме отношений?
Это способность поддерживать семантику информации / данных во время декомпозиции отношений при нормализации?
4 ответа
@Falcon - вы правы - но это более содержательное определение...
Свойство соединения без потерь является функцией разложения, поддерживаемой нормализацией. Это способность гарантировать, что любой экземпляр исходного отношения может быть идентифицирован из соответствующих экземпляров в меньших отношениях.
Слово " потеря в без потерь" относится к потере информации, а не к потере кортежей.
Эта презентация PPT может быть полезна.
R1, ... - разложение R без потерь, когда они присоединяются к нему.
(R1, ... будучи разложением R без потерь под набором FD (функциональных зависимостей) F, это другое свойство. То есть, когда R1, ... является разложением R без потерь и удовлетворяет FDs в F.)
Без потерь означает функционирование без потерь. Другими словами, сохраните все.
Важно, чтобы базы данных имели эту функцию.
Формальное определение
- Позволять
R
быть схемой отношений. - Позволять
F
быть набором функциональных зависимостей отR
, - Позвольте и сформировать разложение
R
,
Разложение является разложением без потерь соединения R
если хотя бы одна из следующих функциональных зависимостей находится в F+
1) R1 ∩ R2 ∩ R1
2) R1 ∩ R2 ∩ R2
Проще говоря...
R1 ∩ R2 ∩ R1
R1 ∩ R2 ∩ R2
Если R
делится на R1
а также R2
для того, чтобы разложение было без потерь, по крайней мере, одно из двух должно выполняться.
Проецирование на R1
а также R2
и присоединение обратно приводит к тому отношению, с которого вы начали.