Upload
marta-benevides-raminhos
View
219
Download
0
Embed Size (px)
Citation preview
Tema 6 - Mapeamento do Modelo Entidade-Relacionamento para o Modelo Relacional.
Tema 7 – Introdução a Linguagem SQL.Professor Me. Jeferson Bussula Pinheiro.
Para início de Conversa!
Objetivos deste encontro• Objetivo da normalização• Funcionamento de cada forma normal (FN)• Melhor forma normal a ser utilizada• Transformar MER em modelo relacional• Linguagem de manipulação de dados. • Linguagem de definição de dados. • Tipos para definição de dados.
Objetivo da normalização
• Normalização é um recurso que evita anomalias na geração de tabelas para o modelo relacional, através da aplicação de regras sucessivas, conhecidas como formas normais (FN).
1ª Forma Normal (1FN)
• Define que não devem existir campos multivalorados em uma tabela ou subgrupos de atributos repetidos.
• Converter atributos não atômicos em atributos atômicos, impossibilitando a inserção de mais que um valor em cada campo de uma tabela.
• Eliminar os atributos repetidos, considerando-os elementos de uma nova tabela.
1ª Forma Normal (1FN)
1ª Forma Normal (1FN)
O campo “itens” possui diversos valores, caracterizando um campo multivalorado.
Fonte: Caderno de atividades
1ª Forma Normal (1FN)
Fonte: Caderno de atividades
• Eliminar os grupos de repetição.
Fonte: Caderno de atividades
2ª Forma Normal (2FN)
• Toda relação deve estar na 1FN e deve-se eliminar dependências funcionais parciais, ou seja, todo atributo não chave deve ser totalmente dependente da chave primária.
Fonte: Caderno de atividades
Fonte: Caderno de atividades
3ª Forma Normal (3FN)
• Toda relação deve estar na 2FN e deve-se eliminar dependências funcionais transitivas, ou seja, todo atributo não chave deve ser mutuamente independente.
Fonte: Caderno de atividades
4ª Forma Normal (4FN)
• Deve estar na 3FN.• É baseada na remoção de
dependências multivaloradas, como é o caso de um provável campo que trate vários telefones.
Boyce and Codd Normal Form (BCNF)
• Uma relação está na BCNF se e somente se todo determinante é chave candidata.
• Um determinante é qualquer atributo do qual algum outro atributo é funcionalmente dependente.aluno
disciplina
instrutor
Continuando...
DML, DDL, DCL! O que é isso?
• A linguagem SQL é composta por inúmeros comandos, os quais são agrupados da seguinte maneira:– Comandos que definem dados;– Comandos que manipulam dados;– Comandos de controle de dados.
DML, DDL, DCL e SQL
DDL
• CREATE TABLE – cria uma nova tabela (relação) no BD nova
tabela não possui dados• DROP TABLE
– remove uma tabela e sua instância do BD
• ALTER TABLE– altera a estrutura de uma tabela já existente
no BD
CREATE TABLE• Cria uma nova tabela (relação)• Cria os atributos da nova tabela, com
– nome do atributo: Ai (1 <= i <= n)– tipo de dado (domínio do atributo): Di– restrições que atuam no atributo: Ri
DROP TABLE
• Remove uma tabela existente do BD– Dados– Indices, etc.
• Usuários autorizados– Proprietário do banco de dados– DBA.
ALTER TABLE
• Altera o esquema de uma tabela do BD
Exemplos de alter table
DML• Insert
– Inserir dados • insert into aluno (id, nome) values (1, ‘Ana’);
• Update– Atualizar dados
• update aluno set nome =‘Ana’ where id = 1;• Delete
– Deletar dados• Delete from aluno where id = 1;
DML
• Select– Selecionar dados
• Select * from aluno;
DCL
• Revoke– Revogar permissões
• Grant– Conceder permissões
Exemplos de Tipos de Dados
• Numéricos– Integer, float, number ...
• Hora/Data– Date (YYYY-MM-DD), time (HH-MM-SS), ...
• Strings– Char, varchar, nchar, ...
• Binário– Blob, lob
• Etc.
Restrições de Integridade
• Valor nulo– representado por NULL – membro de todos os domínios
• Restrição NOT NULL– especificada quando NULL não é
permitido– proíbe que o atributo receba valor
nulo
Vamos Praticar!!??
ExercíciosConsidere para um sistema de encomenda onde temos o seguinte documento.
Empresa e Cia, Ltda.Rua 15 de Novembro, 234– Campo Grande-MSCNPJ – 02.987.405.0001-60
Encomenda nº 2125Data: 05/02/2014
Cliente Jeferson Bussula PinheiroRua Semíramis, 234 Campo Grande-MS - CPF: 111.111.111.11
Código Descrição Qtde Desconto Preço Total
2 Impressora 3 0 230,00 690,005 Pen Drive 2 0 40,00 80,00
8 Not Book 1 0 2350,00 2350,00Total Encomenda 3120,00
1. Quais os campos envolvidos na encomenda?
R: Cod_enc, Data_enc, CPF_cliente, nome_cliente, endereco_cliente, cod_produto, descricao_produto, qtde_produto, preco_produto, desconto, total_produto, total_encomenda
2. Considerando o sistema de encomenda, aplique a 1FN (“Eliminar
os grupos repetidos”) .R:
Encomenda
Cod_enc
Data_enc
CPF_cliente
nome_cliente
endereco_cliente
total_encomenda
Encomenda_Produto
Cod_enc
cod_produto
descricao_produto
qtde_produto
preco_produto
desconto
total_produto
3. Considerando o sistema de encomenda, aplique a 2FN. (“atributos não-chave são funcionalmente dependentes ”)
R:
Encomenda
Cod_enc
Data_enc
CPF_cliente
nome_cliente
endereco_cliente
total_encomenda
Encomenda_Produto
Cod_enc
cod_produto
desconto
qtde_produto
total_produto
Produto
cod_produto
descricao_produto
preco_produto
4. Considerando o sistema de encomenda, aplique a 3FN. (“nenhum atributo não-chave funcionalmente de nenhum outro
atributo não-chave”).
R:Encomenda
Cod_enc
Data_enc
CPF_cliente
total_encomenda
Encomenda_Produto
Cod_enc
cod_produto
desconto
qtde_produto
total_produto
Produtocod_produto
descricao_produto
preco_produto
cliente
CPF_cliente
nome_cliente
endereco_cliente
6. Informe pelo menos três tipos de dados que podemos definir nos campos em uma tabela no banco de dados relacional?
R:
Finalizando...
Revisando...
• Objetivo da normalização.– O grau de normalização possui
grande importância para definir o comportamento e a forma das tabelas, campos e registros.
Formas normais
• 1FN– Excluir repetições.
• 2FN– Os campos devem ser dependentes
da chave primária.• 3FN
– Todo atributo não chave deve ser independente.
• 4FN– Remoção das dependências.
• BCNF– Uma relação está na BCNF se e
somente se todo determinante é chave candidata.
– Dependência funcional.
– Introdução SQL• DDL
– Tipo de dados• DML
– Insert, update, delete e select• DCL
– Administrativo
• Transformar MER em modelo relacional– Atributos– Relacionamentos– Chaves primárias e estrangeiras
• Melhor forma normal a ser utilizada– Normalizar/Desnormalização