Tema 6 - Mapeamento do Modelo Entidade- Relacionamento para o Modelo Relacional. Tema 7 –...

Preview:

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

Recommended