Seguindo o mesmo criterio da Segunda Forma Normal, para uma entidade estar na Terceira Forma Normal ela deve obrigatoriamente estar na Segunda Forma Normal, e nenhum atributo pode depender de outro atributo. Passos para colocar uma entidade na Terceira Forma Normal:Identificar os atributos que sao dependentes de outros atributos nao chave primariaCriar uma nova entidade com esses atributos idVenda idCliente nmCliente dtPedido 1 151 Lapiseira 5 2 016 Caneta 3 3 201 Caderno 1 4 002 Estojo 1 Com a Terceira Forma Normal o atributo nmCliente foi excluido, pois ele nao depende funcionalmente da chave primaria. E foi criada uma nova entidade em que o atributo nmCliente e totalmente depedente da chave primaria. idVenda idCliente dtPedido 1 151 5 2 016 3 3 201 1 4 002 1 idCliente nmCliente 151 Lapiseira 016 Caneta 201 Caderno 002 Estojo Seguindo corretamente a Normalizacao com as tres primeiras Formas Normais podemos garantir que boa parte das anomalias e redundancias de dados podem ser eliminadas, mas ainda existem outras formas normais que podem ser aplicadas apos a Terceira Forma Normal. Outra observacao que nao podia passar batida e a questao de atributos que sao gerados por calculos entre outros atributos, como no exemplo mostrado a seguir: idVenda idProduto qtProduto vlProduto vlTotal 1 151 5 1,50 7,50 2 016 3 2,00 6,00 3 201 1 15,32 15,32 4 002 1 5,99 5,99 Repare que o atributo vlTotal e uma conta entre outros atributos qtProduto x vlproduto, sendo assim, nao e necessario guardar esse valor em um atributo, pois esse valor pode ser obtido atraves da recuperacao de atributos ja existente. Gabriel Rubens Ola pessoal... Hoje estou aqui pra falar sobre as famosas interfaces Java!Nao interface grafica (GUI, Swing e AWT), mas as classes 100% abstratas, que sao declaradas com a palavra-chave interface.Ainda me lembro do dia em que eu tive o meu primeiro contato com as interfaces (estudando). Eu tinha acabado de entender como funcionava a heranca em Java... Tinha descoberto que boa parte dos meus problemas havia acabado naquele momento, afinal, eu tinha aprendido que poderia economizar centenas de linhas de codigo nos meus programinhas herdando tudo. Ai veio a decepcao, quando eu comecei a aprender sobre as interfaces... Eu descobri que o que eu estava fazendo era herdando por preguica, e a heranca nao foi feita pra isso, a heranca tem que fazer sentido. Mas, isso vai ficar pra outro post, porque o assunto de hoje e sobre a prova SCJP.Vamos ao resumo para certificacao...Declaracao de InterfacesUma interface e como uma classe 100% abstrata; As interfaces sao implicitamente abstract, colocar esse modificador e opcional;Uma interface so pode ser public ou default; Uma interface NAO pode ter o modificador private ou protected;Uma interface pode estender varias interfaces (isso mesmo, a palavra usada e extends);Uma interface NAO pode implementar outra interface ou classe (parece estranho, mas uma interface estende outras interfaces);Classes que ImplementamUma classe concreta (nao abstract) que implementa uma interface deve fornecer implementacoes para todos os seus metodos;Uma classe abstract quem implementa uma interface nao e obrigada a implementar seus metodos, mas a primeira classe