SlideShare uma empresa Scribd logo
Rodrigo Kiyoshi Saito / rodrigok@anchieta.br
BANCO DE DADOS I
Tópicos abordados
• Formas Normais
FORMAS NORMAIS
• Segundo BATTIST (2005, P. 16), o objetivo da
normalização é evitar os problemas provocados
por falhas no projeto do Banco de Dados, bem
como eliminar a “mistura” de assuntos e as
correspondentes redundâncias de dados.
• A normalização de tabelas é utilizada para tentar
detectar erros no projeto das tabelas e atributos
de cada tabela e corrigir estes erros, antes da
criação e utilização do Banco de Dados.
FORMAS NORMAIS
• É bem mais fácil (e barato), corrigir os erros na
fase de projeto do que depois que o Banco de
Dados já estiver em uso.
• Uma “Regra de ouro” que devemos observar
quanto ao projeto de banco de dados é a de
“não misturar assuntos em uma mesma
tabela”.
FORMAS NORMAIS
• GUIMARAES (2003, p.81) complementa que
existe um considerável aparato teórico por
trás dos conceitos de normalização de
relações. As razões para estudá-los, no
entanto, são de ordem prática. Eles nos vão
ajudar a projetar base de dados com menos
possibilidade de inconsistências e menos
redundâncias de informação.
FORMAS NORMAIS
• Eles também vão ajudar a determinar com
mais precisão certos tipos de restrições sobre
atributos de uma relação assim como a
determinação das suas possíveis chaves.
FORMAS NORMAIS
• Por exemplo, na tabela Clientes, devemos
colocar somente campos relacionados com o
assunto Clientes. Não devemos misturar
campos relacionados com outros assuntos,
tais como pedidos, produtos etc. Essa
“mistura de assuntos” em uma mesma tabela
acaba por gerar repetição desnecessária dos
dados bem como inconsistências dos dados.
FORMAS NORMAIS
• O processo de normalização aplica uma série
de regras sobre as tabelas de banco de dados,
para verificar se estas estão corretamente
projetadas. Embora existam cinco formas
normais (ou regras de normalização), na
prática usamos um conjunto de três formas
normais.
FORMAS NORMAIS
• Frequentemente, após a aplicação das regras
de normalização, algumas tabelas acabam
sendo divididas em duas ou mais, o que no
final gera um número maior de tabelas do que
o número de tabelas originalmente projetado.
FORMAS NORMAIS
• Este processo causa a simplificação dos
atributos de uma tabela, colaborando
significativamente para a estabilidade do
projeto de banco de dados, reduzindo-se as
necessidades de manutenção e alterações,
após o banco ter sido colocado em produção.
Primeira Forma Normal
• BATTIST diz que a Regra: “Uma tabela está na
Primeira Forma Normal quando seus atributos
não contem grupos de repetição”. Por isso
dizemos que uma tabela que possui grupos de
repetição não está na Primeira Forma Normal.
Primeira Forma Normal
• Exemplo de uma tabela que não está
normalizada na 1 FN (BATTIST, 2005, p.17)
Primeira Forma Normal
• GUIMARAES (p.84) diz que a 1FN é
considerada como a própria definição do MR:
Toda relação está em 1FN, isto é, não possui
atributos multivalorados nem relações
aninhadas e será tomada como implícita.
Primeira Forma Normal
• Podemos notar que uma tabela com esta
estrutura apresenta diversos problemas. Por
exemplo, se um casal tiver mais do que um
filho, teríamos que digitar o nomes do pai e da
mãe diversas vezes, tantas quantos forem os
filhos. Isso forma um grupo de repetição.
Primeira Forma Normal
• Pode ser que, por erro de digitação, o nome
dos pais não apareça exatamente igual todas
as vezes, o que pode acarretar problemas na
hora de fazer pesquisas ou emitir relatórios.
Este problema ocorre porque misturamos
assuntos em uma mesma tabela. Colocamos
as informações dos pais e dos filhos em uma
mesma tabela. (BATTIST, p. 17)
Primeira Forma Normal
• A solução para este problema é simples:
criamos uma tabela separada para a
informação dos pais e relacionamos a tabela
Pais com a tabela Filhos através de um
relacionamento do tipo Um para Muitos, ou
seja, um casal pode ter vários filhos.
Primeira Forma Normal
• As Tabelas Pais e Filhos estão na Primeira
Forma Normal (BATTIST, 2005, p.17)
Primeira Forma Normal
• As duas tabelas resultantes da aplicação da
Primeira Forma Normal, Pais e Filhos, estão na
Primeira Forma Normal. A tabela original, a
qual misturava informações de pais e filhos,
não está na Primeira Forma Normal.
Primeira Forma Normal
• OLIVEIRA (2002, p.53) complementa que a
solução para este caso é que devemos separar
a informação que se repete em uma nova
entidade. Devemos ainda levar a chave
primaria da entidade original para a nova
entidade gerada (caso contrário, não haverá
como relacionar as informações das duas
entidades). Feito isso, criaremos a nova chave
para a nova entidade.
Primeira Forma Normal
• Normalmente podemos localizar um campo
que, unido à chave da entidade original,
formará a chave da nota tabela (nesse caso,
chave concatenada), ou podemos criar um
campo para esse fim, caso não exista, Há a
possibilidade de criarmos simplesmente uma
nova chave não concatenada e independente
da entidade original. É uma questão de
preferência.
Primeira Forma Normal
• Exemplo:
Primeira Forma Normal
• Utiliza-se o campo Numero da Faixa como
atributo-chave junto com o CodigoDoCD, pois
não poderá haver duas faixas com o mesmo
número em um único CD. Essa é, portanto,
uma chave concatenada.
Segunda Forma Normal
• Podemos aplicar a Segunda Forma Normal
quando tivermos uma chave primária
composta. Neste caso, devemos observar se
todos os campos, que não fazem parte da
chave primária composta, dependem de todos
os campos que compõem a chave primária
composta. Se algum campo depender
somente de parte da chave primária
composta, então este campo deve pertencer a
outra tabela. (BATTIST, 2005, P.17)
Segunda Forma Normal
• Tabela que não está na segunda forma normal
(BATTIST, 2005, p.18)
Segunda Forma Normal
• A chave primária composta é formada pela
combinação dos campos NúmeroDaMatricula e
CódigoDoCurso.
• O campo Avaliação depende tanto do
CódigoDoCurso quanto Do NúmeroDaMatricula
(cada aluno – representado por sua matricula,
tem uma nota em cada disciplina – representada
pelo campo CódigoDoCurso), porém o campo
DescriçãoDoCurso depende apenas do
CódigoDoCurso (a descrição do curso não tem
relação com o NúmeroDaMatricula).
Segunda Forma Normal
• Com isso, temos um campo que não faz parte
da chave primária composta e depende
apenas de um dos campos que compõem a
chave primária composta. Assim podemos
dizer que esta tabela não está na Segunda
Forma Normal. (BATTIST, 2005, P.18)
Segunda Forma Normal
• A resolução para este problema também é
simples: dividimos a tabela, que não está na
Segunda Forma Normal, em duas outras
tabelas, conforme indicado pela figura abaixo,
sendo que as duas tabelas resultantes estarão
na segunda forma normal.
Segunda Forma Normal
• Duas tabelas que estão na Segunda Forma
Normal:
Segunda Forma Normal
• OLIVEIRA (2002, p.56) diz que uma entidade
está na segunda forma normal quando todos
os seus atributos não chave dependem
unicamente da chave. Assim, deve-se
perguntar a cada atributo, que não seja a
chave da entidade, se ele depende apenas da
chave da entidade. O que se procura com isso
é medir o grau de dependência entre os
atributos.
Segunda Forma Normal
• Apenas coisas semelhantes podem ser unidas
em grupos semelhantes (entidades nada mais
são do que um grupo ou conjunto). A solução
sugerida para esse problema é ao
identificarmos uma situação como a descrita
anteriormente, devemos separar os atributos
independentes e criar ou identificar dentre os
atributos separados uma nova chave para esta
nova entidade.
Segunda Forma Normal
• Essa chave deve ser mantida na entidade
original como o atributo de relacionamento
entre ambas as entidades. Dessa forma, não
se perde qualquer informação no modelo.
Segunda Forma Normal
• No exemplo anterior, a gravadora, o Autor e a
Musica são independentes de suas entidades,
CD e Item_CD. Veja que já uma enorme
vantagem ao separarmos esses atributos
independentes, visto quem se não o
fizéssemos, cada alteração em uma das
informações deveria ser estendida a todas as
linhas da entidade.
Segunda Forma Normal
• É muito mais fácil fazer isso apenas na nova
entidade criada. Como a relação se dá por
meido do campo-chave, não há necessidade
de alterar todas as ocorrências em CD ou
Item_CD, apenas nas entidades Autor,
Gravadora ou Musica.
Segunda Forma Normal
• A inclusão de novos atributos também é
facilitdada. Atributos que venham a ser
relavantes serão acrescentados direamente na
entidade Autor (como Data de Nascimento)
ou Gravadora (como Endereço e Home Page)
Segunda Forma Normal
Terceira Forma Normal
• Segundo BATTIST (p.21), na definição dos
campos de uma tabela podem ocorrer casos
em que um campo não seja dependente
diretamente da chave primária, ou de parte
dela, mas sim dependente de um outro
atributo constante na tabela, atributo este
que não seja a chave primária.
Terceira Forma Normal
• Quando isso ocorre, dizemos que a tabela não
está na Terceira Forma Normal, conforme
indicado pela figura seguinte:
Terceira Forma Normal
• Uma tabela que não está na Terceira Forma
Normal:
Terceira Forma Normal
• Observe que o campo DescriçãoDoCurso
depende apenas do campo CodigoDoCurso, o
qual não faz parte da chave primária. Por isso
dizemos que esta tabela não está na Terceira
Forma Normal.
• A solução para este caso também é simples.
Novamente basta dividir a tabela em duas outras,
conforme indicado pela figura abaixo. As duas
tabelas resultantes estão na Terceira Forma
Normal.
Terceira Forma Normal
• Duas tabelas que estão na Terceira Forma
Normal:
Terceira Forma Normal
• OLIVEIRA (p.60) diz que uma entidade está
terceira forma normal quando todos os seus
atributos não chave não dependem de
nenhum outro atributo não chave. Utilizando
palavras mais simples, pode-se dizer que um
atributo não deve depender de outro atributo.
Isso ocorre normalmente em cálculos
matemáticos ou em atributos “perdidos” na
entidade errada.
Terceira Forma Normal
• Se guardamos eles são resultados de uma
operação entre dois atributos. Se guardarmos
esse valor, estaremos apenas ocupando
espaço e abrindo a possibilidade de termos
uma informação inconsistente no banco de
dados;
Terceira Forma Normal
• Exemplo: No nosso exemplo, o atributo
TempoTotal é dependente de outro atributo
não chave: Tempo, na entidade musica. Ao
somarmos o tempo de cada faixa do CD,
teremos o tempo total de gravação do CD.
Esse campo deve ser eliminado, sem perda de
informação para o modelo de dados.
Terceira Forma Normal
Exercício - Formas
Normais
• Dado a seguinte figura, defina as tabelas
utilizando as seguintes formas normais: 1FN,
2FN e 3FN:
Exercício - Formas
Normais

Mais conteúdo relacionado

Mais procurados

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
Roberto Grande
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normal
vitorleyva
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
Cleber Ramos
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Leinylson Fontinele
 
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasEstrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Leinylson Fontinele
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
Rafael Albani
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - Apresentação
Leinylson Fontinele
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
Igor Alves
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
Leinylson Fontinele
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dados
Patrícia Morais
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dados
samlobo
 
Modelos de base de dados
Modelos de base de dadosModelos de base de dados
Modelos de base de dados
Daiana de Ávila
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
Rademaker Siena
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
Daniel Brandão
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
Leinylson Fontinele
 
03 mer2
03 mer203 mer2
03 mer2
Fabiano Sales
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dados
mgoberto
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Leinylson Fontinele
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Gustavo Zimmermann
 
Banco De Dados
Banco De DadosBanco De Dados
Banco De Dados
Robson Silva Espig
 

Mais procurados (20)

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normal
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasEstrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - Apresentação
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dados
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dados
 
Modelos de base de dados
Modelos de base de dadosModelos de base de dados
Modelos de base de dados
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
03 mer2
03 mer203 mer2
03 mer2
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dados
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
 
Banco De Dados
Banco De DadosBanco De Dados
Banco De Dados
 

Semelhante a BD I - Aula 06 B - Parte 2 - Teorico Formas Normais

[Certificacao ] normalizacao de dados e as formas normais
[Certificacao ]  normalizacao de dados e as formas normais[Certificacao ]  normalizacao de dados e as formas normais
[Certificacao ] normalizacao de dados e as formas normais
Sandro Freitas
 
Training presentation design the tables for a new database af102720169
Training presentation   design the tables for a new database af102720169Training presentation   design the tables for a new database af102720169
Training presentation design the tables for a new database af102720169
Brena De La Concepcion
 
Training presentation create tables for a new database af102719985
Training presentation   create tables for a new database af102719985Training presentation   create tables for a new database af102719985
Training presentation create tables for a new database af102719985
Brena De La Concepcion
 
LabMM4 (T09 - 12/13) - Integridade referencial e normalização
LabMM4 (T09 - 12/13) - Integridade referencial e normalizaçãoLabMM4 (T09 - 12/13) - Integridade referencial e normalização
LabMM4 (T09 - 12/13) - Integridade referencial e normalização
Carlos Santos
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
Emiliano Barbosa
 
Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Tipos de dados do MySQL 5
Tipos de dados do MySQL 5
Daniel Brandão
 
Capítulo 05.pdf vida de programador só tô criando conversa você não tem outra...
Capítulo 05.pdf vida de programador só tô criando conversa você não tem outra...Capítulo 05.pdf vida de programador só tô criando conversa você não tem outra...
Capítulo 05.pdf vida de programador só tô criando conversa você não tem outra...
wagnergumbaplays
 
Curso avançado de excell 120 lições
Curso avançado de excell   120 liçõesCurso avançado de excell   120 lições
Curso avançado de excell 120 lições
Lilian Gomes
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
Helder Lopes
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
Jorge Ávila Miranda
 
Sql junções
Sql junçõesSql junções
Sql junções
Reuel Lopes
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
Nadia Habu
 
Manual microsoft-access-2007
Manual microsoft-access-2007Manual microsoft-access-2007
Manual microsoft-access-2007
Klever Pereira
 
Apostila Access 2000.pdf
Apostila Access 2000.pdfApostila Access 2000.pdf
Apostila Access 2000.pdf
ssuser382e50
 
Normalização Banco de Dados
Normalização Banco de DadosNormalização Banco de Dados
Normalização Banco de Dados
Kablo Skater Rail
 
Melhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlMelhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySql
Helder Lopes
 
Sabe Tutorial V - Recursos Avançados
Sabe Tutorial V - Recursos AvançadosSabe Tutorial V - Recursos Avançados
Sabe Tutorial V - Recursos Avançados
Marcelo Dias
 
Sistemas de Informação II
Sistemas de Informação IISistemas de Informação II
Html - capitulo 11
Html - capitulo 11Html - capitulo 11
Html - capitulo 11
Alvaro Gomes
 
Apostila - Aula 1.pdf
Apostila - Aula 1.pdfApostila - Aula 1.pdf
Apostila - Aula 1.pdf
MarceloAline1
 

Semelhante a BD I - Aula 06 B - Parte 2 - Teorico Formas Normais (20)

[Certificacao ] normalizacao de dados e as formas normais
[Certificacao ]  normalizacao de dados e as formas normais[Certificacao ]  normalizacao de dados e as formas normais
[Certificacao ] normalizacao de dados e as formas normais
 
Training presentation design the tables for a new database af102720169
Training presentation   design the tables for a new database af102720169Training presentation   design the tables for a new database af102720169
Training presentation design the tables for a new database af102720169
 
Training presentation create tables for a new database af102719985
Training presentation   create tables for a new database af102719985Training presentation   create tables for a new database af102719985
Training presentation create tables for a new database af102719985
 
LabMM4 (T09 - 12/13) - Integridade referencial e normalização
LabMM4 (T09 - 12/13) - Integridade referencial e normalizaçãoLabMM4 (T09 - 12/13) - Integridade referencial e normalização
LabMM4 (T09 - 12/13) - Integridade referencial e normalização
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
 
Tipos de dados do MySQL 5
Tipos de dados do MySQL 5Tipos de dados do MySQL 5
Tipos de dados do MySQL 5
 
Capítulo 05.pdf vida de programador só tô criando conversa você não tem outra...
Capítulo 05.pdf vida de programador só tô criando conversa você não tem outra...Capítulo 05.pdf vida de programador só tô criando conversa você não tem outra...
Capítulo 05.pdf vida de programador só tô criando conversa você não tem outra...
 
Curso avançado de excell 120 lições
Curso avançado de excell   120 liçõesCurso avançado de excell   120 lições
Curso avançado de excell 120 lições
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
Sql junções
Sql junçõesSql junções
Sql junções
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
 
Manual microsoft-access-2007
Manual microsoft-access-2007Manual microsoft-access-2007
Manual microsoft-access-2007
 
Apostila Access 2000.pdf
Apostila Access 2000.pdfApostila Access 2000.pdf
Apostila Access 2000.pdf
 
Normalização Banco de Dados
Normalização Banco de DadosNormalização Banco de Dados
Normalização Banco de Dados
 
Melhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlMelhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySql
 
Sabe Tutorial V - Recursos Avançados
Sabe Tutorial V - Recursos AvançadosSabe Tutorial V - Recursos Avançados
Sabe Tutorial V - Recursos Avançados
 
Sistemas de Informação II
Sistemas de Informação IISistemas de Informação II
Sistemas de Informação II
 
Html - capitulo 11
Html - capitulo 11Html - capitulo 11
Html - capitulo 11
 
Apostila - Aula 1.pdf
Apostila - Aula 1.pdfApostila - Aula 1.pdf
Apostila - Aula 1.pdf
 

Mais de Rodrigo Kiyoshi Saito

Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - ExerciciosAlgoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - Exercicios
Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio EnunciadoAlgoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 16 - Registros
Algoritmos - Aula 16 - RegistrosAlgoritmos - Aula 16 - Registros
Algoritmos - Aula 16 - Registros
Rodrigo Kiyoshi Saito
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelas
Rodrigo Kiyoshi Saito
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelas
Rodrigo Kiyoshi Saito
 
BD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DMLBD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DML
Rodrigo Kiyoshi Saito
 
BD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - EnunciadoBD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - Enunciado
Rodrigo Kiyoshi Saito
 
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub SelectsBD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisAlgoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Rodrigo Kiyoshi Saito
 
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
Rodrigo Kiyoshi Saito
 
BD I - Aula 13 B - Agrupando Dados - Parte 04
BD I - Aula 13 B - Agrupando Dados  - Parte 04BD I - Aula 13 B - Agrupando Dados  - Parte 04
BD I - Aula 13 B - Agrupando Dados - Parte 04
Rodrigo Kiyoshi Saito
 
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
Rodrigo Kiyoshi Saito
 
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em CAlgoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em C
Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em CAlgoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em C
Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em CAlgoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em C
Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - CondicoesAlgoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc SaidaAlgoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Rodrigo Kiyoshi Saito
 

Mais de Rodrigo Kiyoshi Saito (20)

Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
 
Algoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - ExerciciosAlgoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - Exercicios
 
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio EnunciadoAlgoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
 
Algoritmos - Aula 16 - Registros
Algoritmos - Aula 16 - RegistrosAlgoritmos - Aula 16 - Registros
Algoritmos - Aula 16 - Registros
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelas
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelas
 
BD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DMLBD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DML
 
BD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - EnunciadoBD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - Enunciado
 
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub SelectsBD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisAlgoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
 
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
 
BD I - Aula 13 B - Agrupando Dados - Parte 04
BD I - Aula 13 B - Agrupando Dados  - Parte 04BD I - Aula 13 B - Agrupando Dados  - Parte 04
BD I - Aula 13 B - Agrupando Dados - Parte 04
 
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
 
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
 
Algoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em CAlgoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em C
 
Algoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em CAlgoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em C
 
Algoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em CAlgoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em C
 
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - CondicoesAlgoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
 
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc SaidaAlgoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
 

Último

A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIASA SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
HisrelBlog
 
Aula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sonsAula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sons
Érika Rufo
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
wagnermorais28
 
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
Eró Cunha
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
DECIOMAURINARAMOS
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
joseanesouza36
 
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptxAVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AntonioVieira539017
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
cmeioctaciliabetesch
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
profesfrancleite
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
fernandacosta37763
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
slides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentarslides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentar
JoeteCarvalho
 
Testes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdfTestes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdf
lveiga112
 
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptxAula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
edivirgesribeiro1
 
Rimas, Luís Vaz de Camões. pptx
Rimas, Luís Vaz de Camões.          pptxRimas, Luís Vaz de Camões.          pptx
Rimas, Luís Vaz de Camões. pptx
TomasSousa7
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
ValdineyRodriguesBez1
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
AntnioManuelAgdoma
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
Manuais Formação
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
MateusTavares54
 

Último (20)

A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIASA SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
 
Aula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sonsAula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sons
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
 
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
 
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptxAVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
slides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentarslides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentar
 
Testes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdfTestes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdf
 
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptxAula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
 
Rimas, Luís Vaz de Camões. pptx
Rimas, Luís Vaz de Camões.          pptxRimas, Luís Vaz de Camões.          pptx
Rimas, Luís Vaz de Camões. pptx
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
 

BD I - Aula 06 B - Parte 2 - Teorico Formas Normais

  • 1. Rodrigo Kiyoshi Saito / rodrigok@anchieta.br BANCO DE DADOS I
  • 3. FORMAS NORMAIS • Segundo BATTIST (2005, P. 16), o objetivo da normalização é evitar os problemas provocados por falhas no projeto do Banco de Dados, bem como eliminar a “mistura” de assuntos e as correspondentes redundâncias de dados. • A normalização de tabelas é utilizada para tentar detectar erros no projeto das tabelas e atributos de cada tabela e corrigir estes erros, antes da criação e utilização do Banco de Dados.
  • 4. FORMAS NORMAIS • É bem mais fácil (e barato), corrigir os erros na fase de projeto do que depois que o Banco de Dados já estiver em uso. • Uma “Regra de ouro” que devemos observar quanto ao projeto de banco de dados é a de “não misturar assuntos em uma mesma tabela”.
  • 5. FORMAS NORMAIS • GUIMARAES (2003, p.81) complementa que existe um considerável aparato teórico por trás dos conceitos de normalização de relações. As razões para estudá-los, no entanto, são de ordem prática. Eles nos vão ajudar a projetar base de dados com menos possibilidade de inconsistências e menos redundâncias de informação.
  • 6. FORMAS NORMAIS • Eles também vão ajudar a determinar com mais precisão certos tipos de restrições sobre atributos de uma relação assim como a determinação das suas possíveis chaves.
  • 7. FORMAS NORMAIS • Por exemplo, na tabela Clientes, devemos colocar somente campos relacionados com o assunto Clientes. Não devemos misturar campos relacionados com outros assuntos, tais como pedidos, produtos etc. Essa “mistura de assuntos” em uma mesma tabela acaba por gerar repetição desnecessária dos dados bem como inconsistências dos dados.
  • 8. FORMAS NORMAIS • O processo de normalização aplica uma série de regras sobre as tabelas de banco de dados, para verificar se estas estão corretamente projetadas. Embora existam cinco formas normais (ou regras de normalização), na prática usamos um conjunto de três formas normais.
  • 9. FORMAS NORMAIS • Frequentemente, após a aplicação das regras de normalização, algumas tabelas acabam sendo divididas em duas ou mais, o que no final gera um número maior de tabelas do que o número de tabelas originalmente projetado.
  • 10. FORMAS NORMAIS • Este processo causa a simplificação dos atributos de uma tabela, colaborando significativamente para a estabilidade do projeto de banco de dados, reduzindo-se as necessidades de manutenção e alterações, após o banco ter sido colocado em produção.
  • 11. Primeira Forma Normal • BATTIST diz que a Regra: “Uma tabela está na Primeira Forma Normal quando seus atributos não contem grupos de repetição”. Por isso dizemos que uma tabela que possui grupos de repetição não está na Primeira Forma Normal.
  • 12. Primeira Forma Normal • Exemplo de uma tabela que não está normalizada na 1 FN (BATTIST, 2005, p.17)
  • 13. Primeira Forma Normal • GUIMARAES (p.84) diz que a 1FN é considerada como a própria definição do MR: Toda relação está em 1FN, isto é, não possui atributos multivalorados nem relações aninhadas e será tomada como implícita.
  • 14. Primeira Forma Normal • Podemos notar que uma tabela com esta estrutura apresenta diversos problemas. Por exemplo, se um casal tiver mais do que um filho, teríamos que digitar o nomes do pai e da mãe diversas vezes, tantas quantos forem os filhos. Isso forma um grupo de repetição.
  • 15. Primeira Forma Normal • Pode ser que, por erro de digitação, o nome dos pais não apareça exatamente igual todas as vezes, o que pode acarretar problemas na hora de fazer pesquisas ou emitir relatórios. Este problema ocorre porque misturamos assuntos em uma mesma tabela. Colocamos as informações dos pais e dos filhos em uma mesma tabela. (BATTIST, p. 17)
  • 16. Primeira Forma Normal • A solução para este problema é simples: criamos uma tabela separada para a informação dos pais e relacionamos a tabela Pais com a tabela Filhos através de um relacionamento do tipo Um para Muitos, ou seja, um casal pode ter vários filhos.
  • 17. Primeira Forma Normal • As Tabelas Pais e Filhos estão na Primeira Forma Normal (BATTIST, 2005, p.17)
  • 18. Primeira Forma Normal • As duas tabelas resultantes da aplicação da Primeira Forma Normal, Pais e Filhos, estão na Primeira Forma Normal. A tabela original, a qual misturava informações de pais e filhos, não está na Primeira Forma Normal.
  • 19. Primeira Forma Normal • OLIVEIRA (2002, p.53) complementa que a solução para este caso é que devemos separar a informação que se repete em uma nova entidade. Devemos ainda levar a chave primaria da entidade original para a nova entidade gerada (caso contrário, não haverá como relacionar as informações das duas entidades). Feito isso, criaremos a nova chave para a nova entidade.
  • 20. Primeira Forma Normal • Normalmente podemos localizar um campo que, unido à chave da entidade original, formará a chave da nota tabela (nesse caso, chave concatenada), ou podemos criar um campo para esse fim, caso não exista, Há a possibilidade de criarmos simplesmente uma nova chave não concatenada e independente da entidade original. É uma questão de preferência.
  • 22. Primeira Forma Normal • Utiliza-se o campo Numero da Faixa como atributo-chave junto com o CodigoDoCD, pois não poderá haver duas faixas com o mesmo número em um único CD. Essa é, portanto, uma chave concatenada.
  • 23. Segunda Forma Normal • Podemos aplicar a Segunda Forma Normal quando tivermos uma chave primária composta. Neste caso, devemos observar se todos os campos, que não fazem parte da chave primária composta, dependem de todos os campos que compõem a chave primária composta. Se algum campo depender somente de parte da chave primária composta, então este campo deve pertencer a outra tabela. (BATTIST, 2005, P.17)
  • 24. Segunda Forma Normal • Tabela que não está na segunda forma normal (BATTIST, 2005, p.18)
  • 25. Segunda Forma Normal • A chave primária composta é formada pela combinação dos campos NúmeroDaMatricula e CódigoDoCurso. • O campo Avaliação depende tanto do CódigoDoCurso quanto Do NúmeroDaMatricula (cada aluno – representado por sua matricula, tem uma nota em cada disciplina – representada pelo campo CódigoDoCurso), porém o campo DescriçãoDoCurso depende apenas do CódigoDoCurso (a descrição do curso não tem relação com o NúmeroDaMatricula).
  • 26. Segunda Forma Normal • Com isso, temos um campo que não faz parte da chave primária composta e depende apenas de um dos campos que compõem a chave primária composta. Assim podemos dizer que esta tabela não está na Segunda Forma Normal. (BATTIST, 2005, P.18)
  • 27. Segunda Forma Normal • A resolução para este problema também é simples: dividimos a tabela, que não está na Segunda Forma Normal, em duas outras tabelas, conforme indicado pela figura abaixo, sendo que as duas tabelas resultantes estarão na segunda forma normal.
  • 28. Segunda Forma Normal • Duas tabelas que estão na Segunda Forma Normal:
  • 29. Segunda Forma Normal • OLIVEIRA (2002, p.56) diz que uma entidade está na segunda forma normal quando todos os seus atributos não chave dependem unicamente da chave. Assim, deve-se perguntar a cada atributo, que não seja a chave da entidade, se ele depende apenas da chave da entidade. O que se procura com isso é medir o grau de dependência entre os atributos.
  • 30. Segunda Forma Normal • Apenas coisas semelhantes podem ser unidas em grupos semelhantes (entidades nada mais são do que um grupo ou conjunto). A solução sugerida para esse problema é ao identificarmos uma situação como a descrita anteriormente, devemos separar os atributos independentes e criar ou identificar dentre os atributos separados uma nova chave para esta nova entidade.
  • 31. Segunda Forma Normal • Essa chave deve ser mantida na entidade original como o atributo de relacionamento entre ambas as entidades. Dessa forma, não se perde qualquer informação no modelo.
  • 32. Segunda Forma Normal • No exemplo anterior, a gravadora, o Autor e a Musica são independentes de suas entidades, CD e Item_CD. Veja que já uma enorme vantagem ao separarmos esses atributos independentes, visto quem se não o fizéssemos, cada alteração em uma das informações deveria ser estendida a todas as linhas da entidade.
  • 33. Segunda Forma Normal • É muito mais fácil fazer isso apenas na nova entidade criada. Como a relação se dá por meido do campo-chave, não há necessidade de alterar todas as ocorrências em CD ou Item_CD, apenas nas entidades Autor, Gravadora ou Musica.
  • 34. Segunda Forma Normal • A inclusão de novos atributos também é facilitdada. Atributos que venham a ser relavantes serão acrescentados direamente na entidade Autor (como Data de Nascimento) ou Gravadora (como Endereço e Home Page)
  • 36. Terceira Forma Normal • Segundo BATTIST (p.21), na definição dos campos de uma tabela podem ocorrer casos em que um campo não seja dependente diretamente da chave primária, ou de parte dela, mas sim dependente de um outro atributo constante na tabela, atributo este que não seja a chave primária.
  • 37. Terceira Forma Normal • Quando isso ocorre, dizemos que a tabela não está na Terceira Forma Normal, conforme indicado pela figura seguinte:
  • 38. Terceira Forma Normal • Uma tabela que não está na Terceira Forma Normal:
  • 39. Terceira Forma Normal • Observe que o campo DescriçãoDoCurso depende apenas do campo CodigoDoCurso, o qual não faz parte da chave primária. Por isso dizemos que esta tabela não está na Terceira Forma Normal. • A solução para este caso também é simples. Novamente basta dividir a tabela em duas outras, conforme indicado pela figura abaixo. As duas tabelas resultantes estão na Terceira Forma Normal.
  • 40. Terceira Forma Normal • Duas tabelas que estão na Terceira Forma Normal:
  • 41. Terceira Forma Normal • OLIVEIRA (p.60) diz que uma entidade está terceira forma normal quando todos os seus atributos não chave não dependem de nenhum outro atributo não chave. Utilizando palavras mais simples, pode-se dizer que um atributo não deve depender de outro atributo. Isso ocorre normalmente em cálculos matemáticos ou em atributos “perdidos” na entidade errada.
  • 42. Terceira Forma Normal • Se guardamos eles são resultados de uma operação entre dois atributos. Se guardarmos esse valor, estaremos apenas ocupando espaço e abrindo a possibilidade de termos uma informação inconsistente no banco de dados;
  • 43. Terceira Forma Normal • Exemplo: No nosso exemplo, o atributo TempoTotal é dependente de outro atributo não chave: Tempo, na entidade musica. Ao somarmos o tempo de cada faixa do CD, teremos o tempo total de gravação do CD. Esse campo deve ser eliminado, sem perda de informação para o modelo de dados.
  • 45. Exercício - Formas Normais • Dado a seguinte figura, defina as tabelas utilizando as seguintes formas normais: 1FN, 2FN e 3FN:

Notas do Editor

  1. As duas tabelas resultantes da aplicação da Primeira Forma Normal, Pais e Filhos, estão na Primeira Forma Normal. A tabela original, a qual misturava informações de pais e filhos, não está na Primeira Forma Normal.   Já OLIVEIRA (2002, p. 53) diz que uma entidade está na primeira forma normal quando nenhum de seus atributos (na estrutura) possui repetições. Isso significa que os atributos são indivisíveis ou que possuem apenas um valor por célula. Deve-se portanto, validar cada um dos atributos de forma a identificar se este possui um único valor para cada ocorrência da entidade. Veja que o valor (conteúdo) do atributo pode, e normalmente é, ser diferente em cada ocorrência da entidade (registro). O que se deve evitar é a ocorrência de mais de um atributo com a mesma característica em um mesmo registro. Por exemplo, há várias ocorrências do atributo Produto em uma Nota Fiscal. Não é possível determinar se será comprado um ou mais produtos em uma única Nota Fiscal. Portanto, Produto é um atributo repetitivo na entidade Nota Fiscal e deve ser aplicada a primeira regra de normalização.
  2. Se guardamos eles são resultados de uma operação entre dois atributos. Se guardarmos esse valor, estaremos apenas ocupando espaço e abrindo a possibilidade de termos uma informação inconsistente no banco de dados. Veja: digamos que alguém altere a Quantidade ou o ValorUnitario, ou o ValorTotal do item de uma NotaFiscal. Como saberemos qual informação é correta? Solução: ao depararmos com essa situação, devemos realizar a seguinte análise: se o atributo for resultado de um cálculo matemático, devemos simplesmente excluir esse atributo, uma vez eu ele não acrescenta nada ao modelo de dados. Se for um grupo de informações relacionadas, devemos aplicar a Segunda Forma Normal. Se for um atributo “perdido”, devemos reconduzi-lo à Entidade da qual depende.