SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Modelagem Conceitual 
Entidade-Relacionamento 
Fernanda Baião 
UNIRIO 
Material parcialmente extraído a partir das notas de aula de 
Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia 
Cavalcanti 
1 
2 
Projeto de Sistemas de 
Informação 
Levantamento de 
requisitos 
Análise 
Funcional Projeto Conceitual 
Análise 
Funcional 
Especificações de 
Especificações de 
Acesso 
Acesso 
Projeto Lógico 
Projeto da 
Aplicação 
Projeto da Projeto Físico 
Aplicação 
Implementação 
Validação e Teste 
3 
Processo de Software 
„ Especificação: 
„ funcionalidade e restrições 
„ Desenvolvimento: 
„ Projeto 
„ implementação segundo 
especificação 
„ Validação: 
„ testes para verificar se está de 
acordo com especificação 
„ Evolução: 
„ para atender as mudanças 
Projeto Conceitual 
Projeto Lógico 
Projeto Físico
4 
Fases Clássicas do 
Desenvolvimento de SW 
„ Levantamento de Requisitos 
„ Análise de Requisitos 
„ Projeto 
„ Implementação 
„ Testes 
„ Implantação 
„ Manutenção 
5 
RUP - Rational Unified 
Process 
1. Business Engineering. 
2. Requirements. 
3. Analysis and Design. 
4. Implementation. 
5. Test. 
6. Configuration and change 
management. 
7. Project Management. 
8. Environment. 
9. Deployment. 
Projeto Conceitual 
Projeto Lógico 
Projeto Físico 
6 
Modelos 
„ Ferramentas para modelagem 
conceitual 
„ ER - Peter Chen 
„ UML - OMG (Grady, Booch, Rumbaugh) 
„ IE (Information Engineering) - J. Martin 
„ IDEF1X (US Federal Gov.)
7 
O Modelo ER 
„ O modelo de dados mais popular 
entre todos os utilizados na etapa de 
projeto conceitual de banco de dados. 
„ Produz um diagrama fácil de ser 
entendido pelo usuário final. 
„ Fundamentado nos conceitos básicos 
de entidade, relacionamento e 
atributo. 
„ Outros conceitos foram incorporados 
para enriquecer a expressividade do 
modelo. 
8 
Elementos Básicos 
„ Entidades: representam classes de objetos 
do mundo real. 
representadas graficamente por um retângulo 
rotulado com o nome da entidade. 
„ Relacionamentos: representam agregações 
entre duas ou mais entidades. 
representados graficamente por um losango 
rotulado com o nome da agregação. 
„ Atributos: representam propriedades 
elementares das entidades e/ou dos 
relacionamentos. 
representados graficamente por um segmento de 
reta rotulado com o nome do atributo em uma de 
suas extremidades. 
rótulo 
rótulo 
rótulo 
ou 
rótulo 
9 
Elementos Básicos 
VIVE_NA 
PESSOA CIDADE 
NASCIDA_NA 
código 
nome 
habitantes 
identidade 
nome 
endereço 
desde
10 
Diferentes Notações 
1 
n 
1 
n 
1 
n 
1 
1 
1 
0,1 
1 
0.n 
1 
0.n 
1 
n 
1 
n 
1 
n 
11 
Propriedades dos 
Relacionamentos 
„ Grau 
„ total de entidades que participam do 
relacionamento. 
„ Cardinalidade 
„ números mínimo e máximo de instâncias de 
cada entidade que podem estar associadas 
através do relacionamento. 
a cardinalidade mínima também é conhecida como 
a cardinalidade mínima também é conhecida como 
PARTICIPAÇÃO: 
PARTICIPAÇÃO: 
0 = participação opcional 1 = participação obrigatória. 
0 = participação opcional 1 = participação obrigatória. 
12 
Grau 
Relacionamento de Grau 2 ou binário. 
EMPREGADO DDEEPPAARRTTAAMMEENNTTOO 
LOTAÇÃO 
Relacionamento de Grau 3 ou ternário. 
DISCIPLINA 
ALUNO PROFESSOR 
ALOCAÇÃO
13 
Cardinalidade ... 
(0,n) (1,1) 
FAZ 
CLIENTE PEDIDO 
n 1 
TRABALHA_EM 
(1,1) (1,n) EMPREGADO DEPARTAMENTO 
1 n 
(0,1) (0,1) HOMEM MULHER 
CASA 
1 1 
(1,n) (0,n) PEDIDO PEÇA 
PEDE 
m n 
14 
Relacionamentos n-ários 
„ suponha que cada fornecedor possa 
fornecer peças a clientes. 
Primeira Tentativa: 
(1,n) (1,n) (1,n) (1,n) 
F F-P P P-C C 
m n n m 
15 
Relacionamentos n-ários 
„ suponha também que segundo levantamentos 
sobre o contexto em foco, sabe-se que: 
„ F1 fornece P1 a C1. 
„ F2 fornece P1 a C2. 
„ F2 fornece P2 a C1. 
„ representando esses dados num diagrama de 
ocorrências: 
F1 
F2 
C1 
C2 
F F-P P P-C C 
P1 
P2 
Quem fornece a C1? 
Quem fornece a C2? 
Armadilha: não há 
como determinar 
que fornecedor 
fornece a que 
cliente !
16 
Relacionamentos n-ários 
„ agora podemos afirmar que: 
„ F1 fornece P1. 
„ F2 fornece P1. 
„ F2 fornece P2. 
z P1 é fornecida a C1. 
z P1 é fornecida a C2. 
z P2 é fornecida a C1. 
F 
P 
m 
F-P 
n 
n 
P-C 
m 
F-C C 
F1 
F2 
C1 
C2 
F-C 
F-P P-C 
P1 
P2 
mas ... 
m n 
z F1 fornece a C1. 
z F2 fornece a C1. 
z F2 fornece a C2. 
17 
Relacionamentos n-ários 
„ Essa solução ainda possui uma armadilha de 
conexão ! 
„ Podemos dizer: 
„ que fornecedores fornecem que peças; 
„ que peças são fornecidas a que clientes; e 
„ que fornecedores fornecem a que clientes. 
„ Mas não podemos dizer: 
„ que fornecedores fornecem que peças a que clientes ! 
F1 
F2 
F-P P-C Quem fornece P1 a C1? 
C1 
C2 
F-C 
P1 
P2 
18 
Relacionamentos n-ários 
F F-P-C C 
P 
P1 P2 
F1 
F2 
C1 
C2 
Solução:
19 
Relacionamentos n-ários 
(0,m) (0,n) 
F F-P-C C 
P 
(0,s) 
P1 P2 
F1 
F2 
C1 
C2 
Solução: 
COMPOSIÇÃO 
composto componente 
20 
Peças e suas componentes 
A B C 
D E F 
R S T 
X Y 
PEÇA 
A cilindro 
B base 
C braço 
D gancho 
E linha 
F suporte 
R moldura 
S tirante 
T poleiro 
X ratoeira 
Y balanço 
RRSS 
TT 
XXXYY 
Como modelar a composição 
das peças? 
B 
CDEE 
F 
RS 
ART 
21 
Relacionamento Recursivo ... 
PEÇA 
composto componente 
COMPOSIÇÃO 
papéis 
Ainda faltam as cardinalidades... (Cenas dos próximos capítulos)
22 
Atributos ... 
„ propriedades utilizadas para descrever 
entidades e relacionamentos. 
Exemplo: a entidade empregado pode ser 
descrita pelos atributos Nome, Registro, Sexo, 
Endereço. 
EMPREGADO 
Nome 
Registro 
Sexo 
Endereço 
23 
Cardinalidade de Atributos 
„ Cardinalidade mínima/máxima 
„ número mínimo / máximo de valores que o 
atributo pode assumir em cada instância da 
entidade ou relacionamento. 
24 
Cardinalidade de Atributos 
„ Seja A um atributo da entidade E: 
„ se min-card (A, E) = 0 
• o atributo é opcional 
• pode ser nulo para algumas instâncias de E. 
„ se min-card (A, E) = 1 
• o atributo é mandatório 
• deve assumir no mínimo 1 valor para cada instância de E. 
„ se max-card (A, E) = 1 
• o atributo é mono-valorado 
• só pode assumir 1 único valor para cada instância de E. 
„ se max-card (A, E) > 1 
• o atributo é multi-valorado 
• ele pode assumir mais de um valor para cada instância de E.
25 
Cardinalidade de Atributos 
VIVE_NA 
PESSOA CIDADE 
NASCIDA_NA 
código 
nome 
habitantes 
identidade 
nome 
endereço 
desde 
(1, n) 
e-mail (0, n) 
(0, n) (1, 1) 
(0, n) (1, 1) 
data_nasc 
se a cardinalidade do atributo for (1,1), 
ela não precisa ser especificada. 
uma pessoa pode não 
ter telefone ou ter 
vários... 
hoje em dia uma pessoa 
tem que ter pelo menos 
um endereço eletrônico, 
podendo ter vários. 
26 
Domínio de um Atributo 
„ Todo atributo está associado a um 
domínio, isto é, a um conjunto de 
valores válidos que o atributo pode 
assumir. 
„ As declarações de domínio são similares 
às declarações de tipo nas linguagens 
de programação. 
Exemplos: 
CPF: Numérico 
Nome: Texto 
Cor: {‘azul’, ‘amarelo’, ‘vermelho’} 
27 
Tipos de Atributos 
„ simples - atributo definido sobre um único 
domínio, isto é, que possui um valor atômico 
para cada instância da entidade. 
„ composto - atributo definido sobre mais de 
um domínio, isto é, grupo de atributos com 
um significado semântico. Rua 
Número 
Cidade 
Estado 
Pais 
Código_postal (0, 1) 
PESSOA Endereço 
Nome 
Telefone 
(0,n) (0,1) 
Sexo
28 
Identificador de Entidade 
„ Def.: Atributo, simples ou composto, que identifica 
unicamente cada instância da entidade. 
„ O identificador de uma entidade pode ser formado: 
„ por um subconjunto dos atributos que a descrevem; ou 
„ pela combinação de seus atributos com os identificadores das 
entidades com as quais ela possua um relacionamento 
funcional e mandatório. 
„ Propriedades 
„ Não podem existir duas instâncias da entidade com o mesmo 
valor do identificador. 
„ Se qualquer componente do identificador for retirado, a 
propriedade de unicidade deixa de ser satisfeita. 
„ Todos os componentes de um identificador devem ser 
mandatórios, isto é, não podem assumir o valor nulo. 
29 
Tipos de Identificadores ... 
„ identificador interno e simples 
PESSOA 
NúmeroIdentidade 
Nome 
„ identificador interno e composto 
PESSOA 
IdentificadorDePessoa 
Nome 
DataDeNascimento 
NomeDoPai 
CidadeDeResidência 
30 
Tipos de Identificadores ... 
„ identificador misto e composto 
EMPREGADO 
Matrícula 
Nome 
NomeDoPai 
CidadeDeResidência 
(1,1) 
(0,n) 
DEPENDENTE 
Nome 
TEM 
DependenteID 
DataNascimento
31 
Tipos de Identificadores ... 
„ identificador externo e composto 
PEDIDO PRODUTO 
(1,1) (1,1) 
inclui idItem 
ITEM DE PEDIDO 
(1,n) (0,n) 
referencia 
dentro de um pedido de compra, cada produto só pode constar de 
apenas um item de pedido. 
32 
Entidade Fraca 
„ entidade cujo identificador é externo 
ou misto. 
EMPREGADO 
Matrícula 
Nome 
NomeDoPai 
CidadeDeResidência 
(1,1) 
(1,n) 
DEPENDENTE 
Nome 
TEM 
DependenteID 
Entidade Fraca 
DataNascimento 
Um Dependente precisa de Empregado para existir 
Hierarquia de Generalização 
33 
„ uma entidade E é uma generalização de um 
grupo de entidades E1, E2, ... , En, se cada 
instância das entidades E1, E2, ... , En for 
também uma instância de E. 
„ especialização 
„ o inverso da generalização 
„ processo através do qual novas classes são definidas a 
partir do refinamento de uma classe mais geral. 
„ propriedade de cobertura 
„ total (t) ou parcial (p) 
„ exclusiva (e) ou inclusiva (i) 
„ se a cobertura for total e exclusiva, (t, e), ela não 
precisa ser representada no diagrama.
34 
Propriedade de cobertura 
PESSOA VEÍCULO 
HOMEM MULHER 
ESTUDANTE 
parcial, exclusiva (p,e) 
AUTOMÓVEL 
BICICLETA 
JOGADOR 
DE TÊNIS 
JOGADOR 
DE FUTEBOL 
total, exclusiva (t,e) 
parcial, inclusiva (p,i) 
total, inclusiva (t,i) 
ESPORTISTAS DO CLUBE 
MESTRADO GRADUAÇÃO 
Hierarquia de Generalização 
Exemplo 
35 
PESSOA 
HOMEM 
(t,e) (p,e) 
MULHER GERENTE SECRETÁRIO EMPREGADO 
(t,i) 
GERENTE 
TÉCNICO 
GERENTE 
ADM 
(p,i) 
ANALISTA VENDEDOR CONTADOR 
36 
Mecanismo de Herança ... 
„ todas as propriedades da 
superclasse são passadas por 
herança às suas subclasses 
(atributos, relacionamentos, outras 
generalizações etc.)
„ Qual dos modelos abaixo é correto? 
37 
Mecanismo de Herança ... 
(0, 1) NomeSolteira Nome 
PESSOA 
Endereço 
(t,e) 
(0, 1) SituaçãoMilitar 
HOMEM MULHER 
Nome 
Endereço 
Situação Militar 
Nome 
Endereço 
NomeSolteira 
PESSOA 
Nome 
Endereço 
(t,e) 
HOMEM MULHER 
Situação Militar NomeSolteira 
38 
Mecanismo de Herança 
PESSOA 
HOMEM 
(t,e) (p,e) 
MULHER EMPREGADO SECRETÁRIO 
Rua 
Cidade 
CEP (0,1) 
Estado 
País 
(1,n) 
Nome CPF 
Profissão 
GrauAcadêmico (0,n) 
CertificadoReservista NomeSolteira Matrícula SubTítulo 
MILITAR 
Número 
Divisão 
Patente 
ID 
ENDEREÇO 
39 
Detalhe de Notação 
Identidade 
Profissão 
PESSOA Nome 
(t,e) SEXO 
permite dar um nome à 
hierarquia de generalização 
HOMEM MULHER 
CertificadoReservista NomeSolteira
40 
Leitura de Diagramas ER 
CIDADE PESSOA 
ESTUDANTE PROFESSOR 
DEPTO 
ALUNOS_PG 
DISCIPLINA 
VISITANTE 
ALOC 
TEMPO 
(0,n) 
SALA 
Nome 
Estado 
(0,n) 
(1,1) 
mora_em 
(0,n) 
matriculado_em 
Grau (1,n) 
(1,3) 
(0,n) 
Dia 
Hora 
(0,40) Número 
Prédio 
Nome 
(1,1) 
lecionado_por 
(1,2) 
(1,1) 
orientado_por 
(1,1) (0,n) 
nascida_em Sobrenome 
Idade 
lotado_no 
(1,1) 
(1,n) 
Nome 
Telefone 
Categoria 
Nível 
Início 
Término 
Id 
IdSala 
IdTempo 
41 
Notação do modelo ER 
„ Não há padrão para os diagramas ER… 
„ Cada metodologia usa uma notação 
diferente 
„ “losangos” versus “linhas rotuladas” para 
relacionamentos 
„ Sentido de leitura da cardinalidade de 
relacionamento 
„ Notação original [Chen 76] raramente é 
seguida pelas ferramentas CASE 
„ Variações conhecidas da notação 
„ Bachman, crow's foot (“pés de galinha”), 
IDEFIX. 
Qualidades do Modelo ER ... 
42 
„ Expressividade: 
„ inclui os três mecanismos de abstração: 
classificação, agregação e generalização. 
„ suporta relacionamentos n-ários, o que é motivo de 
críticas por parte dos defensores do mundo binário. 
„ Simplicidade: 
„ a riqueza de conceitos torna o modelo uma 
poderosa ferramenta para a descrição da realidade. 
„ entretanto, o modelo não é muito simples, 
especialmente no que diz respeito aos conceitos de 
cardinalidade, cobertura de generalização e 
identificação. 
„ uma solução é produzir diagramas ER em diferentes 
níveis de detalhe.
Qualidades do Modelo ER ... 
43 
„ Minimalidade: 
„ à exceção dos atributos compostos, 
nenhum conceito do modelo pode ser 
descrito em termos dos demais. 
„ o fato da mesma realidade poder ser 
modelada de diferentes maneiras não 
invalida a minimalidade do modelo. 
„ Formalidade: 
„ o modelo possui o necessário grau de 
formalidade, uma vez que cada um de seus 
conceitos possui uma interpretação única, 
precisa e bem-definida. 
44 
Qualidades do Modelo ER 
„„ Representação Gráfica: 
„o modelo é graficamente completo, 
isto é, todos os seus conceitos 
possuem um símbolo gráfico 
associado. 
„ os diagramas ER são fáceis de serem 
entendidos pelos usuários. 
o modelo ER oferece um balanceamento adequado entre 
o modelo ER oferece um balanceamento adequado entre 
expressividade, simplicidade e minimalidade. 
expressividade, simplicidade e minimalidade. 
45 
Refs Bibliográficas 
„ Conceptual Database Design 
„ Batini, Ceri e Navathe 
Benjamin/Cummings Pub. Co. 
„ Modelagem Conceitual 
e Projeto de Banco de Dados 
„ Paulo Cougo 
Ed Campus 3a. ed. 
„ Projeto de Banco de Dados 
„ Carlos Heuser ed. Sagra Luzzatto 
„ Sistemas de Bancos de Dados 
„ Elmasri, Navathe 
Ed Pearson

Weitere ähnliche Inhalte

Ähnlich wie 02 2 - modelagem er

3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade RelacionamentoCris Fidelix
 
Modelagem
ModelagemModelagem
Modelagemprsimon
 
Aula De Projeto De Bd E Mer
Aula De Projeto De Bd E MerAula De Projeto De Bd E Mer
Aula De Projeto De Bd E Merlinux.certifield
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptJoberthSilva
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Iiguest3118b2
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Iiguest3118b2
 
bd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfbd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfssuser69006f
 
ModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfValdeir7
 
Diagrama de Classes.pdf
Diagrama de Classes.pdfDiagrama de Classes.pdf
Diagrama de Classes.pdfJoberthSilva
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfCelestino24
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitualMario Sergio
 
Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)Mariana Hiyori
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
Base de dados tic 10º ano
Base de dados   tic 10º anoBase de dados   tic 10º ano
Base de dados tic 10º anoEste FC Juniores
 

Ähnlich wie 02 2 - modelagem er (20)

3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
 
Modelagem
ModelagemModelagem
Modelagem
 
Banco de dados [ aula 2 ]
Banco de dados [ aula 2 ]Banco de dados [ aula 2 ]
Banco de dados [ aula 2 ]
 
Aula De Projeto De Bd E Mer
Aula De Projeto De Bd E MerAula De Projeto De Bd E Mer
Aula De Projeto De Bd E Mer
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.ppt
 
Modelo ER.pdf
Modelo ER.pdfModelo ER.pdf
Modelo ER.pdf
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
bd_aula02-IPMY.pdf
bd_aula02-IPMY.pdfbd_aula02-IPMY.pdf
bd_aula02-IPMY.pdf
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
ModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdfModeloEntidadeRelacionamento-Completa.pdf
ModeloEntidadeRelacionamento-Completa.pdf
 
03 mer2
03 mer203 mer2
03 mer2
 
Diagrama de Classes.pdf
Diagrama de Classes.pdfDiagrama de Classes.pdf
Diagrama de Classes.pdf
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
 
Aula7 diagrama classes
Aula7 diagrama classesAula7 diagrama classes
Aula7 diagrama classes
 
Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)Base de Dados - Diagramas E-A (cont.)
Base de Dados - Diagramas E-A (cont.)
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Base de dados tic 10º ano
Base de dados   tic 10º anoBase de dados   tic 10º ano
Base de dados tic 10º ano
 

02 2 - modelagem er

  • 1. Modelagem Conceitual Entidade-Relacionamento Fernanda Baião UNIRIO Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia Cavalcanti 1 2 Projeto de Sistemas de Informação Levantamento de requisitos Análise Funcional Projeto Conceitual Análise Funcional Especificações de Especificações de Acesso Acesso Projeto Lógico Projeto da Aplicação Projeto da Projeto Físico Aplicação Implementação Validação e Teste 3 Processo de Software „ Especificação: „ funcionalidade e restrições „ Desenvolvimento: „ Projeto „ implementação segundo especificação „ Validação: „ testes para verificar se está de acordo com especificação „ Evolução: „ para atender as mudanças Projeto Conceitual Projeto Lógico Projeto Físico
  • 2. 4 Fases Clássicas do Desenvolvimento de SW „ Levantamento de Requisitos „ Análise de Requisitos „ Projeto „ Implementação „ Testes „ Implantação „ Manutenção 5 RUP - Rational Unified Process 1. Business Engineering. 2. Requirements. 3. Analysis and Design. 4. Implementation. 5. Test. 6. Configuration and change management. 7. Project Management. 8. Environment. 9. Deployment. Projeto Conceitual Projeto Lógico Projeto Físico 6 Modelos „ Ferramentas para modelagem conceitual „ ER - Peter Chen „ UML - OMG (Grady, Booch, Rumbaugh) „ IE (Information Engineering) - J. Martin „ IDEF1X (US Federal Gov.)
  • 3. 7 O Modelo ER „ O modelo de dados mais popular entre todos os utilizados na etapa de projeto conceitual de banco de dados. „ Produz um diagrama fácil de ser entendido pelo usuário final. „ Fundamentado nos conceitos básicos de entidade, relacionamento e atributo. „ Outros conceitos foram incorporados para enriquecer a expressividade do modelo. 8 Elementos Básicos „ Entidades: representam classes de objetos do mundo real. representadas graficamente por um retângulo rotulado com o nome da entidade. „ Relacionamentos: representam agregações entre duas ou mais entidades. representados graficamente por um losango rotulado com o nome da agregação. „ Atributos: representam propriedades elementares das entidades e/ou dos relacionamentos. representados graficamente por um segmento de reta rotulado com o nome do atributo em uma de suas extremidades. rótulo rótulo rótulo ou rótulo 9 Elementos Básicos VIVE_NA PESSOA CIDADE NASCIDA_NA código nome habitantes identidade nome endereço desde
  • 4. 10 Diferentes Notações 1 n 1 n 1 n 1 1 1 0,1 1 0.n 1 0.n 1 n 1 n 1 n 11 Propriedades dos Relacionamentos „ Grau „ total de entidades que participam do relacionamento. „ Cardinalidade „ números mínimo e máximo de instâncias de cada entidade que podem estar associadas através do relacionamento. a cardinalidade mínima também é conhecida como a cardinalidade mínima também é conhecida como PARTICIPAÇÃO: PARTICIPAÇÃO: 0 = participação opcional 1 = participação obrigatória. 0 = participação opcional 1 = participação obrigatória. 12 Grau Relacionamento de Grau 2 ou binário. EMPREGADO DDEEPPAARRTTAAMMEENNTTOO LOTAÇÃO Relacionamento de Grau 3 ou ternário. DISCIPLINA ALUNO PROFESSOR ALOCAÇÃO
  • 5. 13 Cardinalidade ... (0,n) (1,1) FAZ CLIENTE PEDIDO n 1 TRABALHA_EM (1,1) (1,n) EMPREGADO DEPARTAMENTO 1 n (0,1) (0,1) HOMEM MULHER CASA 1 1 (1,n) (0,n) PEDIDO PEÇA PEDE m n 14 Relacionamentos n-ários „ suponha que cada fornecedor possa fornecer peças a clientes. Primeira Tentativa: (1,n) (1,n) (1,n) (1,n) F F-P P P-C C m n n m 15 Relacionamentos n-ários „ suponha também que segundo levantamentos sobre o contexto em foco, sabe-se que: „ F1 fornece P1 a C1. „ F2 fornece P1 a C2. „ F2 fornece P2 a C1. „ representando esses dados num diagrama de ocorrências: F1 F2 C1 C2 F F-P P P-C C P1 P2 Quem fornece a C1? Quem fornece a C2? Armadilha: não há como determinar que fornecedor fornece a que cliente !
  • 6. 16 Relacionamentos n-ários „ agora podemos afirmar que: „ F1 fornece P1. „ F2 fornece P1. „ F2 fornece P2. z P1 é fornecida a C1. z P1 é fornecida a C2. z P2 é fornecida a C1. F P m F-P n n P-C m F-C C F1 F2 C1 C2 F-C F-P P-C P1 P2 mas ... m n z F1 fornece a C1. z F2 fornece a C1. z F2 fornece a C2. 17 Relacionamentos n-ários „ Essa solução ainda possui uma armadilha de conexão ! „ Podemos dizer: „ que fornecedores fornecem que peças; „ que peças são fornecidas a que clientes; e „ que fornecedores fornecem a que clientes. „ Mas não podemos dizer: „ que fornecedores fornecem que peças a que clientes ! F1 F2 F-P P-C Quem fornece P1 a C1? C1 C2 F-C P1 P2 18 Relacionamentos n-ários F F-P-C C P P1 P2 F1 F2 C1 C2 Solução:
  • 7. 19 Relacionamentos n-ários (0,m) (0,n) F F-P-C C P (0,s) P1 P2 F1 F2 C1 C2 Solução: COMPOSIÇÃO composto componente 20 Peças e suas componentes A B C D E F R S T X Y PEÇA A cilindro B base C braço D gancho E linha F suporte R moldura S tirante T poleiro X ratoeira Y balanço RRSS TT XXXYY Como modelar a composição das peças? B CDEE F RS ART 21 Relacionamento Recursivo ... PEÇA composto componente COMPOSIÇÃO papéis Ainda faltam as cardinalidades... (Cenas dos próximos capítulos)
  • 8. 22 Atributos ... „ propriedades utilizadas para descrever entidades e relacionamentos. Exemplo: a entidade empregado pode ser descrita pelos atributos Nome, Registro, Sexo, Endereço. EMPREGADO Nome Registro Sexo Endereço 23 Cardinalidade de Atributos „ Cardinalidade mínima/máxima „ número mínimo / máximo de valores que o atributo pode assumir em cada instância da entidade ou relacionamento. 24 Cardinalidade de Atributos „ Seja A um atributo da entidade E: „ se min-card (A, E) = 0 • o atributo é opcional • pode ser nulo para algumas instâncias de E. „ se min-card (A, E) = 1 • o atributo é mandatório • deve assumir no mínimo 1 valor para cada instância de E. „ se max-card (A, E) = 1 • o atributo é mono-valorado • só pode assumir 1 único valor para cada instância de E. „ se max-card (A, E) > 1 • o atributo é multi-valorado • ele pode assumir mais de um valor para cada instância de E.
  • 9. 25 Cardinalidade de Atributos VIVE_NA PESSOA CIDADE NASCIDA_NA código nome habitantes identidade nome endereço desde (1, n) e-mail (0, n) (0, n) (1, 1) (0, n) (1, 1) data_nasc se a cardinalidade do atributo for (1,1), ela não precisa ser especificada. uma pessoa pode não ter telefone ou ter vários... hoje em dia uma pessoa tem que ter pelo menos um endereço eletrônico, podendo ter vários. 26 Domínio de um Atributo „ Todo atributo está associado a um domínio, isto é, a um conjunto de valores válidos que o atributo pode assumir. „ As declarações de domínio são similares às declarações de tipo nas linguagens de programação. Exemplos: CPF: Numérico Nome: Texto Cor: {‘azul’, ‘amarelo’, ‘vermelho’} 27 Tipos de Atributos „ simples - atributo definido sobre um único domínio, isto é, que possui um valor atômico para cada instância da entidade. „ composto - atributo definido sobre mais de um domínio, isto é, grupo de atributos com um significado semântico. Rua Número Cidade Estado Pais Código_postal (0, 1) PESSOA Endereço Nome Telefone (0,n) (0,1) Sexo
  • 10. 28 Identificador de Entidade „ Def.: Atributo, simples ou composto, que identifica unicamente cada instância da entidade. „ O identificador de uma entidade pode ser formado: „ por um subconjunto dos atributos que a descrevem; ou „ pela combinação de seus atributos com os identificadores das entidades com as quais ela possua um relacionamento funcional e mandatório. „ Propriedades „ Não podem existir duas instâncias da entidade com o mesmo valor do identificador. „ Se qualquer componente do identificador for retirado, a propriedade de unicidade deixa de ser satisfeita. „ Todos os componentes de um identificador devem ser mandatórios, isto é, não podem assumir o valor nulo. 29 Tipos de Identificadores ... „ identificador interno e simples PESSOA NúmeroIdentidade Nome „ identificador interno e composto PESSOA IdentificadorDePessoa Nome DataDeNascimento NomeDoPai CidadeDeResidência 30 Tipos de Identificadores ... „ identificador misto e composto EMPREGADO Matrícula Nome NomeDoPai CidadeDeResidência (1,1) (0,n) DEPENDENTE Nome TEM DependenteID DataNascimento
  • 11. 31 Tipos de Identificadores ... „ identificador externo e composto PEDIDO PRODUTO (1,1) (1,1) inclui idItem ITEM DE PEDIDO (1,n) (0,n) referencia dentro de um pedido de compra, cada produto só pode constar de apenas um item de pedido. 32 Entidade Fraca „ entidade cujo identificador é externo ou misto. EMPREGADO Matrícula Nome NomeDoPai CidadeDeResidência (1,1) (1,n) DEPENDENTE Nome TEM DependenteID Entidade Fraca DataNascimento Um Dependente precisa de Empregado para existir Hierarquia de Generalização 33 „ uma entidade E é uma generalização de um grupo de entidades E1, E2, ... , En, se cada instância das entidades E1, E2, ... , En for também uma instância de E. „ especialização „ o inverso da generalização „ processo através do qual novas classes são definidas a partir do refinamento de uma classe mais geral. „ propriedade de cobertura „ total (t) ou parcial (p) „ exclusiva (e) ou inclusiva (i) „ se a cobertura for total e exclusiva, (t, e), ela não precisa ser representada no diagrama.
  • 12. 34 Propriedade de cobertura PESSOA VEÍCULO HOMEM MULHER ESTUDANTE parcial, exclusiva (p,e) AUTOMÓVEL BICICLETA JOGADOR DE TÊNIS JOGADOR DE FUTEBOL total, exclusiva (t,e) parcial, inclusiva (p,i) total, inclusiva (t,i) ESPORTISTAS DO CLUBE MESTRADO GRADUAÇÃO Hierarquia de Generalização Exemplo 35 PESSOA HOMEM (t,e) (p,e) MULHER GERENTE SECRETÁRIO EMPREGADO (t,i) GERENTE TÉCNICO GERENTE ADM (p,i) ANALISTA VENDEDOR CONTADOR 36 Mecanismo de Herança ... „ todas as propriedades da superclasse são passadas por herança às suas subclasses (atributos, relacionamentos, outras generalizações etc.)
  • 13. „ Qual dos modelos abaixo é correto? 37 Mecanismo de Herança ... (0, 1) NomeSolteira Nome PESSOA Endereço (t,e) (0, 1) SituaçãoMilitar HOMEM MULHER Nome Endereço Situação Militar Nome Endereço NomeSolteira PESSOA Nome Endereço (t,e) HOMEM MULHER Situação Militar NomeSolteira 38 Mecanismo de Herança PESSOA HOMEM (t,e) (p,e) MULHER EMPREGADO SECRETÁRIO Rua Cidade CEP (0,1) Estado País (1,n) Nome CPF Profissão GrauAcadêmico (0,n) CertificadoReservista NomeSolteira Matrícula SubTítulo MILITAR Número Divisão Patente ID ENDEREÇO 39 Detalhe de Notação Identidade Profissão PESSOA Nome (t,e) SEXO permite dar um nome à hierarquia de generalização HOMEM MULHER CertificadoReservista NomeSolteira
  • 14. 40 Leitura de Diagramas ER CIDADE PESSOA ESTUDANTE PROFESSOR DEPTO ALUNOS_PG DISCIPLINA VISITANTE ALOC TEMPO (0,n) SALA Nome Estado (0,n) (1,1) mora_em (0,n) matriculado_em Grau (1,n) (1,3) (0,n) Dia Hora (0,40) Número Prédio Nome (1,1) lecionado_por (1,2) (1,1) orientado_por (1,1) (0,n) nascida_em Sobrenome Idade lotado_no (1,1) (1,n) Nome Telefone Categoria Nível Início Término Id IdSala IdTempo 41 Notação do modelo ER „ Não há padrão para os diagramas ER… „ Cada metodologia usa uma notação diferente „ “losangos” versus “linhas rotuladas” para relacionamentos „ Sentido de leitura da cardinalidade de relacionamento „ Notação original [Chen 76] raramente é seguida pelas ferramentas CASE „ Variações conhecidas da notação „ Bachman, crow's foot (“pés de galinha”), IDEFIX. Qualidades do Modelo ER ... 42 „ Expressividade: „ inclui os três mecanismos de abstração: classificação, agregação e generalização. „ suporta relacionamentos n-ários, o que é motivo de críticas por parte dos defensores do mundo binário. „ Simplicidade: „ a riqueza de conceitos torna o modelo uma poderosa ferramenta para a descrição da realidade. „ entretanto, o modelo não é muito simples, especialmente no que diz respeito aos conceitos de cardinalidade, cobertura de generalização e identificação. „ uma solução é produzir diagramas ER em diferentes níveis de detalhe.
  • 15. Qualidades do Modelo ER ... 43 „ Minimalidade: „ à exceção dos atributos compostos, nenhum conceito do modelo pode ser descrito em termos dos demais. „ o fato da mesma realidade poder ser modelada de diferentes maneiras não invalida a minimalidade do modelo. „ Formalidade: „ o modelo possui o necessário grau de formalidade, uma vez que cada um de seus conceitos possui uma interpretação única, precisa e bem-definida. 44 Qualidades do Modelo ER „„ Representação Gráfica: „o modelo é graficamente completo, isto é, todos os seus conceitos possuem um símbolo gráfico associado. „ os diagramas ER são fáceis de serem entendidos pelos usuários. o modelo ER oferece um balanceamento adequado entre o modelo ER oferece um balanceamento adequado entre expressividade, simplicidade e minimalidade. expressividade, simplicidade e minimalidade. 45 Refs Bibliográficas „ Conceptual Database Design „ Batini, Ceri e Navathe Benjamin/Cummings Pub. Co. „ Modelagem Conceitual e Projeto de Banco de Dados „ Paulo Cougo Ed Campus 3a. ed. „ Projeto de Banco de Dados „ Carlos Heuser ed. Sagra Luzzatto „ Sistemas de Bancos de Dados „ Elmasri, Navathe Ed Pearson