Modelagem Conceitual de Sistemas de Informação Introdução Prof. Eber.
Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3...
Transcript of Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3...
1
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 conceitualSumário
� Modelagem conceitual� Conceitos do modelo Entidade Relacionamento
(ER)� Entidade
� Relacionamento
� Auto-relacionamento
� Cardinalidade de relacionamento
� Classificação de relacionamento
� Relacionamento ternário
2
Modelagem ConceitualProjeto de Banco de Dados
� Etapas de um projeto de Banco de Dados
1. análise de requisitos2. projeto conceitual3. projeto lógico4. 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 ConceitualAnálise de requisitos
� Análise de requisitos� engloba todas as tarefas que lidam com
investigação, definição e escopo de novos sistemasou 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 ConceitualAná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
3
Modelagem ConceitualProjeto 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 ConceitualExemplo de projeto conceitual
Esquema ER(Entidade-Relacionamento) +restrições de integridade
Código > 100Função = {professor, funcionário}
fonte: http://www.inf.ufsc.br/~ronaldo/ine5623
Modelagem ConceitualProjeto 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
4
Modelagem ConceitualExemplo de projeto lógico
Conversão do ER para o relacionalServidores (Matrícula, Nome, Função, Depto)chave primária: Matrículachave 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 > 100chave primária: Código . . .
Código > 100Função = {professor, funcionário}
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 ConceitualExemplo de projeto lógico
Conversão do ER para o relacionalServidores (Matrícula, Nome, Função, Depto)chave primária: Matrículachave 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 > 100chave primária: Código . . .
Especificação em SQL
CREATE TABLE Servidores (
Matrícula int, Nome char(50), Função char(20) check(Funçãoin (‘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
5
Modelagem ConceitualProjeto 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
6
Modelagem ConceitualModelo 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 EREntidade
� 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
DepartamentoEmpregado
p1
p2
p3
d5
d4
d3
d2
d1
p4
Diagrama de ocorrênciasEntidade
p5
7
Conceitos do Modelo ERRelacionamento
� 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.
DepartamentoEmpregado
p1
p2
p3
d5
d4
d3
d2
d1
p4
Diagrama de ocorrênciasrelacionamentos
p5
Trabalha-para
p2.d2
p1.d2
p5.d4
Conceitos do Modelo ERAuto-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.
8
Pessoa Casamento
p4.p5
p1.p2
p5
p4
p3
p2
p1 Marido
Esposa
Marido
Esposa
Diagrama de ocorrênciasauto-relacionamento
Conceitos do Modelo ER Cardinalidade de relacionamento
� Cardinalidade (mínima, máxima) de entidadeem relacionamento� Número (mínimo, máximo) de ocorrências de
entidade associadas a uma ocorrência daentidade em questão através do relacionamento(Heuser, 1998).
� 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.
Conceitos do Modelo ER Cardinalidade de relacionamento
9
� 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 estarassociada ao máximo (n) ocorrências deEMPREGADO.
Conceitos do Modelo ER Cardinalidade de relacionamento
� A cardinalidade máxima pode ser usada paraclassificar relacionamentos
� 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
10
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)
11
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
12
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
Entrevista
Candidato
c1
p2
v3
v2
v1
Diagrama de ocorrênciasrelacionamentos
CCI
c1.v1.e1
Empresa
e1
c2
e2
e3
c1.v2.e2
c2.v1.e1
c2.v3.e3
c1.e3.v3
13
� Cardinalidade mínima de entidade emrelacionamento� Número mínimo de ocorrências de entidade
associadas a uma ocorrência da entidade emquestão através do relacionamento. (HEUSER,1998).
� Cardinalidade mínima 1 recebe a denominaçãode associação obrigatória
� Cardinalidade mínima 0 recebe a denominaçãode 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) podeexistir sem que a ela esteja associado umDEPENDENTE.
Conceitos do Modelo ER Cardinalidade de relacionamento
14
� Expressa que uma ocorrência deDEPENDENTE (entidade do lado oposto danotação) deve estar associada a no mínimo 1ocorrência de EMPREGADO.
Conceitos do Modelo ER Cardinalidade de relacionamento
Revisão modelo ER – NotaçãoEntidade
E1 E2
a4 (0,1)a1
r 1
a3
(1,n) (0,n)
r 2
(1,n)
a2 (0,n)
E3(1,1)
(1,n)
E4a8 (1,n)
a7
a5 a6r 3
(0,n)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,n)
(1,1)
r 5
(1,n)
(0,n)
E10
E11 r 6
(1,1)
E12
(0,1)a9
a10a12 a13
a11
E1
entidade
Indique uma entidade neste DER
Revisão modelo ER – NotaçãoRelacionamento
E1 E2
a4 (0,1)a1
r 1
a3
(1,n) (0,n)
r 2
(1,n)
a2 (0,n)
E3(1,1)
(1,n)
E4a8 (1,n)
a7
a5 a6r 3
(0,n)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,n)
(1,1)
r 5
(1,n)
(0,n)
E10
E11 r 6
(1,1)
E12
(0,1)a9
a10 a12 a13
a11
relacionamento
Aponte um relacionamento neste DER
15
(0,n)(0,n)
Revisão modelo ER – NotaçãoAuto-relacionamento
E1 E2
a4 (0,1)a1
r 1
a3
(1,n) (0,n)
r 2
(1,n)
a2 (0,n)
E3(1,1)
(1,n)
E4a8 (1,N)
a7
a5 a6r 3
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,n)
(1,1)
r 5
(1,n)
(0,n)
E10
E11 r 6
(1,1)
E12
(0,1)a9
a10a12 a13
a11
r 3
(1,1)
papel 1
papel 2
Apresente no DER um auto-relacionamento
auto-relacionamento
(1,n)(1,n)
(1,n)(1,n)
Revisão modelo ER – NotaçãoRelacionamento ternário
E1 E2
a4 (0,1)a1
r 1
a3
(1,n) (0,n)
r 2
a2 (0,n)
E3(1,1)
E4a8 (1,n)
a7
a5 a6r 3
(0,n)
(1,1)
papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,n)
(1,1)
r 5
(1,n)
(0,n)
E10
E11 r 6
(1,1)
E12
(0,1)a9
a10a12 a13
a11
r 2(1,1)
relacionamentoternário
Indique o relacionamento ternário
(0,n)
(1,1)
(1,n)
Revisão modelo ER – NotaçãoCardinalidade
E1 E2
a4 (0,1)a1
r 1
a3r 2
(1,n)
a2 (0,n)
E3(1,1)
(1,n)
E4a8 (1,n)
a7
a5 a6r 3
(0,n)papel 1
papel 2
E5 E6
p
E7 E8
r 4
E9
(0,n)
(1,1)
r 5
(1,n)
(0,n)
E10
E11 r 6
(1,1)
E12
(0,1)a9
a10 a12 a13
a11
Cardinalidade máxima n
Cardinalidade máxima 1
Indique a cardinalidade máxima de dois relacionamentos
16
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.