Você está na página 1de 16

Modelagem

Conceitual – parte I
Vitor Valerio de Souza Campos

Objetivos
 Apresentar a modelagem conceitual como
parte integrante do projeto de um BD
 Mostrar as vantagens de uma documentação
conceitual de dados
 Apresentar os elementos de um modelo
Entidade Relacionamento

Modelagem conceitual
Sumário
 Modelagem conceitual
 Conceitos do modelo Entidade Relacionamento
(ER)
 Entidade
 Relacionamento
 Auto-relacionamento
 Cardinalidade de relacionamento
 Classificação de relacionamento
 Relacionamento ternário

1
Modelagem Conceitual
Projeto de Banco de Dados
 Etapas de um projeto de Banco de Dados
1. análise de requisitos
2. projeto conceitual
3. projeto lógico
4. projeto físico

 preocupação com a representação adequada


de dados da organização
 definição de esquemas de dados em
diferentes níveis de abstração

Modelagem Conceitual
Análise de requisitos
 Análise de requisitos
 engloba todas as tarefas que lidam com
investigação, definição e escopo de novos sistemas
ou alterações de sistemas existentes.
 A análise de requisitos é também conhecida por
outros nomes:
 Engenharia de requisitos
 Levantamento de requisitos
 Captura de requisitos
 Análise de sistema
 Especificação de requisitos
 Análise de requerimentos

Modelagem Conceitual
Análise de requisitos
 Análise de requisitos inclui três tipos de
atividades:
 Elicitação dos requisitos:
 é a tarefa de comunicar-se com os usuários e clientes
para determinar quais são os requisitos.
 Análise de requisitos:
 determina se o estado do requisitos é obscuro,
incompleto, ambíguo , ou contraditório e resolve estes
problemas.
 Registros dos requisitos:
 os requisitos podem ser documentados de várias
formas, tais como documentos de linguagem natural,
casos de uso , ou processo de especificação

2
Modelagem Conceitual
Projeto conceitual
 Projeto conceitual
 Modelagem dos dados e seus relacionamentos
independente da estrutura de representação
do SGBD (modelagem conceitual)
 Forma de realização:
 análise da especificação de requisitos
 Resultado:
 esquema conceitual + restrições de integridade

fonte: http://www.inf.ufsc.br/~ronaldo/ine5623

Modelagem Conceitual
Exemplo de projeto conceitual

Código > 100


Função = {professor, funcionário}

Esquema ER
(Entidade-Relacionamento) +
restrições de integridade
fonte: http://www.inf.ufsc.br/~ronaldo/ine5623

Modelagem Conceitual
Projeto lógico
 Projeto Lógico
 Conversão do esquema conceitual para o
esquema de representação de um SGBD
(esquema lógico)
 Forma de realização: aplicação de regras de
conversão
 Resultado: esquema lógico (tabelas, RIs,
transações, consultas relevantes, autorizações
de acesso, ...)

fonte: http://www.inf.ufsc.br/~ronaldo/ine5623

3
Modelagem Conceitual
Exemplo de projeto lógico
Código > 100
Função = {professor,
funcionário}

Conversão do ER para o relacional


Servidores (Matrícula, Nome, Função, Depto)
chave primária: Matrícula
chave estrangeira: Depto (tabela Departamentos)
Função IN {professor, funcionário}
Consultas relevantes: a) dados do servidor, dada a matrícula; b)
matrícula e nome dos servidores por função; ...
Departamentos (Código, Nome)
Código > 100
chave primária: Código . . .
fonte: http://www.inf.ufsc.br/~ronaldo/ine5623

Modelagem Conceitual

 Projeto Físico
 Definição do esquema lógico em um SGBD
adequado ao modelo
 Forma de realização: SQL
 Resultado: esquema físico

fonte: http://www.inf.ufsc.br/~ronaldo/ine5623

Modelagem Conceitual
Exemplo de projeto lógico
Conversão do ER para o relacional
Servidores (Matrícula, Nome, Função, Depto)
chave primária: Matrícula
chave estrangeira: Depto (tabela Departamentos)
Função IN {professor, funcionário}
Consultas relevantes: a) dados do servidor, dada a matrícula; b) matrícula e nome
dos servidores por função; ...
Departamentos (Código, Nome)
Código > 100
chave primária: Código . . .

Especificação em SQL
CREATE TABLE Servidores (
Matrícula int, Nome char(50), Função char(20) check(Função
in (‘professor’, ‘funcionário’)), Depto int NOT NULL,
primary key(Matrícula),
foreign key(CódigoDepto) references Departamentos);
create index FuncServidor on Servidores (Função);
create table Departamentos ( . . .);
fonte: http://www.inf.ufsc.br/~ronaldo/ine5623

4
Modelagem Conceitual
Projeto Top-Down - Objetivos
 Projeto Conceitual
 Preocupação: correta abstração do mundo real
 (captura correta da semântica da aplicação)
 Projeto Lógico + Físico
 Preocupação: escolhas corretas na conversão
para o esquema do SGBD (relacional) para
maximizar o desempenho
 (distribuição adequada dos dados em tabelas)

fonte:http://www.inf.ufsc.br/~ronaldo/ine5623

Modelagem Conceitual
 Vantagens de uma documentação conceitual
de dados

 independente de detalhes de implementação em


um SGBD

 facilita a definição da semântica dos dados de um


domínio
 melhor compreendido por usuários leigos

 pode ser mapeado para qualquer modelo de BD

Modelagem Conceitual
 Vantagens de uma documentação conceitual
de dados

 facilita a manutenção dos dados

 modificação de requisitos de dados


 engenharia reversa (desempenho, ...)

 facilita a migração de SGBD

 usado como modelo intermediário

5
Modelagem Conceitual
Modelo Entidade-Relacionamento

 Modelo definido por Peter Chen em 1976


 sofreu diversas extensões e notações ao longo do
tempo
 Padrão para modelagem conceitual de BD
 modelo simples
 poucos conceitos
 representação gráfica
 fácil compreensão
 Um esquema conceitual de BD é também
chamado de diagrama ER

Conceitos do Modelo ER
Entidade
 Entidade
 Conjunto de objetos da realidade modelada sobre
as quais deseja-se manter informações no banco
de dados (Heuser, 1998).
 Uma entidade é representada por um retângulo
que contém o nome da entidade

Diagrama de ocorrências
Entidade
Empregado Departamento

p1 d1

p2 d2

p3 d3

p4 d4
p5 d5

6
Conceitos do Modelo ER
Relacionamento
 Relacionamento
 Conjunto de associações entre entidades.
 É representado por um losango ligado por linha
aos retângulos.
 Relacionamento binário:
 ocorrências envolvem duas entidades ou
associações entre ocorrências de uma mesma
entidade.

Diagrama de ocorrências
relacionamentos
Empregado Trabalha-para Departamento

p1.d2 d1
p1

p2 d2
p2.d2
p3 d3

p4 p5.d4 d4
p5 d5

Conceitos do Modelo ER
Auto-relacionamento
 Auto-relacionamento
 É um relacionamento entre ocorrências de uma
mesma entidade.
 Tem-se um conceito adicional o de papel da
entidade no relacionamento.
 Uma ocorrência da entidade exerce o papel1 e a outra
ocorrência da entidade exerce o papel2.

7
Diagrama de ocorrências
auto-relacionamento
Pessoa Casamento

p1 Marido p1.p2

p2 Esposa

p3
p4.p5
p4 Marido

p5
Esposa

Conceitos do Modelo ER
Cardinalidade de relacionamento
 Cardinalidade (mínima, máxima) de entidade
em relacionamento
 Número (mínimo, máximo) de ocorrências de
entidade associadas a uma ocorrência da
entidade em questão através do relacionamento
(Heuser, 1998).

Conceitos do Modelo ER
Cardinalidade de relacionamento
 Cardinalidade máxima
 Empregado tem cardinalidade máxima igual a 1
no relacionamento Trabalha-para.
 Departamento tem cardinalidade máxima igual a
n no relacionamento Trabalha-para.

8
Conceitos do Modelo ER
Cardinalidade de relacionamento
 Cardinalidade máxima
 Expressa que uma ocorrência de EMPREGADO
(entidade do lado oposto da notação) pode estar
associada ao máximo uma (1) ocorrência de
DEPARTAMENTO.

Conceitos do Modelo ER
Cardinalidade de relacionamento
 Cardinalidade máxima
 Expressa que uma ocorrência de DEPARTAMENTO
(entidade do lado oposto da notação) pode estar
associada ao máximo (n) ocorrências de
EMPREGADO.

Conceito: Classificação de
relacionamentos binários
 A cardinalidade máxima pode ser usada para
classificar relacionamentos

 Classificação de relacionamentos
 n:n (muitos-para-muitos),
 1:n (um-para-muitos)
 1:1 (um-para-um)

9
Conceito: Classificação de
relacionamentos binários
 Classificação de relacionamentos
 1:1 (um-para-um)

Conceito: Classificação de
relacionamentos binários
 Classificação de relacionamentos
 1:n (um-para-muitos)

Conceito: Classificação de
relacionamentos binários
 Classificação de relacionamentos
 n:n (muitos-para-muitos)

10
Conceitos do Modelo ER –
Relacionamento ternário
 Grau de relacionamento:
 É o número de entidades que participam desse
relacionamento
 Relacionamentos ternários
 São relacionamentos de grau três.

Conceitos do Modelo ER –
Relacionamento ternário
 Cardinalidade em relacionamentos ternários:
 Refere-se a pares de entidades.
 No relacionamento R entre as entidades A, B e
C, a cardinalidade máxima de A e B dentro de R
indica quantas ocorrências de C podem estar
associadas a um par de ocorrências de A e B.

Conceitos do Modelo ER –
Relacionamento ternário
 O “1” expressa que:
 Cada par de ocorrências (Candidato, Empresa)
esta associado a no máximo uma Entrevista

11
Conceitos do Modelo ER –
Relacionamento ternário
 O “n” expressa que:
 Cada par de ocorrências (Candidato, Entrevista)
esta associado a muitas empresas

Conceitos do Modelo ER –
Relacionamento ternário
 O “n” expressa que:
 Cada par de ocorrências (Empresa, Entrevista)
esta associado a muitos Candidatos

Diagrama de ocorrências
relacionamentos
Candidato CCI
Entrevista
c1 c1.v1.e1
v1
c2
c1.v2.e2
v2

c2.v1.e1
v3
Empresa
c2.v3.e3
e1
p2
c1.e3.v3
e2

e3

12
Conceitos do Modelo ER
Cardinalidade de relacionamento
 Cardinalidade mínima de entidade em
relacionamento
 Número mínimo de ocorrências de entidade
associadas a uma ocorrência da entidade em
questão através do relacionamento. (HEUSER,
1998).
 Cardinalidade mínima 1 recebe a denominação
de associação obrigatória
 Cardinalidade mínima 0 recebe a denominação
de associação opcional

Conceitos do Modelo ER
Cardinalidade de relacionamento
 Empregado tem cardinalidade mínima igual a
1 no relacionamento Possui.
 Dependente tem cardinalidade mínima igual
a 0 no relacionamento Possui.

Conceitos do Modelo ER
Cardinalidade de relacionamento
 Expressa que uma ocorrência de EMPREGADO
(entidade do lado oposto da notação) pode
existir sem que a ela esteja associado um
DEPENDENTE.

13
Conceitos do Modelo ER
Cardinalidade de relacionamento
 Expressa que uma ocorrência de
DEPENDENTE (entidade do lado oposto da
notação) deve estar associada a no mínimo 1
ocorrência de EMPREGADO.

Revisão modelo ER – Notação


Entidade
a4 (0,1)
a1
a2 (0,n) papel 1 (0,n)
a5 a6 (1,n) (0,n) Indique uma entidade
E1 r1 E2
neste DER r3
a7 (1,n) papel 2 (1,1)
(1,1) a3
E3 r2
entidade
(1,n) E7 E8
E4 (1,1) (1,n) (1,1)
a8 (1,n)
E11 a11 r6
p r4
r5
(0,1)
(0,n)
a9
E5 E6 E9 (0,n) E12
E10
a12 a13
a10

Revisão modelo ER – Notação


Relacionamento
relacionamento
a4 (0,1)
a1
a2 (0,n) papel 1 (0,n)
a5 a6 (1,n) (0,n)
E1 r1 E2 r3
a7 (1,n) papel 2 (1,1)
(1,1) a3
E3 r2

(1,n) E7 E8
Aponte um relacionamento
E4 (1,1) (1,n) (1,1)
a8 (1,n) neste DER
E11 a11 r6
p r4
r5
(0,1)
(0,n)
a9
E5 E6 E9 (0,n) E12
E10
a12 a13
a10

14
Revisão modelo ER – Notação
Auto-relacionamento
auto-relacionamento
a4 (0,1)
a1
a2 (0,n) papel 1 (0,n)
a5 a6 (1,n) (0,n)
E1 r1 E2 r3
a7 (1,n) papel 2 (1,1)
(1,1) a3
E3 r2

(1,n) E7 E8
Apresente no DER
E4 um auto- (1,1) (1,n) (1,1)
a8 (1,N)
relacionamento
E11 a11 r6
p r4
r5
(0,1)
(0,n)
a9
E5 E6 E9 (0,n) E12
E10
a12 a13
a10

Revisão modelo ER – Notação


Relacionamento ternário
relacionamento
ternário a4 (0,1)
a1
a2 (0,n) papel 1 (0,n)
a5 a6 (1,n) (0,n)
E1 r1 E2 r3
a7 (1,n) papel 2 (1,1)
(1,1) a3
E3 r2

(1,n) Indique o E7
relacionamento
E8
ternário
E4 (1,1) (1,n) (1,1)
a8 (1,n)
E11 a11 r6
p r4
r5
(0,1)
(0,n)
a9
E5 E6 E9 (0,n) E12
E10
a12 a13
a10

Revisão modelo ER – Notação


Cardinalidade
Cardinalidade máxima n

a4 (0,1)
a1
a2 (0,n) papel 1 (0,n)
a5 a6 (1,n) (0,n)
E1 r1 E2 r3
a7 (1,n) papel 2 (1,1)
(1,1) a3
E3 r2
Cardinalidade
(1,n) E7 E8
máxima 1
Indique a cardinalidade
E4 máxima (1,1) (1,n) (1,1)
dea8 (1,n)
dois relacionamentos
E11 a11 r6
p r4
r5
(0,1)
(0,n)
a9
E5 E6 E9 (0,n) E12
E10
a12 a13
a10

15
Pontos importantes
 Apresentou-se a modelagem conceitual como
parte integrante do projeto de um BD
 Mostrou-se as vantagens de uma modelagem
conceitual de dados
 Conceitos da abordagem ER
 Entidade
 Relacionamento
 Auto-relacionamento
 Cardinalidade de relacionamento
 Classificação de relacionamento
 Relacionamento ternário

Tópicos subsequentes
 Atributo
 Cardinalidade de atributo
 Tipos de atributos
 Entidade Fraca
 Entidade Associativa
 Generalização/especialização

Referências Bibliográficas
 HEUSER, Carlos Alberto. Modelos de Banco de Dados. In: ______.
Projeto de Banco de Dados. Porto Alegre: Sagra Luzzatto, 1998.
p. 5-8.
 HEUSER, Carlos Alberto. Abordagem entidade-relacionamento. In:
______. Projeto de Banco de Dados. Porto Alegre: Sagra
Luzzatto, 1998. p. 11-40.

16

Você também pode gostar