59
1 Modelagem Conceitual e Modelo ER Gerenciamento de Dados e Informação Fernando Fonseca & Robson Fidalgo Modelagem Conceitual e o Modelo Entidade-Relacionamento

Modelagem Conceitual e o Modelo Entidade-Relacionamentofjclf/gdi/aulas/03-ModelagemConceitual.pdf · Modelo Entidade-Relacionamento (E/R) Entidade ... ser representados em um único

Embed Size (px)

Citation preview

1Modelagem Conceitual e

Modelo ER

Gerenciamento de Dados e Informação

Fernando Fonseca&

Robson Fidalgo

Modelagem Conceitual e o ModeloEntidade-Relacionamento

2Modelagem Conceitual e

Modelo ER

Modelagem

Transformar aspectos do mundo real em um modelo de dados formal

Modelo de DadosGenéricos

Específicos de SGBD

Modelagem Conceitual

Modelagem Lógica

3Modelagem Conceitual e

Modelo ER

Componentes de um Modelo de Dados

Uma coleção de tipos de objetos

Blocos básicos de construção de modelos (Estruturas)

Ex: Relações, Domínio (Modelo Relacional)Uma coleção de operações

Meio de manipular e atualizar os tipos de objetos

Ex: Álgebra Relacional (Modelo Relacional)

4Modelagem Conceitual e

Modelo ER

Uma coleção de regras de integridade Restringem o conjunto de estados válidos dos tipos de objetos (conteúdo)

Ex.: Valores de chave primária devem ser únicos e não nulos (Modelo Relacional)

Componentes de um Modelo de Dados

5Modelagem Conceitual e

Modelo ER

Estruturas

Representam atributos cujos valores são interpretações de objetos do mundo real e suas propriedades

Inteiro Domínio

Idade Preço Número de Veículos

Atrib

uto

s

6Modelagem Conceitual e

Modelo ER

Operações

Especificam uma Ação - O Que é Para Ser Feito

SeleçãoAcessar Dadose Armazená-losem MemóriaPrincipal

Acessar

Inserir

Remover

AtualizarIdade de Maria?

7Modelagem Conceitual e

Modelo ER

Operações (cont.)

Preservando propriedades do esquema do BD e do modelo de dados

Transformam um estado de BD em outro estado

Dois níveis:

Definidas pelo SGBD

Implementadas pela aplicação

8Modelagem Conceitual e

Modelo ER

Restrições

Razões semânticas (regras de negócio)

Permitem que os esquemas reflitam mais precisamente as situações do mundo real

Ex.: Um empregado do departamento “Finanças” não pode ter a categoria funcional “ Engenheiro”

De integridade

Restringem os estados possíveis do BD àqueles que respondem às restrições

Ex.: O CPF de todo empregado deve ser único e não pode ser desconhecido (não informado)

9Modelagem Conceitual e

Modelo ER

Restrições (cont.)

Tipos Básicos

Implícitas

Restrições inerentes a cada modelo e parte integral das estruturas do modelo

Ex.: Conjuntos e Relações (Ausência de duplicidade e ordem)

Ex.: A quantidade de faltas de um aluno é um número inteiro

10Modelagem Conceitual e

Modelo ER

Restrições (cont.)

Explícitas

Estáticas: Expressam regras para determinar estados válidos do BD

O salário de um funcionário deve ser igual ou superior ao salário mínimo nacional

Dinâmicas: Especificam que transições de estados são permitidos (Dirigidas a operações)

O salário de um funcionário nunca poderá diminuir, só aumentar

Tipos Básicos (Cont.)

11Modelagem Conceitual e

Modelo ER

Modelagem Conceitual

Análise de Dados

Primeiro passo no desenvolvimento de um BD

Determinar os recursos de dados fundamentais de uma organização

Em termos de entidades e relacionamentosentidades e relacionamentos

...Permitindo o projeto de uma estrutura de capaz de dar apoio a diversas aplicaçõesaplicações relacionadas

12Modelagem Conceitual e

Modelo ER

Auxilia o desenvolvimento ou conversãodesenvolvimento ou conversão de aplicações

Estabelece as bases de todos os fatos relevantesfatos relevantesà organização de dados

Facilita a integraçãointegração das diversas divisões de uma organização pela indicação dos dados que lhe são comuns

Forma uma base para o controle de dadoscontrole de dados, , segurança e auditoriasegurança e auditoria

Alguns impactos da Análise de Dados

Modelagem Conceitual

13Modelagem Conceitual e

Modelo ER

Ciclo de Desenvolvimento de Bancos de Dados

Investigaçãodos Dados

Modelagemdos Dados

Projeto do Banco de Dados

Implementação do Banco de Dados

Monitoramento eManutenção do BD

Modelagem Conceitual

14

Modelo Entidade-Relacionamento

Resultado da modelagem conceitual

Dados que deverão ser armazenados em um BD

Representado graficamente

Passível de transformação para o nível lógico

Mapeamento ER -> Relacional

Ferramentas disponíveis:http://dia-installer.de/index_en.html (através de sheets)

http://www.freedownloadscenter.com/Business/Accounting_Tools/Entity_Developer_Express.html

Modelagem Conceitual e Modelo ER

15Modelagem Conceitual e

Modelo ER

Modelo Entidade-Relacionamento (E/R)

Entidade

Representação abstrata dos objetos do mundo real - dados que são armazenados (um Ser, um Fato)

Ex.: Funcionário, Departamento

Conjunto/Tipo de Entidade vs. Entidades

Grupos de entidades com características similares

Ex.: Conjunto de Departamentos da EmpresaCorresponde aos substantivos Corresponde aos substantivos na na descrição da análise conceitualdescrição da análise conceitual

16Modelagem Conceitual e

Modelo ER

Modelo E/R

Relacionamento

Associação entre objetos dos sistema

Ex: Departamento D1 Emprega o Funcionário F3

Conjunto de Relacionamentos

Grupo de relacionamentos do mesmo tipo

Ex: Emprega (Departamento X Funcionário)

Corresponde aos verbos Corresponde aos verbos nanadescrição da análise conceitualdescrição da análise conceitual

17Modelagem Conceitual e

Modelo ER

Modelo E/R

Atributos

Toda propriedade de uma entidade ou relacionamento

Ex: Nome, Endereço e Salário são propriedades de Funcionário

Chave - Atributo(s) Determinante(s)

Conjunto de atributos que determina unicamenteuma ocorrência de uma entidade

18

Complementam as entidades Complementam as entidades da análise conceitualda análise conceitual

Modelagem Conceitual e Modelo ER

Ex: CÓDIGO Disciplina MATRÍCULA Funcionário

Modelo E/R

Atributos (Cont.)

Atributos pertencem a um domínio

19Modelagem Conceitual e

Modelo ER

Modelo E/R

Conceitos Complementares

Entidades Fortes e Fracas

Atributos Compostos, Simples, Mono e Multivalorados

Auto-Relacionamento ou Relacionamento Recursivo

Nomes de Papéis

Grau e Cardinalidade de Relacionamentos

Existência

Relacionamento Total ou Obrigatório

Relacionamento Parcial ou Opcional

20Modelagem Conceitual e

Modelo ER

Modelo E/R

Diagrama E/R

Conjunto de Entidades

Conjunto deRelacionamentos

Ferramenta CASE

21Modelagem Conceitual e

Modelo ER

E1

E2

R1nome 1

nome 2Papel

Diagrama E/R

Ferramenta CASE

Modelo E/R

Papel

22Modelagem Conceitual e

Modelo ER

Modelo E/R

Diagrama E/R

Exemplo de papéis em relacionamentos

EmpregadoSupervisiona

Super-visão

1

nÉ Supervisionado

Trabalha-noReúne

Empregado Departamento1n

Cardinalidade

23Modelagem Conceitual e

Modelo ER

Modelo E/RDiagrama E/R

CardinalidadeNúmero de entidades às quais outra entidade pode estar associada via relacionamento

Um - para - um

A B

1

1

E1

E2

R1

24Modelagem Conceitual e

Modelo ER

Modelo E/R

Cardinalidade de relacionamentos

Um - para - muitos

A B

1

n

E1

E2

R1

25Modelagem Conceitual e

Modelo ER

Modelo E/R

Cardinalidade de Relacionamentos

Muitos - para - muitos

A B

m

n

E1

E2

R1

26Modelagem Conceitual e

Modelo ER

Modelo E/R

Mais de um relacionamento envolvendo as mesmas entidades

Professor Disciplina

Coor-dena

1 1

Lecionan m

27Modelagem Conceitual e

Modelo ER

Modelo E/R

Um Relacionamento pode ser N-ário

Cliente Conta

Agência

m

1

nCCA

28

Modelo E/R

Ferramenta CASE – Relacionamento N-ário

Modelagem Conceitual e Modelo ER

29Modelagem Conceitual e

Modelo ER

Modelo E/R

Relacionamento fraco

Restrição de existência

Hospital

Ambulatório

Entidade Forte

Entidade Fraca

Relacionamento FracoTem

30

Modelo E/R

Ferramenta CASE - Relacionamento fraco

Modelagem Conceitual e Modelo ER

31Modelagem Conceitual e

Modelo ER

Modelo E/R

Dependência de identidade

Entidade não pode ser identificada através de seus próprios atributos

Hospital

atributo 1atributo 2...atributo n

Ambulatórioatributo 1atributo x...atributo k

32Modelagem Conceitual e

Modelo ER

Modelo E/R

Diagrama E/R

Conjunto de Atributos E1

at 2

at 3

at 1

Ferramenta CASE

Chave primária

33Modelagem Conceitual e

Modelo ER

Modelo E/RDiagrama E/R

Conjunto de AtributosMultivalorados E1

at 2

at 3

at 1

Atributo multivalorado

Ferramenta CASE

34

Modelo E/RAtributos derivados

Atributo Derivado

Pessoa

Idade

Data Nascimento

35Modelagem Conceitual e

Modelo ER

Modelo E/R

Diagrama E/RAuto-relacionamento

E1 R1

1

n

Relacionamento Total ou Obrigatório

E1

E2

R1ou

E1

E2

R1

36

Modelo E/R

Modelagem Conceitual e Modelo ER

Ferramenta CASE – Auto-relacionamento

Ferramenta CASE – Relacionamento obrigatório

37Modelagem Conceitual e

Modelo ER

Modelo E/R

Diagrama E/R

Relacionamento Parcial ou Opcional

E1

E2

R1

38Modelagem Conceitual e

Modelo ER

Modelo E/RRelacionamento Relevante X Redundante

Necessita compreensão detalhada do ambiente

Cliente

Entrega

R11

n

Pedido

R2n

m

R3

1

n

Entrega ao

R4

1

n

RecebeFaz Tem

39Modelagem Conceitual e

Modelo ER

Modelo E/R

Determinação da existência de relacionamento

Outro relacionamento entre as mesmas entidades tem o mesmo significado

Se um atributo puder descrever mais de um tipo de entidade, pode se tornar um relacionamento

Ex. O atributo “leciona” da entidade “Professor”

40Modelagem Conceitual e

Modelo ER

Modelo E/R

Atributo como outra entidadeO próprio atributo tem atributos relevantes adicionaisOutras entidades são vistas relacionadascom entidades do segundo tipoEntidades do segundo tipo podem se relacionar com várias ocorrências do primeiro tipo

Determinação de existência (Cont.)

41Modelagem Conceitual e

Modelo ER

Modelo E/RRelacionamentos entre subtipos

Entidades que generalizam outras entidades

• Diferenças significativas entre seus atributos (existência)

–Mas um subconjunto comum

• Tiverem diferentes meios de identificação

• Participarem em relacionamentos de tipos diferentes

42Modelagem Conceitual e

Modelo ER

Modelo E/R• Relacionamentos entre subtipos (cont.)

– Hierarquia de relacionamentos É-UM

Contribui para a modularidade, permitindo que atributos comuns de entidades similares possam ser representados em um único lugar de um diagrama E/R

43Modelagem Conceitual e

Modelo ER

Modelo E/R

• Relacionamentos entre subtipos (Cont.)– Generalização e especialização

ÉUMA

ContaNúmero Saldo

Conta Poupança

Juros

Conta-Corrente

Limite

44

Modelo E/R

Modelagem Conceitual e Modelo ER

• Ferramenta CASE – Especialização

45Modelagem Conceitual e

Modelo ER

Modelo E/R• Relacionamentos entre subtipos (Cont.)

Pessoa

Candidato Funcionário Pensionista

Gerente Operário

46Modelagem Conceitual e

Modelo ER

Modelo E/R• Um conceito do mundo real pode ser mais bem

representado por um conjunto de entidades ou conjunto de relacionamentos

Número Saldo

m n

Conta

Cliente

NomeCPF Número Nome

Agência

Relacionamento

47Modelagem Conceitual e

Modelo ER

Modelo E/R

Agência

Conta

Cliente

1

N

M

N

Entidade

48Modelagem Conceitual e

Modelo ER

Modelo E/R• Uso de um Relacionamento Ternário Versus um par

de Relacionamentos Binários– Ex.: Um Empreendimento Bancário onde um

Cliente pode ter diversas Contas, mas apenasuma conta por Agência, uma agência pode ter diversas contas e uma Conta pode pertencer a mais de um Cliente

Cliente Conta

Agência

CCAM

1

N

Relacionamento Ternário

49Modelagem Conceitual e

Modelo ER

Modelo E/R

Cliente Conta

Agência

CCN M

CA

N

1

Relacionamentos Binários

50Graduação

Modelo E/R• Uso de um atributo ou um conjunto de entidades

– Distinção depende da estrutura da empresa que está sendo modelada e da semântica associada ao atributo em questão

Funcionário

Nome Telefone

Funcionário M N TelefoneFuntel

Convencional

Telemarketing

Modelagem Conceitual e Modelo ER

51Modelagem Conceitual e

Modelo ER

Modelo E/R• Agregação

– Agrupar uma parte de um diagrama E/R em um único conjunto-entidade

Funcionáriom n

Trab

Nome HorasCod

Descrição

Projeto

Equipamento

Idm

nUsa

52

Modelo E/R

Modelagem Conceitual e Modelo ER

• Ferramenta CASE – Agregação

53Modelagem Conceitual e

Modelo ER

Um Exemplo• Exemplo: Um Sistema Único de Saúde Ideal

– Hospitais são formados por um ou mais Ambulatórios e cada um destes está em um único Hospital

– Médicos clinicam em um único Hospital, cada um deles agregando vários Médicos

– Hospitais solicitam exames clínicos em vários Laboratórios, cada um destes pode ter solicitações de vários Hospitais

– Pacientes consultam vários Médicos, e estes são consultados por vários Pacientes

54Modelagem Conceitual e

Modelo ER

Um Exemplo– Ambulatórios atendem vários Pacientes,

enquanto estes só podem ser atendidos em um único Ambulatório

– Pessoal de apoio está alocado a cada Ambulatório, e cada um destes conta com vários integrantes do Pessoal de apoio

– Pacientes realizam vários Exames, e cada Exame é realizado por um único Paciente

– Laboratórios fazem vários Exames, e cada um dos Exames é feito em um único Laboratório

55Modelagem Conceitual e

Modelo ER

Um Exemplo– Cada Paciente pode receber vários

Diagnósticos, e cada Diagnóstico é de um único Paciente

56Modelagem Conceitual e

Modelo ER

Hospital

AmbulatórioMédico Laboratório

Pessoal PacienteExame

Diagnóstico

Formado

1

NClinica

1

N

Solicita

M

N

Aloca

1

N

Atende

1

N

Consulta

M

N

Faz

1

N

Realiza

1 N1

N

Um Exemplo

Recebe

57Mestrado / Doutorado

Um Exemplo –Ferramenta CASE

(1,1)

(1,1)

(0,1)

Realiza

(0,1)

(1,1) (1,1)(0,1)

(1,n)

(1,n)

(1,n)

Modelagem Conceitual e Modelo ER

58Modelagem Conceitual e

Modelo ER

Exercício

• Deseja-se guardar dados sobre empregados, departamentos e projetos de uma companhia

• Suponha que, depois da fase de análise de requisitos, os projetistas chegaram à seguinte descrição do “mini-mundo”, ou seja, a parte da companhia a ser representada no banco de dados:

59Modelagem Conceitual e

Modelo ER

Exercício

• A companhia é organizada em departamentos e cada depto tem um nome, um número e um empregado que o gerencia. Deseja-se guardar a data na qual o empregado começou a gerenciar o depto. Um departamento pode estar em vários locais.

• Um depto controla um número de projetos, os quais possuem número, nome e um único local.

• Um empregado é caracterizado por um cadastro, nome, sexo e salário. Ele está associado a um depto mas pode trabalhar em vários projetos que não necessariamente são controlados pelo mesmo depto. Deseja-se guardar o número de horas que um empregado trabalha em um projeto e o supervisor direto de cada empregado (que também é um empregado).

• Cada empregado possui dependentes caracterizados por nome, data de nascimento e grau de parentesco.