allynson praxedes soares aps2@cin.ufpe.br java avançado projetando uma base de dados
Post on 21-Apr-2015
113 Views
Preview:
TRANSCRIPT
Allynson Praxedes Soares
aps2@cin.ufpe.br
Java Avançado
Projetando uma base de dados
Allynson Praxedes Soares – aps2@cin.ufpe.br
Modelo Relacional
• Chave candidata– Um conjunto de atributos pode identificar uma única
ocorrência em uma tabela, mas, um atributo deve ser identificado como chave primária.
• Chave Estrangeira– Um atributo que corresponde a uma chave primária
em uma relação.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Modelo Relacional
• Restrições de integridade– Integridade de Domínio: diz respeito ao controle
sintático e semântico de um dado e faz referência ao tipo de definição do domínio.
– Integridade de Entidade: diz respeito aos valores de chave primária que devem ser únicos e não nulos.
– Integridade Referencial: diz respeito aos valores de um atributo chave estrangeira e os valores do atributo chave primária correspondente.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Álgebra Relacional
• Operadores clássicos sobre conjuntos
– União, interseção e diferença
• Operadores relacionais
– Seleção, projeção, junção e divisão
Allynson Praxedes Soares – aps2@cin.ufpe.br
Álgebra relacional
• Seleção e projeção
Allynson Praxedes Soares – aps2@cin.ufpe.br
Álgebra Relacional
Junção
Allynson Praxedes Soares – aps2@cin.ufpe.br
Álgebra Relacional
• Divisão
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• As formas normais que serão trabalhadas:
• 1 NF• 2 NF• 3 NF• 4 NF
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
Esta tabela está mal projetada!
• 1) Se Pelé mudar de endereço ? (anomalia de atualização)
• 2)Um novo esporte para Pelé ? (anomalia de inclusão)
• 3) Retirar Pelé do Banco de Dados (anomalia de remoção)
HABILIDADES-ESPORTIVASIdentidade Nome Endereço Habilidade8795835 Édson Arantes Ponta da Praia Futebol8795835 Édson Arantes Ponta da Praia Voleibol8795835 Édson Arantes Ponta da Praia Basquete8795835 Édson Arantes Ponta da Praia Atletismo8795835 Édson Arantes Ponta da Praia Tênis
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Idealmente:
Mas o atributo habilidade não é atômico, o que é possível fazer dentro do modelo relacional?
Idealmente:
HABILIDADES-ESPORTIVASIdentidade Nome Endereço Habilidade
8795835 Édson Arantes Ponta daPraia
{Futebol,
Voleibol,Basquete,Atletismo,Tênis}
Mas isto não é uma tabela (atributo habilidadenão é atômico)! O que é possível fazer, dentrodo modelo relacional?
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Primeira forma normal:• Uma relação está na primeira forma normal, quando todos os
seus atributos são atômicos.ESPORTISTASIdentidade Nome Endereço
8795835 Édson Arantes Ponta da Praia... ... ...
HABILIDADESIdentidade Esporte
8795835 Futebol8795835 Voleibol8795835 Basquetebol8795835 Atletismo8795835 Tênis
A repetição da coluna Identidade é uma redundâncianecessária
Atleta
Habilidade
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Dependência funcional– Um atributo é funcionalmente dependente de outro se um
valor do primeiro corresponde a um único valor do segundo.
Ncli CPF end tel Pcod Nprod Vunit qtd tot
Zé 111 ABC 123 A Lápis 0,50 2 1,00
Ana 222 XYZ 456 B Caneta 1,00 3 3,00
João 333 XPT 789 C Régua 1,00 2 2,00
Pedro 444 KZZ Null A Lápis 0,50 20 10,00
CPF Ncli, End, Tel Pcod Nprod, Vunit CPF, Pcod Qtd, Tot
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Super ChaveUma super-chave de uma relação R é qualquer subconjunto dos atributos de R cujos valores não se repetem em R.
Ncli CPF Id Tel
Zé 111 100 123
Ana 222 300 456
Maria 777 400 123
Pedro 444 200 Null
Exemplo: São exemplos de super-chave:
(CPF, Id),(CPF, Tel),(CPF, Ncli),
(Id,Ncli),(Id, Id, Tel)
(CPF),(Id)
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Chave candidata
Uma chave candidata de uma relação R é uma super-chave que possua a menor quantidade possível de atributos.
Ncli CPF Id Tel
Zé 111 100 123
Ana 222 300 456
Maria 777 400 123
Pedro 444 200 Null
Exemplo:
São exemplos de Chaves-Candidatas:
(CPF),(Id)
Uma das Chaves-Candidatas deve ser
“eleita” como PK
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Segunda forma normal– Uma relação está na Segunda Forma Normal (2NF)
se ela está na 1NF e todo atributo não chave é plenamente dependente da chave primária.
Ncli CPF end tel Pcod Nprod Vunit qtd tot
Zé 111 ABC 123 A Lápis 0,50 2 1,00
Ana 222 XYZ 456 B Caneta 1,00 3 3,00
Zé 111 ABC 123 C Régua 1,00 5 5,00
Pedro 444 KZZ Null A Lápis 0,50 20 10,00
CPF Ncli, End, Tel
Pcod Nprod, Vunit
CPF, Pcod Ncli, End, Tel, Nprod, Vunit
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Dependência funcional Total– A, B, C => D (D é totalmente funcionalmente
dependente de {A, B, C}) se para todo valor de {A, B, C} só existe um valor de D, e se D não é funcionalmente dependente de A, ou B, ou C.
Ncli CPF end tel Pcod Nprod Vunit qtd tot
Zé 111 ABC 123 A Lápis 0,50 2 1,00
Ana 222 XYZ 456 B Caneta 1,00 3 3,00
João 333 XPT 789 C Régua 1,00 2 2,00
Pedro 444 KZZ Null A Lápis 0,50 20 10,00
CPF, Pcod Qtd, Tot CPF não determina Qtd, Tot Pcod não determina Qtd, Tot
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Dependência funcional Transitiva
– Ocorre quando Y depende de X e Z depende de Y.– Logo, Z também depende de X.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Dependência funcional TransitivaMat Nome End CodCargo CNome Salario
A relação Funcionário está na 2FN pois possui somente atributos atômicos e não apresenta dependência parcial da PK.
CodCargo CNome, Salario
Mat CodCargo Há dependência transitiva da PK !!!
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Terceira forma normal• Uma relação está na Terceira Forma Normal
(3NF) se ela está na 2NF e nenhum atributo não-chave é transitivamente dependente da chave primária.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
A relação Funcionario não está na 3FN pois possui dependência transitiva com relação à PK.
Pergunta-se: como normalizá-la para a 3FN ?
Separando a relação em duas ou mais de forma a eliminar a dependência transitiva:
Funcionario(Mat, Nome, End, CodCargo)
Cargo(Cod, CNome, Salario)
Exemplo: Relação FUNCIONARIO
Mat Nome End CodCargo CNome Salario
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Forma normal de Boyce-Codd• Uma relação está na Forma Normal de
Boyce/Codd (BCNF) se está na 3FN e todo determinante é uma chave candidata.
Aluno Disciplina Tutor
Tutor Disciplina
Aluno, Disciplina Tutor
Há dependência transitiva da PK !!!
Tutoria(Tutor, Disciplina)
Cursa(Tutor, Aluno)
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Dependência Multivalorada– Dada uma relação R com atributos A, B, C,
existe uma dependência multivalorada do atributo A no atributo B (A à B) se um valor de A é associado a uma coleção específica de valores de B, independente de quaisquer valores de C.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Dependência MultivaloradaTem-se as dependências multivaloradas
Nome | Matéria
e
Nome | Orientando.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Dependência Multivalorada
– > A DMV só existe se R tem no mínimo 3 atributos
– > Dada R(A, B, C), a DMV existe se também existir. Daí a notação:
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Quarta forma normal– Uma relação está na Quarta Forma Normal
(4NF) se ela está na 3NF (BCNF) e não existem dependências multivaloradas.
– Como corrigir?• Separar a relação em relações, cada uma
contendo o atributo (A) que multidetermina os outros (B, C), ou seja, R1 (A, B) e R2 (A, C).
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Quarta forma normal
Allynson Praxedes Soares – aps2@cin.ufpe.br
Modelo Relacional
• Exercício
Allynson Praxedes Soares – aps2@cin.ufpe.br
Modelo Relacional
• Passo 1:Para cada entidade regular E no esquema ER,
criar uma relação R que inclui todos os
atributos de R.
• Exemplo:
Allynson Praxedes Soares – aps2@cin.ufpe.br
Modelo Relacional
• Passo 2:Para cada entidade fraca W no esquema E-R que tenha como entidade proprietária E, criar uma relação R e incluir todos os atributos de W como atributos de R, incluir o(s) atributo(s) chave primária da relação proprietária E.
• A chave primária de R é a combinação da chave primária de E e da chave parcial de W.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Modelo Relacional
• Passo 3:• Para cada relacionamento R de 1:1 no esquema ER,
– identificar as relações das entidades participando do relacionamento R,
– escolher uma das relações e incluir como chave estrangeira, a chave primária da outra relação,
– incluir todos os atributos do relacionamento na relação escolhida.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Modelo Relacional
Note que um mapeamento alternativo de umrelacionamento 1:1 é possível juntando as duasentidades em uma única relação. Isto é apropriadoquando as entidades não participam de outrosrelacionamentos.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Modelo Relacional
• Passo 4:– Para cada relacionamento regular (não fraco) 1:N,– identificar a relação S que representa a entidade do
lado N,– incluir como chave estrangeira a chave primária da
relação que representa a entidade do lado 1,– incluir os atributos do relacionamento em S.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Modelo Relacional
• Passo 5:– Para cada relacionamento R de M:N,– criar uma nova relação para representar R,– incluir como chave estrangeira as chaves primárias
das relações que participam em R, estas chaves combinadas formarão a chave primária da relação,
– incluir também eventuais atributos de R.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Normalização
• Passo 6:• Para cada atributo multivalorado A, criar uma nova
relação R, incluindo um atributo correspondendo a A mais a chave primária K da relação que tem A como atributo.
• A chave primária de R é a combinação de A e K.
Allynson Praxedes Soares – aps2@cin.ufpe.br
Modelo Relacional
Allynson Praxedes Soares – aps2@cin.ufpe.br
Ferramentas Case
• DB Design
– Desenvolver o modelo acima nesta ferramenta case e criar o script SQL
top related