Escolar Documentos
Profissional Documentos
Cultura Documentos
Banco de Dados
Roteiro
!Conceitos e caractersticas de banco de dados
!
!Modelo Entidade-Relacionamento
!
!Modelo Relacional
!Normalizao
!lgebra Relacional
!SQL
!Independncia de dados
!
!Esquema e Instncia
Projeto Lgico
ALUNO
N
CURSA
cod_alu
DISCIPLINA
ALUNO
CURSA
DISCIPLINA
cod_alu: int
cod_alu: int
cod_disc: int
nom_alu: string
cod_disc: int
nom_disc: string
end_alu: string
nota: real
hor_disc: string
Tabela: CURSA
Tabela: ALUNO
Projeto Fsico
nom_alu
end_alu
cod_alu
cod_disc
nota
FROM ALUNO
MER
!Escolha da tecnologia de banco de dados (tecnologia relacional, por
exemplo) e do SGBD
!
nmero de transaes
Projeto Conceitual
!Desenho do esquema conceitual utilizando um modelo de
dados
!
!Independente do SGBD
! MER Modelo Entidade-Relacionamento
Componentes Bsicos do
MER
!Entidades
!Fortes e Fracas
!
!Relacionamentos
!Grau
!Binrios,
N-rios ou Auto-relacionamentos
!Cardinalidade
!1:1
!1:N
!M:N
Escolha do Paradigma de
Banco de dados e de um SGBD
!Fatores tcnicos, econmicos e polticos
!Custos:
!do SGBD
!do hardware
!da manuteno
!criao ou converso
!Pessoal
!Treinamento
!Operao
Projeto Lgico
!Transformar o Modelo de Dados Conceitual, em um
base
em
alguma
!No
Modelo Lgico
!Modelo Relacional
!Relaes
! Esquema
da relao
! Domnios
!
!Atributos
!
!Chaves
! Candidata, Primria e Estrangeira
!
!Restries de Integridade
!
!lgebra Relacional
Mapeamento de Modelos
!Mapear: mudar de representao
!
!Muitas
Mapeamento de Entidades
!Todas as entidades so mapeadas para uma tabela contendo os mesmos
atributos do MER.
!
fraca (tabelaFraca)
!
Mapeamento de Atributos
!Mantenha nomes de atributos curtos e padronizados
!
!Compostos
!Viram atributos simples
!Ex:
!Multivalorados
!Viram outra tabela onde a parte da chave primria a chave estrangeira
da tabela originria
!Ex: CLIENTE (cod_cli, nom_cli,)
Mapeamento de Especializaes
!Trs alternativas so geralmente adotadas
!
Exemplos
1.Conta (no_conta, sal_conta, tx_juros,lim_esp,
tipo_conta)
!
Mapeamentos de Relacionamentos
!Recomendaes de mapeamento baseiam-se na anlise da
Relacionamento 1:1
!Escolha uma das relaes envolvidas no relacionamento
!E inclua como chave estrangeira nesta relao a chave
primria da outra relao
Relacionamento 1:N
! tabela que representa a entidade no lado N, acrescenta-se como chave
Relacionamento de N:N
! criada uma nova tabela contendo como chaves estrangeiras as
Auto-Relacionamento
!Valem as mesmas recomendaes anteriores
!Ex: Empregados (RG, Nome, Idade)
Gerncia(RGe, RGg)
Empregados (RG, Nome, Idade, RGg)
Relacionamento Ternrio
!O mapeamento ocorre de forma semelhante ao descrito para
relacionamentos N:N
Normalizao
! uma ferramenta para ser utilizada no projeto lgico de
BD
!Objetivo 1: remover redundncias entre atributos nochave.
!Objetivo 2: manter integridade dos dados aps remoo,
insero, atualizao.
!
Exemplo de Tabela no
Normalizada
!Manuteno do histrico de entrada de estrangeiros no pas
!
Exemplo de Tabela no
Normalizada
Data
Passap
Nome
Vo
Nacionalidade
Nasc
J-ficha
Embaixada
10/09/12
Pas1
Joo
RG 121
Argentina
1/1/65
No
Endereo 1
10/09/12
Pas2
Jos
AR876
Argentina
22/4/50
Sim
Endereo 1
10/09/12
Pas3
Hans
RG 121
Alemanha
12/09/50
No
Endereo 2
11/09/12
Pas4
Maria
RG 121
EUA
12/07/70
No
Endereo 3
11/09/12
Pas5
Kanda
JL 234
Japo
12/08/78
No
Endereo 4
20/09/12
Pas1
Joo
VS 987
Argentina
1/1/65
No
Endereo 1
Redundncia e Anomalias
!A tabela do exemplo exibe dados redundantes.
!
Anomalias de Insero
! necessrio inserir valores nulos para os atributos cujo valor
Anomalias de Alterao
!A existncia de redundncia conduz ao perigo de aps
Anomalias de Remoo
!A
perda de
Dependncia Funcional
!Considere dois conjuntos de atributos X e Y de uma relao R.
!
Determinado: Y
Dependncia Funcional
Exemplos
!Empregado(matrcula, nome, CPF, salrio, matricula_supervisor)
! matrcula nome
! matrcula CPF
! CPF matrcula
! {CPF, matrcula} {nome, CPF }
! matrcula {matricula_supervisor, salrio}
!
Propriedades de uma DF
!Dependncia funcional total (completa):
!Se X determina totalmente Y, ento Y no funcionalmente
dependente de nenhum subconjunto dos atributos que
compem X
! cidade
a b e b g, ento a g
! cpf
Normalizao x DF
!O conhecimento de dependncia funcional til na
deteco de redundncias.
!
!Sintetizando:
Formas Normais
!Para
conjunto
de
regras
a
1
a
2
atributos no pertencentes
dependente total dessa chave.
chave
primria
for
a
2
!Carro
!
!
a
3
cdigo_fabricante, nome_fabricante )
cdigo_fabricante )
!Fabricante ( cdigo, nome )
tempo?
!pases (nacionalidade)
!estrangeiros (passaporte)
!entradas no pas (data, passaporte)
!
ao mesmo tempo?
!estrangeiros e entrada no pas
!estrangeiros e sua nacionalidade
Dependncias Funcionais
!Estrangeiros
!passaporte nome, nacionalidade, nasc, j-ficha
!
!Nacionalidade
!nacionalidade embaixada, ex -visto
!
!Entrada
!data, passaporte voo
Depois da Normalizao
ESTRANGEIROS
ENTRADAS
Data
10/09
10/09
10/09
11/09
11/09
20/09
Passap
Pas1
Pas2
Pas3
Pas4
Pas5
Pas1
Voo
RG121
AR876
RG121
RG121
JL234
VS987
Passap
Nome
Nacionalidade
Nasc
J-ficha
Pas1
Joo
Argentina
1/1/65
No
NACIONALIDADE
Pas2
Jos
Argentina
22/4/50
Sim
Nacionalidade
Embaixada
Pas3
Hans
Argentina
12/09/50 No
Argentina
Endereo 1
Pas4
Maria
EUA
12/07/70 No
Alemanha
Endereo 2
EUA
Endereo 3
Pas5
Kanda
Japo
12/08/78 No
Japo
Enddereo 4
Projeto Fsico
!Especificao em SQL do esquema relacional para o SGBD
escolhido.
!Critrios a atender :
!Tempo de resposta
! Espao de armazenamento
!Volume de transaes suportado
!Estruturas de armazenamento e de recuperao de
informaes
!Mecanismos de acesso devem ser escolhidos, visando
sempre o aprimoramento da performance dos aplicativos
de BD.
Projeto Fsico
!Devem ser especificados no apenas as tabelas criadas,
mas tambm
!os ndices necessrios,
!
Implementao do Sistema
de Banco de Dados
!Com instrues da DDL e da DML (SQL)
!Faz-se a carga do Banco de Dados
Dvidas???
Perguntas???
Questionamentos???