modelagem conceitual – parte i - uel portal ... modelagem conceitual parte i - 3... · 3...

16
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 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

Upload: votruc

Post on 07-Nov-2018

235 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 2: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 3: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 4: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 5: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 6: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 7: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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.

Page 8: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 9: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 10: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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)

Page 11: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 12: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 13: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 14: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 15: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos

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

Page 16: Modelagem Conceitual – parte I - UEL Portal ... Modelagem Conceitual parte I - 3... · 3 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus 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.