Seja r {\ displayStyle r} um esquema de relação e deixe r 1, r 2,…, r n {\ displayStyle r_ {1}, r_ {2}, \ ldots, r_ {n}} ser uma decomposição de r { \ displayStyle r}.
A relação r (r) {\ displayStyle r (r)} satisfaz a dependência de junção
∗ ( R 1 , R 2 , … , R n ) {\displaystyle *(R_{1},R_{2},\ldots ,R_{n})}Uma dependência de junção é trivial se um dos r i {\ displaystyle r_ {i}} for r {\ displayStyle r} em si.
As dependências de junção 2-Ear são chamadas de dependência multivalugurada como um artefato histórico do fato de terem sido estudados antes do caso geral. Mais especificamente, se u é um conjunto de atributos e r uma relação sobre ele, então r satisfaz x ↠ y {\ displayStyle x \ twoheadrightarrow y} se e somente se r satisfazer ∗ (x ∪ y, x ∪ (u - y)) . {\ displayStyle *(x \ cop y, x \ cup (u-y)).}
Dada uma cadeia de pizza que modela compras na tabela cliente = {número de pedidos, nome do cliente, nome de pizza, correio} .As as seguintes relações podem ser derivadas:
customer-name depends on order-numberpizza-name depends on order-numbercourier depends on order-numberComo os relacionamentos são independentes, existe uma dependência de junção da seguinte forma: *((número de ordem, nome do cliente), (número de pedidos, nome de pizza), (número de ordem, correio)).
Se cada cliente tiver seu próprio correio, no entanto, pode haver uma dependência de junção como esta: *((número de pedidos, nome do cliente), (número de pedidos, nome de pizza), (número de ordem, correio), ( Nome do cliente, Courier)), mas *((número de pedidos, nome do cliente, correio), (número de pedidos, nome de pizza) também seria válido. Isso torna óbvio que apenas ter uma dependência de junção não é suficiente para normalizar um esquema de banco de dados.