Modelagem Conceitual – parte I

Propaganda
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
Projeto de Banco de Dados
Modelagem conceitual
Sumário
Modelagem conceitual
Conceitos do modelo Entidade Relacionamento
(ER)
Etapas de um projeto de Banco de Dados
1.
2.
3.
Entidade
Relacionamento
Auto-relacionamento
Cardinalidade de relacionamento
Classificação de relacionamento
Relacionamento ternário
4.
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
análise de requisitos
projeto conceitual
projeto lógico
projeto físico
Modelagem Conceitual
Análise de requisitos
Análise de requisitos inclui três tipos de
atividades:
Elicitação dos requisitos:
Análise de requisitos:
é a tarefa de comunicar-se com os usuários e clientes
para determinar quais são os 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
1
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:
esquema conceitual + restrições de integridade
fonte: http://www.inf.ufsc.br/~ronaldo/ine5623
Modelagem Conceitual
Projeto lógico
Esquema ER
(Entidade-Relacionamento) +
restrições de integridade
fonte: http://www.inf.ufsc.br/~ronaldo/ine5623
Modelagem Conceitual
Exemplo de 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
Modelagem Conceitual
Código > 100
Função = {professor, funcionário}
análise da especificação de requisitos
Resultado:
Modelagem Conceitual
Exemplo de projeto 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
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
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);
fonte: http://www.inf.ufsc.br/~ronaldo/ine5623
create table Departamentos ( . . .);
fonte: http://www.inf.ufsc.br/~ronaldo/ine5623
2
Modelagem Conceitual
Projeto Top-Down - Objetivos
Projeto Conceitual
Preocupação: correta abstração do mundo real
(captura correta da semântica da aplicação)
Modelagem Conceitual
Vantagens de uma documentação conceitual
de dados
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)
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
fonte:http://www.inf.ufsc.br/~ronaldo/ine5623
Modelagem Conceitual
Vantagens de uma documentação conceitual
de dados
facilita a manutenção dos dados
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
sofreu diversas extensões e notações ao longo do
tempo
Padrão para modelagem conceitual de BD
modificação de requisitos de dados
engenharia reversa (desempenho, ...)
usado como modelo intermediário
Modelo definido por Peter Chen em 1976
modelo simples
facilita a migração de SGBD
Modelagem Conceitual
Modelo Entidade-Relacionamento
poucos conceitos
representação gráfica
fácil compreensão
Um esquema conceitual de BD é também
chamado de diagrama ER
Diagrama de ocorrências
Entidade
Empregado
p1
Departamento
d1
p2
d2
p3
d3
p4
d4
p5
d5
3
Diagrama de ocorrências
relacionamentos
Conceitos do Modelo ER
Relacionamento
Relacionamento
Empregado
Conjunto de associações entre entidades.
É representado por um losango ligado por linha
aos retângulos.
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).
d5
Pessoa
p1
p2
Casamento
Marido
p1.p2
Esposa
p3
p5
Cardinalidade (mínima, máxima) de entidade
em relacionamento
d4
Diagrama de ocorrências
auto-relacionamento
p4
p5.d4
p5
Uma ocorrência da entidade exerce o papel1 e a outra
ocorrência da entidade exerce o papel2.
Conceitos do Modelo ER
Cardinalidade de relacionamento
d3
p4
É um relacionamento entre ocorrências de uma
mesma entidade.
Tem-se um conceito adicional o de papel da
entidade no relacionamento.
p2.d2
p3
ocorrências envolvem duas entidades ou
associações entre ocorrências de uma mesma
entidade.
Auto-relacionamento
d1
d2
p2
Conceitos do Modelo ER
Auto-relacionamento
Departamento
p1.d2
p1
Relacionamento binário:
Trabalha-para
Marido
p4.p5
Esposa
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.
4
Conceitos do Modelo ER
Cardinalidade de relacionamento
Cardinalidade máxima
A cardinalidade máxima pode ser usada para
classificar relacionamentos
Cardinalidade máxima
Expressa que uma ocorrência de DEPARTAMENTO
(entidade do lado oposto da notação) pode estar
ocorrências de
associada ao máximo (n)
EMPREGADO.
Conceito: Classificação de
relacionamentos binários
Classificação de relacionamentos
1:1 (um-para-um)
Classificação de relacionamentos
n:n (muitos-para-muitos),
1:n (um-para-muitos)
1:1 (um-para-um)
Conceito: Classificação de
relacionamentos binários
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.
Conceito: Classificação de
relacionamentos binários
Conceitos do Modelo ER
Cardinalidade de relacionamento
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)
5
Conceitos do Modelo ER –
Relacionamento ternário
Grau de relacionamento:
É o número de entidades que participam desse
relacionamento
O “1” expressa que:
Cada par de ocorrências (Candidato, Empresa)
esta associado a no máximo uma Entrevista
Conceitos do Modelo ER –
Relacionamento ternário
O “n” expressa que:
Cardinalidade em relacionamentos ternários:
São relacionamentos de grau três.
Conceitos do Modelo ER –
Relacionamento ternário
Relacionamentos ternários
Conceitos do Modelo ER –
Relacionamento ternário
Cada par de ocorrências (Empresa, Entrevista)
esta associado a muitos Candidatos
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 “n” expressa que:
Cada par de ocorrências (Candidato, Entrevista)
esta associado a muitas empresas
Diagrama de ocorrências
relacionamentos
Candidato
CCI
c1
c1.v1.e1
Entrevista
v1
c2
c1.v2.e2
c2.v1.e1
Empresa
e1
e2
v2
v3
c2.v3.e3
p2
c1.e3.v3
e3
6
Conceitos do Modelo ER
Cardinalidade de relacionamento
Cardinalidade mínima
relacionamento
de
Conceitos do Modelo ER
Cardinalidade de relacionamento
entidade
em
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
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.
a5 a6
a7
a4 (0,1)
a1
(1,n)
E1
(0,n)
r1
(1,1)
E7
r4
p
(1,1)
E8
r6
a11
E6
E9
(0,1)
a9
E12
(0,n)
E10
a10
r4
p
r5
a12
a13
papel 1 (0,n)
r3
E2
a3
r2
Aponte um relacionamento
E4
(1,1)
a8 (1,n) neste DER
(1,1)
E11
(0,n)
relacionamento
papel 2 (1,1)
(1,n)
(1,n)
(0,n)
E5
r1
(1,n)
E3
(1,1)
(1,n)
E1
a7
a4 (0,1)
a1
a2 (0,n)
entidade
(1,n)
a9
a5 a6
a3
r2
E4
a8 (1,n)
papel 1 (0,n)
Indique uma entidade
E2 neste DER
r3
papel 2 (1,1)
(1,n)
E3
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
Relacionamento
Revisão modelo ER – Notação
Entidade
a2 (0,n)
Empregado tem cardinalidade mínima igual a
1 no relacionamento Possui.
Dependente tem cardinalidade mínima igual
a 0 no relacionamento Possui.
E7
E8
(1,n)
(1,1)
E11
r6
a11
r5
(0,1)
(0,n)
E5
E6
E9
E10
a10
E12
(0,n)
a12
a13
7
Revisão modelo ER – Notação
Relacionamento ternário
Revisão modelo ER – Notação
Auto-relacionamento
a5 a6
a2 (0,n)
(1,n)
E1
a7
auto-relacionamento
a4 (0,1)
a1
(0,n)
r1
papel 1 (0,n)
r3
E2
(1,1)
E8
E7
(1,1)
E11
r4
E6
E9
a12
a10
a9
(1,n)
E1
a7
(0,n)
r1
E3
(1,1)
r3
E2
a3
(1,n)
E7
Indique a cardinalidade
máxima
E4
(1,n)
dea8
dois
relacionamentos
(1,1)
r4
p
a9
Cardinalidade
máxima 1
E8
(1,n)
E6
E9
r5
Tópicos subsequentes
Atributo
Cardinalidade de atributo
Tipos de atributos
Entidade Fraca
Entidade Associativa
Generalização/especialização
(0,1)
E12
(0,n)
a10
r6
a11
E10
r6
r5
(0,1)
(0,n)
E5
E6
E9
E12
(0,n)
a12
a13
a12
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
(1,1)
E11
(0,n)
E5
papel 2 (1,1)
r2
(1,1)
a11
Pontos importantes
papel 1 (0,n)
(1,n)
r4
(1,n)
E11
a10
a4 (0,1)
a1
a2 (0,n)
(1,1)
E10
a13
Revisão modelo ER – Notação
Cardinalidade
Cardinalidade
máxima n
a5 a6
Indique o E7
relacionamento
E8
ternário
E4
a8 (1,n)
E12
E10
r3
a3
r2
(0,1)
(0,n)
papel 1 (0,n)
E2
papel 2 (1,1)
p
r5
(0,n)
r1
r6
a11
(0,n)
E5
(1,n)
E1
(1,n)
(1,n)
(1,1)
p
(1,1)
E3
(1,n)
a4 (0,1)
a1
(1,n)
a3
r2
Apresente no DER
E4 um autoa8 (1,N)
relacionamento
a9
a7
papel 2 (1,1)
(1,n)
E3
relacionamento
ternário
a2 (0,n)
a5 a6
Entidade
Relacionamento
Auto-relacionamento
Cardinalidade de relacionamento
Classificação de relacionamento
Relacionamento ternário
a13
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.
8
Download