allynson praxedes soares aps2@cin.ufpe.br java avançado projetando uma base de dados

Post on 21-Apr-2015

113 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

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