• Nenhum resultado encontrado

Aula 5 - Construindo Modelos ER

N/A
N/A
Protected

Academic year: 2021

Share "Aula 5 - Construindo Modelos ER"

Copied!
72
0
0

Texto

(1)

+

Prof: Marcelo Marinho

marinho@deinfo.ufrpe.br

Banco de Dados

– Construindo

(2)

Roteiro

Construindo modelo E R:

Conselhos práticos

Heurísticas

Notações alternativas

(3)

Propriedades de modelos ER

Modelo ER é um modelo

formal

Poder de expressão é

limitado

Eqüivalência

entre modelos

(4)

Modelo ER é um modelo formal

Modelo

preciso, não ambíguo.

Diferentes leitores de um mesmo modelo ER

devem sempre entender exatamente o mesmo

DER pode ser usado como entrada a uma

ferramenta CASE

Fundamental:

 todos os envolvidos devem estar treinados na sua

perfeita compreensão. 

Risco: sub-utilização

(5)

Poder de expressão limitado

Modelo

ER

apresenta

apenas

algumas

propriedades de um banco de dados

 Foi concebido para o projeto da estrutura de um BD

relacional;

Poder de expressão limitado para expressar

restrições de integridade genéricas (regras de

negócio);

(6)

Poder de expressão limitado -

exemplo

PESSOA CASAMENTO marido esposa p1 p8 p7 p5 p6 p4 p3 p2 p1,p3 p6,p8 m e p3,p6 m m p5,p5 1 1 e e e m

(7)

Poder de expressão limitado –

exemplo:

Relacionamento recursivo

e1 e8 e7 e5 e6 e4 e3 e2 e1,e3 e3,e5 EMPREGADO SUPERVISÃO 1 n supervisor supervisionado super-

visor super- visionado

super-

visor super- visionado

e1,e2 e3,e4 e5,e1 super- visor super- visionado

(8)

Poder de expressão limitado

Algumas restrições de integridade podem ser

expressas diretamente no DER através de

restrições de cardinalidade;

Outras somente expressas em separado através

de outra linguagem – normalmente em linguagem

natural.

(9)

Eqüivalência entre modelos

Dois

modelos

ER

diferentes

podem

ser

equivalentes

Modelos equivalentes

 expressam o mesmo, ou

 modelam a mesma realidade.

Para fins de projeto de BD, dois modelos ER são

equivalentes quando:

 ambos geram o mesmo esquema de BD.

Considerar um conjunto de regras de tradução de

(10)

Exemplo de eqüivalência entre

modelos

nome

MÉDICO (1,n) CONSULTA (0,n) PACIENTE

código nome data/hora código

(11)

Modelo Equivalente

(1,n) (0,n) MÉDICO código nome CONSULTA data/hora PACIENTE nome código (1,1) (1,1)

(12)

Transformação de relacionamento

n:n em entidade (1)

O relacionamento n:n é representado como uma

entidade

A entidade criada é relacionada às entidades que

originalmente participavam do relacionamento

A entidade criada tem como identificador:

 Os relacionamentos com as entidades que originalmente

participavam do relacionamento; e

 os atributos que eram identificadores do relacionamento

original (caso o relacionamento original tivesse atributos identificadores)

(13)

Transformação de relacionamento

n:n em entidade (2)

Nos relacionamentos de que participa, a

cardinalidade da entidade criada é sempre (1,1)

As cardinalidades das entidades que eram

originalmente associadas pelo relacionamento

são transcritas ao novo modelo conforme

mostrado na figura.

(14)

Modelo ER sem relacionamento

n:n

Relacionamento n:n pode ser transformado em

entidade

É possível construir modelos sem relacionamentos

n:n

Há variantes da abordagem ER, que

 excluem o uso de relacionamentos n:n

 excluem apenas o uso de relacionamentos n:n com atributos

Exemplo:

(15)

Identificando construções

Determinação da construção da abordagem ER

(entidade, relacionamento,...) que

será usada

para modelar

um

objeto

de uma realidade:

 não pode ser feita através da observação do objeto isoladamente

 é necessário conhecer o contexto (modelo dentro do

(16)

Identificando construções

Recomendação geral

Decisão por uma construção para a modelagem

de um objeto

está sujeita a alteração durante a

modelagem

Não despender um tempo excessivo em longas

discussões sobre como modelar um objeto

Desenvolvimento do modelo e o aprendizado

sobre a realidade irão

refinando e aperfeiçoando

(17)

17

Atributo versus entidade

relacionada

AUTOMÓVEL cor AUTOMÓVEL COR (1,1) (0,n) ou

(18)

Atributo versus entidade relacionada

critérios (1)

Objeto está vinculado a outros objetos

 deve ser modelado como entidade

Caso contrário

(19)

Atributo versus entidade relacionada

critérios (2)

Conjunto de valores de um determinado objeto é

fixo (domínio

fixo

)

 pode ser modelado como atributo

Existem transações no sistema que alteram o

conjunto de valores do objeto (domínio

variável

)

(20)

Exercício

Deseja-se modelar os clientes de uma organização.

Cada cliente possui um identificador, um nome, um

endereço e um país. Discuta as vantagens e

desvantagens das duas alternativas de modelagem de

país:

a) Como atributo da entidade cliente

(21)

Atributo versus

generalização/especialização

Questão

modelar um determinado objeto (por, exemplo, a

categoria funcional de cada empregado de uma

empresa)

como atributo?

categoria funcional como atributo da entidade EMPREGADO)

ou como uma especialização?

cada categoria funcional corresponde a uma especialização da entidade empregado)

(22)

Atributo versus

generalização/especialização

Especialização deve ser usada quando

 as classes especializadas de entidades possuem

propriedades particulares: atributos

relacionamentos

(23)

Atributo versus

generalização/especialização

EMPREGADO categoria funcional nome código EMPREGADO nome código MOTORISTA ENGENHEIRO CREA número da carteira de habilitação data de expiração da carteira de habilitação t

(24)

Entidade versus especialização

Questão:

 Deve-se modelar um determinado objeto como:

Uma entidade relacionada a outra? Ou como uma especialização

Observar o identificador do objeto em questão:

 Lembrar que uma entidade especializada herda o

identificador de sua entidade genérica.

(25)

Entidade versus especialização

(26)

Entidade versus especialização

(27)

Entidade versus especialização

(28)

Entidade versus especialização

(29)

Entidade versus especialização

(30)

Entidade versus especialização

(31)

Atributo opcional

 Atributo opcional

 Podem indicar subconjuntos de entidades que são modelados

mais corretamente através de especializações

 Exemplo EMPREGADO tipo de empregado nome CREA (0,1) CRM (0,1) número da carteira de habilitação (0,1) data de expiração da carteira de habilitação (0,1) código

(32)

Atributo opcional

EMPREGADO tipo de empregado nome CREA (0,1) CRM (0,1) número da carteira de habilitação (0,1) data de expiração da carteira de habilitação (0,1) código EMPREGADO nome código MOTORISTA ENGENHEIRO CREA número da carteira de habilitação data de expiração da carteira de habilitação t MÉDICO CRM

(33)

Atributo multivalorado é

indesejável

SGBD relacional que segue o padrão SQL/2:

 Atributo multivalorado não possui implementação direta

SGBD OO ou objeto/relacional:

 Atributo multi-valorado normalmente é modelado como

classe separada

Atributos multivalorados podem induzir a um

erro de modelagem

 Ocultar entidades e relacionamentos em atributos

(34)

Atributo multivalorado

eliminação

EMPREGADO lançamento pagamento (0,n) dependente (0,n) nome nome EMPREGADO LANÇAMENTO PAGAMENTO DEPENDENTE (0,n) (1,1) (0,n) (1,1) TIPO LANÇAMENTO (1,1) (0,n) valor nome data de nascimento código descrição

(35)

Exercício

Apresente um diagrama ER que modele mais

precisamente esta realidade. Explique no que

seu diagrama é mais preciso que o mostrado na

figura:

Retorno 56 CLIENTE sexo (0,1) nome (0,1) CIC (0,1) CGC (0,1) razão social (0,1) data de nascimento (0,1) código telefone (0,n)

(36)

Verificação do modelo

 Modelo deve ser correto  Modelo deve ser completo

(37)

Modelo deve ser correto

Erros

 sintáticos  semânticos

Erros semânticos mais difíceis de verificar

Regras de normalização auxiliam na validação

(38)

Exemplos de erros semânticos

 Estabelecer associações incorretas.

 associar a uma entidade um atributo que na realidade pertence

a outra entidade

 Usar uma entidade como atributo de outra entidade  Usar o número incorreto de entidades em um

relacionamento.

 fundir em um único relacionamento ternário dois

(39)

Modelo deve ser completo

Deve fixar todas propriedades desejáveis do

banco de dados

Somente pode ser verificado por alguém que

conhece profundamente o sistema a ser

implementado

(40)

Verificação de completitude

Forma de verificar

 dados que devem ser obtidos do banco de dados estão

presentes?

 todas as transações de modificação do banco de dados

podem ser executadas sobre o modelo?

Requisito é aparentemente conflitante com a falta

(41)

Modelo deve ser livre de

redundâncias

Modelo deve ser mínimo, isto é não deve conter

conceitos redundantes

Tipos de redundância

 Relacionamentos redundantes  Atributos redundantes

(42)

O que fazer com construções

redundantes?

Alternativas

 não devem aparecer no modelo ou

 devem aparecer indicadas como redundantes

Implementação

pode conter

redundância

(43)

Relacionamentos redundantes

FÁBRICA

DEPTO

EMPREGADO TRABALHO MÁQUINA

LOCALIZAÇÃO DEPTO ASSOCIAÇÃO SINDICATO LOCALIZAÇÃO FÁBR ATUAÇÃO (0,n) (0,n) (0,n) (1,1) (1,1) (0,n) (0,n) (0,n) (0,n) (1,1) (1,1) (0,1) (0,n) (0,n) F-D D-E

(44)

Atributos redundantes ou

deriváveis

DEPARTAMENTO (1,1) LOTAÇÃO n EMPREGADO

nº de empregados CÓDIGO

(45)

Modelo deve refletir o aspecto

temporal

Dados temporais

 dados que mudam ao longo do tempo e  para as quais BD mantém histórico

Tipos de dados

temporais

 Atributos cujos valores modificam ao longo do tempo  Relacionamentos que modificam ao longo do tempo

(46)

Atributos temporais

salário

EMPREGADO

(a)

(b) Banco de dados contém

apenas o salário atual

Banco de dados contém a história dos salários

data valor

EMPREGADO

SALÁRIO (1,1)

(47)

Atributos temporais (continuação)

período valor EMPREGADO Salários Anteriores (1,1) (0,n) Salário Atual

(48)

Relacionamentos que modificam

ao longo do tempo

MESA 1 1 ALOCAÇÃO EMPREGADO (a)

Base de dados contém apenas a alocação atual

(b)

Base de dados contém a história das alocações

EMPREGADO n n MESA ALOCAÇÃO data

Relacionamento 1:1 temporal

(49)

Relacionamento 1:n temporal

DEPARTAMENTO 1 n LOTAÇÃO EMPREGADO (a) (b)

Base de dados contém apenas a lotação atual

Base de dados contém a história das lotações

EMPREGADO n n LOTAÇÃO data DEPARTAMENTO nº documento de lotação nº documento de lotação nome nome

(50)

Relacionamento n:n temporal

CURSO n n INSCRIÇÃO PARTICIPANTE (a) (b)

Base de dados contém apenas a inscrição atual

Base de dados contém a história das inscrições

PARTICIPANTE n n data CURSO INSCRIÇÃO data

(51)

Consultas a dados referentes ao

passado

Muitas vezes, informações referentes ao passado

são eliminadas da base de dados (arquivamento)

Podem ser necessárias no futuro

 por motivos legais

 para realização de auditorias  para tomada de decisões

(52)

Dados referentes ao passado

planejar arquivamento

Solução que poderia ser considerada

 reincluir as informações no banco de dados, quando elas

forem necessárias

 problema: restrições de integridade referencial

Planejar informações estatísticas

 Quando informações antigas são necessárias apenas para

tomada de decisões

 Pode ser conveniente manter no banco de dados

informações compiladas e eliminar as informações usadas na compilação

(53)

Entidade isolada

Caso raro, mas não incorreto

Entidade que muitas vezes aparece isolada

Caso típico

 Entidade que modela a organização na qual o sistema

(54)

Entidade isolada

exemplo

 Exemplo: BD de uma universidade

 A entidade UNIVERSIDADE pode ser necessária, caso se

deseje manter no BD alguns atributos da universidade

 O modelo não deveria conter o relacionamento desta

entidade com outras, como ALUNO ou CURSO

 BD modela uma única universidade

 não é necessário informar no BD em que universidade o

aluno está inscrito ou a qual universidade o curso pertence

(55)

Estabelecimento de padrões

 Modelos de dados são usados para comunicação

 com pessoas da organização

 com programas (ferramentas CASE, geradores de código,…)

 É necessário estabelecer padrões de confecção de modelos  Na prática e na literatura

 Muitas variantes de modelo ER

 Variantes em

 sintaxe  semântica

(56)

56

Variantes de modelos ER

 Peter Chen (acadêmica)  Engenharia de Informações  UML

(57)

57

Notação Engenharia de

Informações

DEPARTAMENTO LOTAÇÃO EMPREGADO

(0,n) (1,1)

DEPARTAMENTO tem lotado EMPREGADO

está lotado em

Notação para cardinalidade máxima e mínima: Cardinalidade (mínima, máxima) 1

Cardinalidade mínima 0 Cardinalidade máxima n

(58)

58

Notação Engenharia de

Informações

 Relacionamentos representados por linha  Conseqüências:

 apenas relacionamentos binários

 atributos aparecem exclusivamente em entidades

 Denominação de relacionamento na forma de verbo

 DEPARTAMENTO tem lotado EMPREGADO

(59)

59

Notação Engenharia de

Informações

 Notação para cardinalidade máxima e mínima é gráfica  Generalização/especialização é chamada de subconjunto

(subtipo) de entidades

(60)

60

Engenharia de informações

subtipos de entidades

EMPREGADO DEPARTAMENTO GERENTE SECRETÁRIA ENGENHEIRO PROCESSADOR DE TEXTOS tem lotado está lotado em gerencia é gerenciado por PROJETO está alocado em tem alocado é dominado por domina

(61)

61

Abordagem UML

 UML (Unified Modeling Languagem) ou Linguagem

Unificada de Modelagem

 Reúne grande conjunto de notações para modelagem de

software em diferentes níveis de abstração. Trata-se de abordagem diferente da ER.

 Entretanto, com algumas ressalvas, para a etapa de

modelagem conceitual, pode ser utilizado o diagrama de classe. A terminologia da UML (origináriada programação OO) difere da ER.

(62)

62 Tabela 3.1: Correspondência entre conceitos da abordagem ER

e da abordagem UML

Abordagem UML

ER

UML

entidade relacionamento cardinalidade generalização/ especialização classe associação multiplicidade generalização

(63)

63

Notação MERISE

DEPARTAMENTO LOTAÇÃO EMPREGADO

(0,n)

(1,1)

(64)

64

Uso de ferramentas de

modelagem

 Diagrama ER não deve ser confeccionado manualmente

 muito trabalhoso

 revisões são freqüentes

 diagramas feitos à mão não são atualizados, quando de alterações

do esquema

 Recomendável que seja usada uma ferramenta em

computador para apoio à modelagem

 Alternativas:

 Uso de uma ferramenta CASE

(65)

65

Estratégias de modelagem

 Estratégia de modelagem ER

 uma seqüência de passos (uma “receita-de-bolo”) de

transformação de modelos desde o modelo inicial de modelagem até o final

 Diferentes estratégias

 Bottom-up

 Top-down

(66)

66

Definição da estratégia de

modelagem

 Na prática

 Nenhuma das estratégias propostas na literatura é

universalmente aceita

 Normal

 Combinação das diversas estratégias de modelagem

 Compreensível

(67)

67

Definição da estratégia de

modelagem

 Identificar qual a fonte de informações principal para o

processo de modelagem:

 Descrições de dados existentes

 estratégia bottom-up

 Conhecimento de pessoas sobre o sistema

(68)

68

Estratégia “top-down”

 Partir de conceitos mais abstratos (“de cima”)

 Ir gradativamente refinando estes conceitos em conceitos

(69)

69

Estratégia “top-down”

processo (1)

 Modelagem superficial

 Enumeração das entidades

 Identificação dos relacionamentos (cardinalidade máxima) e

hierarquias de generalização/especialização entre as entidades.

 Determinação dos atributos de entidades e relacionamentos.

 Determinação dos identificadores de entidades e

relacionamentos.

(70)

70

Estratégia “top-down”

processo (2)

 Modelagem detalhada

 Domínios dos atributos.  Cardinalidades mínimas

 Demais restrições de integridade.

 Validação do modelo

 Construções redundantes ou deriváveis a partir de outras no

modelo.

(71)

71

Estratégia

“inside-out”

EMPREGADO DEPARTAMENTO

GERENTE SECRETÁRIA ENGENHEIRO

PROCESSADOR DE TEXTOS PROJETO DOMÍNIO PARTICIPAÇÃO LOTAÇÃO tipo de empregado nome CREA CIC (1,1) (0,n) (1,n) (0,n) (0,n) (0,n) GERÊNCIA (1,n) (0,1) p

(72)

Bibliografia

 Heuser, Carlos A., Projeto de Banco de Dados. Série Livros

Didáticos II-UFRGS, Editora Sagra Luzzatto, 2009.

 Navathe, Shamkant B. e Elmasri, Ramez E. Sistemas de

Banco de Dados. Pearson Brasil, 2005.

 Abraham, Silberschatz, Korth, Surdarshan. Sistema de

Banco de Dados. Makon Books, 2004.

 Elmasri, Navathe. Sistema de Banco de Dados. Pearson

brasil, 2005.

Referências

Documentos relacionados

Pelo que vindo os Romanos a lançar de Espanha aos Cartagineses que ocupavam grande parte dela, foi-lhes fácil haver o universal senhorio de todos, e reduzir

Em 1º de abril de 2014, os empregados integrantes da categoria profissional representada pelo Sindicato dos Trabalhadores na Indústria da Construção Civil de

Para os canteiros de obras ou fábricas que não se enquadrem na citada Portaria, deverá ser providenciado local protegido, com mesas e bancos para os trabalhadores efetuarem

Dessa forma, os objetivos são apresentar e discutir a aceleração como alternativa no processo educacional de alunos com altas habilidades ou superdotação, apresentando um caso

SOBRAL MONTE AGRAÇO ALENQUER ALENQUER ALENQUER TORRES VEDRAS TORRES VEDRAS LOCALIDADE N.º OFERTA OFERTAS DE EMPREGO. Unidade Emissora: Data de Emissão N.º

Inadimplência pelo Arrematante: Uma vez finalizado o Leilão, caso o Arrematante não efetue o pagamento no prazo de 2 (dois) dias úteis contados do encerramento do Leilão ou da data

Procedimento concursal para constituição de reserva de recrutamento de pessoal docente do ensino português no estrangeiro, para o cargo de professor, compreendendo os níveis

2 INSPEÇÃO NO SERVIÇO DE ESGOTAMENTO SANITÁRIO