Você está na página 1de 11

Universidade Federal de Alagoas UFAL Campus Arapiraca Banco de Dados I Professor Mrio Hozano Jayane Vieira Silva Fernandes

s Jos Rodrigo Oliveira Lima Merkianny Almeida de Melo Walysson Vital Barbosa Yana Kellen Dioclcio Mendes

Lista de Exerccios - Normalizao

Arapiraca Alagoas, Maro de 2013.

Lista de Exerccios 1. O que normalizao? Resposta: Normalizao o processo de associar atributos relaes de forma a eliminar redundncia de dados quando executada propriamente, assim eliminando as anomalias e problemas de integridade de dados causados por tais redundncias e facilitando o desenvolvimento de um banco de dados bem formulado. 2. Trata-se de uma regra que, se observada no processo de normalizao de dados, considera o banco de dados na terceira forma normal: a) Identificar cada conjunto de dados relacionados com uma chave primria. b) Eliminar os grupos de repetio transformando-os em tabelas individuais. c) Eliminar os campos que no dependem da chave. d) Criar uma tabela separada para cada conjunto de dados relacionados. e) Relacionar as tabelas separadas com uma chave externa. 3. Considere um banco de dados com as relaes R1, R2 e R3 e as respectivas dependncias funcionais abaixo, onde valor_pago o valor pago de imposto de renda no ano e atributos sublinhados formam a chave primria. R1 = {cpf, nome, cpf_conjuge, nome_conjuge} R2 = {cpf, nome, cidade, numero_dependentes} R3 = {cpf, ano, nome, valor_pago} Dependncias funcionais: R1 cpf nome, cpf_conjuge cpf_conjuge nome_conjuge R2 cpf nome, cidade, numero_dependentes R3 cpf nome cpf, ano valor_pago R1, R2 e R3 esto, respectivamente, na: a) primeira, terceira e segundaformas normais. b) primeira, segunda e terceira formas normais. c) segunda, terceira e primeira formas normais. d) segunda, primeira e terceira formas normais. e) terceira, primeira e segunda formas normais.

4. Analisando a tabela a seguir possvel aplicar quais Formas Normais.


Venda(Codvenda, Codproduto, Codcliente, Codcidade, Quantidade, Valortotal) Dependncias funcionais: Codvenda Codcliente Codcliente Codcidade Codvenda, Codproduto Quantidade, Valortotal

a) A 1FN apenas. b) A 2FN apenas. c) A 3FN apenas. d) A 2FN e a 3FN. e) Todas as FN. 5. Considere a tabela a seguir:

- Verifique se a tabela est na 1 Forma Normal, caso no esteja normalize. Resoluo: Todos os clientes possuem Rua, CEP e Bairro, e essas informaes esto na mesma clula da tabela (atributo composto), logo ela no est na primeira forma normal. Para normalizar, deveremos colocar os atributos que compem o atributo composto em uma colunas diferentes.

Mesmo com o ajuste acima, a tabela ainda no est na primeira forma normal, pois h clientes com mais de um telefone e os valores esto em uma mesma clula (atributo multivalorado). Para normalizar ser necessrio criar uma nova tabela para armazenar os nmeros dos telefones e o campo-chave da tabela cliente.

6. De acordo com a normalizao, se necessrio, transforme para 1FN a tabela baixo, onde idCliente chave primria: Cliente
idCliente nomeCliente 1 Joo da Silva 2 Emanuel Bezerra 3 Joo dos Santos 4 Maria Mariana endereco Rua Justiniano, 3300 Travessa Quinze, 200 Av. Brasil, 220 Av. Bandeirantes, 2980 telefones 2342-2342 / 2242-2210 2345-3344 2422-9878 / 2445-3322 / 2444-9755 2355-9875

Devemos observar se temos atributos compostos ou multivalorados. Neste caso, percebemos a presena de um atributo multivalorado na coluna Telefones, logo obedecemos a regra: criaremos uma tabela a parte para organiz-lo da melhor maneira. Cliente
idCliente nomeCliente 1 Joo da Silva 2 Emanuel Bezerra 3 Joo dos Santos 4 Maria Mariana endereco Rua Justiniano, 3300 Travessa Quinze, 200 Av. Brasil, 220 Av. Bandeirantes, 2980

TelefoneCliente
idCliente 1 1 2 3 3 3 4 telefone 2342-2342 2242-2210 2345-3344 2422-9878 2445-3322 2444-9755 2355-9875

7. Normalize a tabela abaixo para a 3FN, onde idPedido e CodProduto formam a chave da tabela: Pedido idPedido 1 2 3 4 Resoluo: Dependncias funcionais: idPedido dataPedido idPedido, codProduto qtde, valorTotal codProduto nomeProduto, valorUnitrio Passo 1: 1 Forma Normal J se encontra na 1FN por no possuir atributos multivalorados ou compostos. Passo 2: 2 Forma Normal O enunciado da questo nos confirma que possui uma chave composta e pelas dependncias funcionais observamos que alguns atributos dependem parcialmente da chave primria. Assim, podemos aplicar a 2FN, devemos deixar cada atributo juntamente com sua chave em uma tabela, logo: Pedido
idPedido 1 2 3 4 codProduto 1234 1235 1235 1234 qtde 2 1 4 6 valorTotal R$ 200 R$ 80 R$ 320 R$ 600

dataPeddo codProduto nomeProduto 01/07/09 1234 HD 250GB 01/07/09 1235 HD 180GB 03/07/09 1235 HD 180GB 05/07/09 1234 HD 250GB

qtde

valorUnitario valorTotal 2 R$ 100 R$ 200 1 R$ 80 R$ 80 4 R$ 80 R$ 320 6 R$ 100 R$ 600

DataPedido
idPedido 1 2 3 4 dataPeddo 01/07/09 01/07/09 03/07/09 05/07/09

Produto
codProduto nomeProduto valorUnitario 1234 HD 250GB R$ 100 1235 HD 180GB R$ 80 1235 HD 180GB R$ 80 1234 HD 250GB R$ 100

Passo 3: 3 Forma Normal

J se encontra na 3FN por no possuir transitividade nas dependncias funcionais. 8. (POSCOMP-2010) O processo de normalizao baseia-se no conceito de forma normal, que uma regra que deve ser obedecida por uma relao para que seja considerada bem projetada.Com base nos conhecimentos sobre normalizao, considere as armativas a seguir. I. A Primeira Forma Normal (1FN) dene que a relao no deve conter atributos no atmicos ou as relaes aninhadas. A ao que deve ser tomada para deixar uma relao na 1FN formar uma nova relao para cada atributo no atmico ou para cada relao aninhada. II. A Segunda Forma Normal (2FN) dene que, alm de estar na 1FN, para as relaes que possuam chaves primrias com vrios atributos, nenhum atributo externo chave deve ser funcionalmente dependente de parte da chave primria. A ao que deve ser tomada decompor e montar uma nova relao para cada chave parcial com seu(s) atributo(s) dependente(s). III. A Terceira Forma Normal (3FN) dene que, alm de estar na 2FN, as relaes no devem ter atributos que no pertenam a uma chave, funcionalmente determinados por outro atributo que tambm no pertena a uma chave (ou por um conjunto de atributos no chave). A ao que deve ser tomada decompor e montar uma relao que contenha o(s) atributo(s) no chave que determina(m) funcionalmente o(s) outro(s) atributo(s). IV. Uma dependncia parcial ocorre quando um atributo, alm de depender da chave primria, depende de outro atributo ou conjunto de atributos da relao. Uma dependncia transitiva ocorre quando um atributo depende apenas de parte de uma chave primria composta. Assinale a alternativa correta. a) Somente as armativas I e IV so corretas. b) Somente as armativas II e III so corretas. c) Somente as armativas III e IV so corretas. d) Somente as armativas I, II e III so corretas. e) Somente as armativas I, II e IV so corretas. 9. Normalize a ficha mdica abaixo seguindo os conceitos de normalizao de dados.

Resoluo: - Passo 1 - Criando a tupla apartir da ficha. PACIENTE (nuPaciente, noPaciente, dtNascimento, sexo, convenio, estadoCivil, rg, telefone, endereco, (nuConsulta, data, medico, diagnostico, (exame, data))) - Passo 2 Eliminando tabelas aninhadas, assim fazendo a 1FN. PACIENTE (nuPaciente, noPaciente, dtNascimento, sexo, estadoCivil, rg, telefone, endereco) CONSULTA (nuPaciente, nuConsulta, data, medico, diagnostico) EXAME (nuPaciente, nuConsulta, nuExame, noExame, data) convenio,

- Passo 3 Verificando se existe dependncia parcial na relao, assim aplicando a 2Fn. PACIENTE (nuPaciente, noPaciente, dtNascimento, sexo, estadoCivil, rg, telefone, endereco) CONSULTA (nuPaciente, nuConsulta, crm, data, diagnostico) CONSULTA_EXAME (nuPaciente, nuConsulta, nuExame, data) MEDICO (crm, nome) EXAME (nuExame, noExame) - Passo 4 Eliminando as dependncias transitivas, aplicando a 3FN. PACIENTE (nuPaciente, noPaciente, dtNascimento, sexo, rg, telefone, endereco, nuConvenio, nuEstadoCivil) CONSULTA (nuPaciente, nuConsulta, crm, data, diagnostico) CONSULTA_EXAME (nuPaciente, nuConsulta, nuExame, data) MEDICO (crm, nome) EXAME (nuExame, noExame) CONVENIO (nuConvenio, nome) ESTADO_CIVIL (nuEstadoCivil, nome) convenio,

10. Examine a relao abaixo: Filial numFilial enderecoFilial B001 Rua Jefferson telefones 503-555-3618, 503555-2727, 503-5556534 206-555-6756, 206555-8836 212-371-3000 206-555-3131, 206555-4112 numGerente nomeGerente 1 Tomas

B002 B003 B004

City Center Plaza 8th Avenue 14th Avenue

2 3 4

Ana Maria Carlos

Dependncias funcionais: numFilial -> enderecoFilial, telefones, numGerente, nomeGerente numGerente -> nomeGerente a) Porque a relao no est na 3FN? Resposta: Pois no est na 1FN que no permite atributos multivalorados (telefones). Como no est na 1FN, tambm no se encontra na 2FN, consequentemente no est na 3FN, que tambm no admite transitividade entre dependncias. b) Demonstre o processo de normalizao dos dados mostrados na relao para a 3FN. Resoluo: A tabela no se encontra na 1FN, pois possui o atributo telefones que multivalorado que no pode estar presente na 1FN. Assim seguimos os seguintes passos: Passo 1: 1 Forma Normal Extrair atributo multivalorado telefones da tabela Filial, criando uma nova tabela TelefoneFilial com chave primria composta pelos atributos numFilial da tabela Filial e telefone, sendo assim possvel armazenar todos os telefones de cada filial: Filial numFilial enderecoFilial B001 Rua Jefferson B002 numGerente nomeGerente 1 Tomas Ana

City Center Plaza 2

B003 B004

8th Avenue 14th Avenue

3 4

Maria Carlos

TelefoneFilial numFilial telefone B001 503-555-3618 B001 503-555-2727 B001 503-555-6534 B002 206-555-6756 B002 206-555-8836 B003 212-371-3000 B004 206-555-3131 B004 206-555-4112 Passo 2: 2 Forma Normal A tabela j se encontra na 2FN. Passo 3: 3 Forma Normal Existe transitividade de dependncia na tabela Filial (numFilial numGerente NomeGerente), ento criaremos a tabela Gerente, extraindo o atributo nomeGerente da tabela Filial e o colocando na nova tabela criada juntamente com o atributo numGerente que passa a ser a chave primria da tabela Gerente. Filial numFilial enderecoFilial B001 Rua Jefferson B002 B003 B004 numGerente 1

City Center Plaza 2 8th Avenue 3 14th Avenue 4

TelefoneFilial numFilial telefone B001 503-555-3618 B001 503-555-2727 B001 B002 B002 B003 B004 B004 503-555-6534 206-555-6756 206-555-8836 212-371-3000 206-555-3131 206-555-4112

Gerente numGerente nomeGerente 1 Tomas Santos 2 3 4 Ana Maria Maria Jos Carlos Andr

c) Identifique as chaves primrias e estrangeiras nas relaes na 3FN. chave primria: Filial: numFilial TelefoneFilial: numFilial, telefone Gerente: numGerente chave estrangeira: Fiilial: numGerente TelefoneFIlial: numFilial

REFERNCIAS Normalizao de dados e as formas normais. [online] Disponvel em: <http://www.luis.blog.br/normalizacao-de-dados-e-as-formas-normais.aspx> Normalizao em Banco de Dados. [online] Disponvel em: <http://www.blogdati.com.br/index.php/2010/03/normalizacao-em-banco-dedados> PIVETTA, Elisa Maria. Modelagem de Dados Normalizao . [online] Disponvel em: <http://www.cafw.ufsm.br/~elisa/bd/normalizacao1.pdf> Database Design: Normalization note & exercises (Up to 3NF). [online] Disponvel em: <http://www.javaguicodexample.com/normalizationnotes.pdf>

Você também pode gostar