objetivos modelagem conceitual – parte i modelagem conceitual parte...2 modelagem conceitual...

8

Click here to load reader

Upload: hakien

Post on 09-Dec-2018

215 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Objetivos Modelagem Conceitual – parte I Modelagem Conceitual parte...2 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos independente

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

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 2: Objetivos Modelagem Conceitual – parte I Modelagem Conceitual parte...2 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos independente

2

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

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 3: Objetivos Modelagem Conceitual – parte I Modelagem Conceitual parte...2 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos independente

3

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

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 4: Objetivos Modelagem Conceitual – parte I Modelagem Conceitual parte...2 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos independente

4

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.

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 5: Objetivos Modelagem Conceitual – parte I Modelagem Conceitual parte...2 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos independente

5

� 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

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 6: Objetivos Modelagem Conceitual – parte I Modelagem Conceitual parte...2 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos independente

6

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

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 7: Objetivos Modelagem Conceitual – parte I Modelagem Conceitual parte...2 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos independente

7

� 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

� 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

a10 a12 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

a10a12 a13

a11

relacionamento

Aponte um relacionamento neste DER

Page 8: Objetivos Modelagem Conceitual – parte I Modelagem Conceitual parte...2 Modelagem Conceitual Projeto conceitual Projeto conceitual Modelagem dos dados e seus relacionamentos independente

8

(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

a10a12 a13

a11

Cardinalidade máxima n

Cardinalidade máxima 1

Indique a cardinalidade máxima de dois relacionamentos

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.