Slides-Carlos Heuser- Projecto de Banco de Dados
-
Upload
adilsoncrente -
Category
Documents
-
view
158 -
download
6
Transcript of Slides-Carlos Heuser- Projecto de Banco de Dados
-
1Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19991
Projeto de Banco de Dados
Transparncias selecionadas
Autor: Prof Carlos Heuser (UFRGS)
Livro: Projeto de Banco de Dados
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19992
Modelo de Dados - nveis de abstrao
abstrao
modelo conceitual
modelo lgico
modelo fsico
-
2Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19993
Modelo conceitual
Independente de tipo de SGBD
Registra Estrutura dos dados podem aparecer no banco de
dados
No registra Como estes dados esto armazenados a nvel de
SGBD
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19994
Modelo conceitual - diagrama ER
Tcnica mais difundida de modelagem conceitual Abordagem entidade-relacionamento (ER)
Modelo conceitual representado atravs de diagrama entidade-relacionamento (DER)
-
3Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19995
Diagrama entidade-relacionamento
Produt o
cdigodescrio
Tipo deprodut o
cdigodescrio
preo
n 1
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19996
Modelo lgico
Nvel de abstrao visto pelo usurio do SGBD
Dependente do tipo particular de SGBD que est sendo usado
-
4Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19997
Modelo lgico
SGBD relacional para o exemplo
ProdutoCodProd DescrProd PrecoProd CodTipoProd
1 PC desktop modelo X 2.500 12 PC notebook ABC 3.500 13 Impressora jato de tinta 600 24 Impressora laser 800 2
TipoDeProdutoCodTipoProd DescrTipoProd
1 Computador2 Impressora
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19998
Modelo lgico para o exemplo
TipoDeProduto(CodTipoProd,DescrTipoProd)
Produto(CodProd,DescrProd,PrecoProd,CodTipoProd)CodTipoProd referencia TipoDeProduto
-
5Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 19999
Modelo Fsico
Contm detalhes de armazenamento interno de informaes
Detalhes que no tm influencia sobre a programao de aplicaes
no SGBD influenciam a performance da aplicaes
Usados por profissionais que fazem sintonia de performance em banco de dados
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199910
Idia fundamental do projeto de banco de dados
Atravs da identificao das entidades que tero informaes
representadas no banco de dados, possvel identificar os arquivos que
comporo o banco de dados
-
6Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199911
Modelo conceitual tem dupla interpretao
modelo da organizao Define as entidades da organizao que tem
informaes armazenadas no banco de dados
modelo do banco de dados Define que arquivos (tabelas) faro parte do banco de
dados.
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199912
Projeto de BD
Duas fases:1 Modelagem conceitual2 Projeto lgico
Adequado para a construo de um novo banco de dados
Caso j exista um banco de dados ou um conjunto de arquivos convencionais usar reengenharia
-
7Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199913
Abordagem Entidade-Relacionamento
Tcnica para construir modelos conceituais de bases de dados
Tcnica de modelagem de dados mais difundida e utilizada
Criada em 1976 por Peter Chen
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199914
Abordagem Entidade-Relacionamento
Padro de fato para modelagem conceitual
No nica: NIAM/ORM (tcnica europia da dcada de 70) UML (Tcnica para modelos Orientados a Objetos)
Tcnicas de modelagem orientada a objetos (UML) baseiam-se nos conceitos da abordagem ER
-
8Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199915
Abordagem Entidade-Relacionamento
Modelo de dados representado atravs de um modelo entidade-relacionamento (modelo ER)
Modelo ER representado graficamente diagrama entidade-relacionamento (DER)
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199916
Conceitos centrais da abordagem ER
Entidade
Relacionamento
Atributo
Generalizao/especializao
Entidade associativa
-
9Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199917
Entidade
Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informaes no banco de
dados
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199918
Entidade exemplos
Sistema de informaes industrial produtos tipos de produtos vendas compras
-
10
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199919
Entidade exemplos
Sistema de contas correntes clientes contas correntes cheques agncias
Entidade pode representar objetos concretos da realidade (uma pessoa, um
automvel) objetos abstratos (um departamento, um endereo)
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199920
PESSOA DEPARTAMENTO
Entidade no DER
Representada atravs de um retngulo
Retngulo contm o nome da entidade.
-
11
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199921
Entidade e instncia
Para referir um objeto particularfala-se em instncia ou ocorrncia de entidade
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199922
Entidade e instncia - terminologia
conjunto elemento do conjunto
entidade instncia
classe instncia
conjuntode entidades
entidade
-
12
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199923
Propriedades de entidades
Entidade isoladamente no informa nada
necessrio atribuir propriedades s entidades
Propriedades especificadas na forma de Relacionamentos Atributos Generalizaes/especializaes
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199924
Relacionamento - conceito
Conjunto de associaes entre entidades sobre as quais deseja-se manter informaes
na base de dados
-
13
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199925
Relacionamento no DER
DEPARTAMENTO LOTAO PESSOA
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199926
Relacionamento e instncia
Relacionamento um conjunto de associaes entre instncias de entidades
Uma instncia (ocorrncia) uma associao especfica entre determinadas instncias de entidade
Exemplo (relacionamento LOTAO) ocorrncia = par especfico formado por uma
ocorrncia de PESSOA e uma ocorrncia de DEPARTAMENTO
-
14
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199927
Diagrama de ocorrncias
p1 p8p7
p5p6p4
p3
p2
p1,,d1 p2,d1 p4,d2 p5,d3
d1 d3d2
entidadeEMPREGADO
relacionamentoLOTAO
entidadeDEPARTAMENTO
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199928
Auto-relacionamento
PESSOA
CASAMENTOmarido esposa
-
15
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199929
Papel de relacionamento
Funo que uma ocorrncia de uma entidade cumpre em uma ocorrncia de um relacionamento
Relacionamento de casamento Uma ocorrncia de pessoa exerce o papel de marido Uma ocorrncia de pessoa exerce o papel de esposa
Relacionamentos entre entidades diferentes: no necessrio indicar os papis das entidades
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199930
Auto-relacionamentodiagrama de ocorrncias
p1p8
p7
p5
p6
p4
p3
p2
p1,p3
p6,p8
maridoesposa
marido
esposa
-
16
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199931
Cardinalidade de relacionamentos
Propriedade importante de um relacionamento Quantas ocorrncias de uma entidade podem estar
associadas a uma determinada ocorrncia de entidade atravs do relacionamento
Chamada de cardinalidade de uma entidade em um relacionamento
duas cardinalidades mxima mnima
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199932
Cardinalidade mxima no DER
LOTAODEPARTAMENTO
EMPREGADOn1
-
17
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199933
Cardinalidade mxima - DER
LOTAODEPARTAMENTO
EMPREGADOn1
expressa que a uma ocorrncia de EMPREGADO (entidade do lado oposto da anotao) pode estar associada ao mximo uma (1) ocorrncia de DEPARTAMENTO
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199934
Cardinalidade mxima no DER
expressa que a uma ocorrncia de DEPARTAMENTO (entidade ao lado
oposto da anotao) podem estar associadas muitas (n) ocorrncias de
EMPREGADO
LOTAO
DEPARTAMENTO
EMPREGADOn1
-
18
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199935
Cardinalidade mxima - valores
Para projeto de BD relacional no necessrio distinguir entre diferentes
cardinalidades mximas > 1
Dois valores de cardinalidades mximas so usados cardinalidade mxima 1 cardinalidade mxima muitos, referida pela letra n
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199936
Classificao de relacionamentos
Cardinalidade mxima pode ser usada para classificar relacionamentos binrios
Relacionamento binrio aquele cujas instncias envolvem duas instncias de
entidades
Relacionamentos binrios n:n (muitos-para-muitos) 1:n (um-para-muitos) 1:1 (um-para-um)
-
19
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199937
Relacionamentos 1:1
PESSOA
CASAMENTO
marido1 1
EMPREGADO
ALOCAO
1
1
MESA
esposa
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199938
Relacionamentos 1:n
ALUNO INSCRIO CURSO1n
EMPREGADO DEPENDENTE1 n
EMPREGADO
SUPERVISO
1 nsupervisor supervisionado
-
20
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199939
Relacionamentos n:n
ENGENHEIRO ALOCAO PROJETOn n
MDICO CONSULTA PACIENTEn n
PEA CAPACIDADE FORNECEDORn n
PRODUTO
COMPOSIO
n ncomposto componente
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199940
Relacionamento ternrio
DISTRIBUIDORCIDADE
PRODUTO
DISTRIBUIO
-
21
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199941
Cardinalidade em relacionamento ternrio
DISTRIBUIDORCIDADE
PRODUTO
DISTRIBUIO
1
n
na cardinalidade1 refere-sea um parcidade eproduto
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199942
Cardinalidade mnima
Nmero mnimo de ocorrncias de entidade que so associadas a uma ocorrncia de uma entidade atravs de um relacionamento
Para fins de projeto de BD, consideram-se apenas duas cardinalidades mnimas cardinalidade mnima 0 cardinalidade mnima 1
Denominao alternativa: cardinalidade mnima 1 = associao obrigatria cardinalidade mnima 0 = associao opcional
-
22
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199943
Cardinalidade mnima - DER
EMPREGADO
ALOCAO
e1e4
e3
e2
e1,m1 e2,m
2
(0,1)
(1,1)
MESA
e4,m4
m1 m6m4m3
m2 m5
e3,m6
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199944
Exemplo - entidades e relacionamentos
DEPARTAMENTO RESPONSVEL DISCIPLINA(1,1) (0,n)
ALUNO INSCRIO CURSO(1,1)(0,n)
(0,n)
(0,n)
DISC-CURSO
PR-REQUIS
(0,n) (0,n)liberadora
liberada
-
23
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199945
PROJETO
tipo
cdigonome
Atributo
Dado ou informao que associado a cada ocorrncia de uma entidade ou de um relacionamento
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199946
Atributos com cardinalidade
Cardinalidade mnima atributo obrigatrio (cardinalidade mnima 1)
cada entidade possui no mnimo um valor associado) atributo opcional (cardinalidade mnima 0)
Cardinalidade mxima atributo monovalorado (cardinalidade mxima 1)
cada entidade possui no mximo um valor associado) atributo multivalorado (cardinalidade mxima n)
-
24
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199947
Atributo com cardinalidade
CLIENTE
telefone (0,n)cdigo
nome Atributo opcionale multi-valorado
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199948
Atributo em relacionamento
ENGENHEIRO ATUAO PROJETO(0,n) (0,n)
Cdigo Nome TtuloFuno Cdigo
-
25
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199949
Atributo em relacionamento 1:n
FINANCEIRA FINANCIAMENTO
VENDA(0,1)
taxa de juros
(0,n)
n de parcelas
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199950
Identificador de entidade
Cada entidade deve possuir um identificador
identificador=conjunto propriedades de uma entidade (atributos e relacionamentos) cujos valores servem para distinguir uma ocorrncia da entidade das demais ocorrncias da mesma entidade
-
26
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199951
Atributo identificador
PESSOAendereo
cdigonome
PRATELEIRAnmero da prateleira
capacidadenmero do corredor
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199952
Relacionamento identificador
Entidade fraca
EMPREGADO DEPENDENTE(1,1) (0,n)
nomeseqnciacdigonmero
nome
-
27
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199953
Relacionamento identificador (recurso)
(1,1)
(0,n)
GRUPO cdigo
nmero daempresa
FILIAL
(1,1)
(0,n)
nmero dafilial
EMPRESA
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199954
Identificador de relacionamento
Uma ocorrncia de relacionamento diferencia-se das demais do mesmo relacionamento pelas ocorrncias de entidades que dela participam.
ENGENHEIRO ALOCAO PROJETOn n
-
28
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199955
Relacionamento com atributo identificador
MDICO CONSULTA PACIENTEn n
data/hora
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199956
Generalizao/especializao
Conceito permite atribuir propriedades particulares
a um subconjunto das ocorrncias (especializadas) de uma entidade genrica
-
29
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199957
Generalizao/especializao
CLIENTE
PESSOAFSICA
PESSOAJURDICA
nomecdigo
CIC CGC
FILIAL(1,1) (0,n)
sexo tipo deorganizao
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199958
Generalizao/especializao
Herana de propriedades
Herdar propriedades significa cada ocorrncia da entidade especializada possui
alm de suas prprias propriedades) tambm as propriedades da ocorrncia da entidade
genrica correspondente
-
30
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199959
Entidade associativa (BD1: agregado)
Modificar modelo:
Adicionar medicamentos prescritos em uma consulta
MDICO CONSULTA PACIENTEn n
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199960
Substituindo relacionamento por entidade
MDICO PACIENTE
MEDICAMENTO
PRESCRIO
(1,1)
n n
(1,1)
n
n
CONSULTA
-
31
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199961
Entidade associativa
MDICO CONSULTA PACIENTEn n
PRESCRIO
MEDICAMENTO
n
n
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199962
SmbolosDER
Conceito Smbolo
Entidade
Relacionamento
Atributo
Atributoidentificador
Relacionamentoidentificador
Generalizao/especializao
Entidadeassociativa
(1,1)
-
32
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199963
DER de uma farmcia
PRODUTO
FABRICANTE
LOTE
FORNECEDOR
MEDICAMENTO PERFUMARIA
VENDA
RECEITAMDICA
(1,n)(0,n)
(1,1)
(0,n)
(1,n)(0,n)
(1,1)
(0,n)
(0,n)
(0,n)(0,n)(0,1)
(0,n)
(1,n)
Carlos A. Heuser - Transparncias para uso com o livro Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 199964
DER recursos humanos
EMPREGADO DEPARTAMENTO
GERENTE SECRETRIA ENGENHEIRO
PROCESSADORDE TEXTOS
PROJETO
DOMNIO PARTICIPAO
LOTAO
tipo deempregado
nome
CREA
CIC(1,1)(0,n)
(1,n)
(0,n) (0,n)
(0,n)
GERNCIA
(1,n)
(0,1)
p