Decomposição sem perda de informação

Projeção de dependências, BCNF, junção sem perda, chase e síntese em 3FN.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Sem perda: o teste

Decompor reparte atributos em esquemas cuja união cobre o original; cada instância nova é uma projeção. A decomposição é sem perda se a junção natural recuperar exatamente os tuplos originais em toda instância válida sob as DFs.

  • Duas relações: sem perda se e só se (R1∩R2)→R1(R_1\cap R_2)\to R_1 ou (R1∩R2)→R2(R_1\cap R_2)\to R_2, com DFs avaliadas no fecho das originais. Em ABC→AB,BCABC\to AB,BC, BB tem de determinar AA ou CC.
  • Sem a condição, (1,2,3)(1,2,3) e (4,2,3)(4,2,3) com B=2B=2 geram também (1,2,5)(1,2,5) e (4,2,3)(4,2,3): perde-se a correspondência entre AA e CC.
  • Uma coluna comum permite juntar; só a DF justifica reconstruir sem espúrios.

Preservar: o outro teste

Usa na relação resultante todas as DFs implicadas internas ao seu esquema: de A→BA\to B e B→CB\to C, a projeção em ACAC inclui A→CA\to C.

Há preservação se a união das DFs projetadas implicar as originais; permite validar cada tabela isoladamente. Forma normal, ausência de perda e preservação são três propriedades independentes.

Com AB→CAB\to C e C→BC\to B, decompor ABCABC em CB,ACCB,AC dá BCNF e junção sem perda (CC determina CBCB), mas perde AB→CAB\to C: sob as DFs locais, (AB)+=AB(AB)^+=AB.

Procedimentos

Até BCNF:

  1. Escolhe DF não trivial X→YX\to Y com XX não superchave.
  2. Separa R1=X∪YR_1=X\cup Y e R2=R−(Y−X)R_2=R-(Y-X); o passo é sem perda porque o comum contém XX.
  3. Projeta as DFs e repete; confere a preservação à parte.

Com AB→CAB\to C, C→DC\to D, D→ED\to E: separa DEDE de ABCDABCD e CDCD de ABCABC; resultado ABC,CD,DEABC,CD,DE, aqui também com preservação.

Síntese em 3FN (sem perda e com preservação garantidas):

  1. Cobertura mínima com direitas unitárias.
  2. Uma relação X∪{A}X\cup\{A\} por X→AX\to A, reunindo direitas do mesmo determinante.
  3. Retira esquemas contidos noutros.
  4. Se nenhum esquema contiver uma candidata original, acrescenta-a.

Com só A→BA\to B e C→DC\to D em ABCDABCD, AB,CDAB,CD não chegam: acrescenta a candidata ACAC. Em ABCDEABCDE com AB→CAB\to C, C→BC\to B, A→DA\to D, as candidatas são ABE e ACE; acrescentar só AE cobre EE mas não contém candidata nem garante junção sem perda.

Chase (três ou mais relações): uma coluna por atributo e uma linha por relação, com aAa_A onde o esquema contém AA e símbolos próprios distintos nas ausências. Aplica cada DF às linhas que concordam na esquerda, unificando a direita em todas as ocorrências e conservando distinguidos. Uma linha (aA,aB,aC)(a_A,a_B,a_C) prova ausência de perda; estabilizar sem nenhuma prova perda para alguma instância válida.

Tableau e aplicação do chase.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.