Página substituída por '= Normalização= <br> = Dependência Funcional = <br> * O que é? ** <br> = Normalização = <br> * O que é? ** <br> == 1FN == <br> * Procedimento ** <br> ==...'
Sem resumo de edição
Linha 1: Linha 1:
= Normalização=
* '''1FN - 1ª Forma Normal''': todos os atributos de uma tabela devem ser atômicos, ou seja, a tabela não deve conter grupos repetidos e nem atributos com mais de um valor. Os grupos repetidos devem ser postos em tabelas separadas, conectados por uma chave primária ou estrangeira.
<br>




= Dependência Funcional =
'''Exemplo:'''
<br>


* O que é?
**
<br>


= Normalização =
PESSOAS = {Id+ Nome + Endereço + Telefones}
<br>


* O que é?
**
<br>


Ela contém a chave primária “Id” e o atributo “Telefones” é um atributo multivalorado e, portanto, a tabela não está na 1FN. Para deixá-la na 1FN, cria-se uma nova tabela chamada TELEFONES que conterá “IdPessoa” como chave estrangeira de PESSOAS e “Telefone” como o valor multivalorado que será armazenado.


== 1FN ==
<br>


* Procedimento
PESSOAS = { Id + Nome + Endereço }
**
TELEFONES = { IdPessoa + Telefone }
<br>


== 2FN ==
<br>


* Procedimento
**
<br>


== 3FN ==
* '''2FN - 2ª Forma Normal''': todos os atributos não chaves da tabela devem depender unicamente da chave primária. Para tanto, é preciso identificar as colunas que não são funcionalmente dependentes da chave primária da tabela e, em seguida, remover essa coluna da tabela principal e criar uma nova tabela com esses dados.
<br>


* Procedimento
**
<br>


= Referëncias =
'''Exemplo:'''
<br>


*
 
ALUNOS_CURSOS = { IdAluno + IdCurso + Nota + DescriçãoCurso }
 
 
Nessa tabela, o atributo “DescriçãoCurso” depende apenas da chave primária IdCurso. Dessa forma, a tabela não está na 2FN. Para tanto, cria-se uma nova tabela chamada CURSOS que tem como chave primária IdCurso e atributo “Descrição” retirando, assim, o atributo “DescriçãoCurso” da tabela ALUNOS_CURSOS.
 
 
ALUNOS_CURSOS = { IdAluno + IdCurso + Nota }
CURSOS = {IdCurso + Descrição}
 
 
 
* '''3FN - 3ª Forma Normal''': os atributos não chave de uma tabela devem ser mutuamente independentes e dependentes unicamente e exclusivamente da chave primária (um atributo B é funcionalmente dependente de A se, e somente se, para cada valor de A só existe um valor de B). Para atingir essa forma normal, é preciso identificar as colunas que são funcionalmente dependentes das outras colunas não chave e extraí-las para outra tabela.
 
 
'''Exemplo:'''
 
 
FUNCIONARIOS = { Id + Nome + IdCargo + DescriçãoCargo }
 
 
O atributo “DescriçãoCargo” depende exclusivamente de “IdCargo” (atributo não chave) e, portanto, deve-se criar uma nova tabela com esses atributos. Assim:
 
 
FUNCIONARIOS = { Id + Nome + IdCargo }
CARGOS = { IdCargo + Descrição }
 
 
*'''Exemplo:'''
**Caso discutido em sala de aula:
 
[[Arquivo:DiagramaBDUniversidade.png]]

Edição das 03h25min de 7 de maio de 2015

  • 1FN - 1ª Forma Normal: todos os atributos de uma tabela devem ser atômicos, ou seja, a tabela não deve conter grupos repetidos e nem atributos com mais de um valor. Os grupos repetidos devem ser postos em tabelas separadas, conectados por uma chave primária ou estrangeira.


Exemplo:


PESSOAS = {Id+ Nome + Endereço + Telefones}


Ela contém a chave primária “Id” e o atributo “Telefones” é um atributo multivalorado e, portanto, a tabela não está na 1FN. Para deixá-la na 1FN, cria-se uma nova tabela chamada TELEFONES que conterá “IdPessoa” como chave estrangeira de PESSOAS e “Telefone” como o valor multivalorado que será armazenado.


PESSOAS = { Id + Nome + Endereço } TELEFONES = { IdPessoa + Telefone }


  • 2FN - 2ª Forma Normal: todos os atributos não chaves da tabela devem depender unicamente da chave primária. Para tanto, é preciso identificar as colunas que não são funcionalmente dependentes da chave primária da tabela e, em seguida, remover essa coluna da tabela principal e criar uma nova tabela com esses dados.


Exemplo:


ALUNOS_CURSOS = { IdAluno + IdCurso + Nota + DescriçãoCurso }


Nessa tabela, o atributo “DescriçãoCurso” depende apenas da chave primária IdCurso. Dessa forma, a tabela não está na 2FN. Para tanto, cria-se uma nova tabela chamada CURSOS que tem como chave primária IdCurso e atributo “Descrição” retirando, assim, o atributo “DescriçãoCurso” da tabela ALUNOS_CURSOS.


ALUNOS_CURSOS = { IdAluno + IdCurso + Nota } CURSOS = {IdCurso + Descrição}


  • 3FN - 3ª Forma Normal: os atributos não chave de uma tabela devem ser mutuamente independentes e dependentes unicamente e exclusivamente da chave primária (um atributo B é funcionalmente dependente de A se, e somente se, para cada valor de A só existe um valor de B). Para atingir essa forma normal, é preciso identificar as colunas que são funcionalmente dependentes das outras colunas não chave e extraí-las para outra tabela.


Exemplo:


FUNCIONARIOS = { Id + Nome + IdCargo + DescriçãoCargo }


O atributo “DescriçãoCargo” depende exclusivamente de “IdCargo” (atributo não chave) e, portanto, deve-se criar uma nova tabela com esses atributos. Assim:


FUNCIONARIOS = { Id + Nome + IdCargo } CARGOS = { IdCargo + Descrição }


  • Exemplo:
    • Caso discutido em sala de aula: