View
213
Download
0
Category
Preview:
DESCRIPTION
222222222222222
Citation preview
UFPr Departamento de Informática 2
Modelo Entidade Relacionamento
Conceitos Básicos
• O modelo Entidade-Relacionamento (ER, ou também chamado Entidade Associação) é usado na maioria dos métodos e ferramentas de auxílio à concepção de BD's (MERISE, IDA, Yourdon,ERWin)
UFPr Departamento de Informática 3
Modelo Entidade Relacionamento
Conceitos Básicos
• A idéia fundamental deste modelo é a de conservar como conceitos de base os conceitos genéricos (objetos, associação, propriedade) usados no processo de abstração que vai da observação de uma realidade à sua descrição.
UFPr Departamento de Informática 4
Modelo Entidade Relacionamento
Conceitos básicos
• Entidade Objetos• Associação Ligação entre os objetos• atributo Propriedade dos objetos.
UFPr Departamento de Informática 5
Modelo Entidade Relacionamento
Entidades
• Um entidade é o objeto do mundo real (concreto ou abstrato) que nós queremos representar no computador e que tem uma existência própria. Uma entidade existe independentemente do fato que ela está ligada à outros objetos do BD. Exemplos: João da Silva, Aparelho de Barbear FYX, Contrato 3201, ...
UFPr Departamento de Informática 6
Modelo Entidade Relacionamento
Tipo de entidade
• Um Tipo de Entidade (TE) é a representação de uma classe de entidades similares e com as mesmas características. Exemplos: Trabalhadores, Artigos, Contratos, Estudantes,....
UFPr Departamento de Informática 7
Modelo Entidade Relacionamento
Associação (relacionamento)
• Uma associação liga várias entidades onde cada uma delas ocupa um "papel". Se a associação liga dois (ou mais) entidades de um mesmo tipo ela é dita cíclica e neste caso a especificação do papel de cada entidade torna-se indispensável. Ex: João da Silva trabalha Esso, Philips fabrica Aparelho de Barbear FYC, ....
UFPr Departamento de Informática 8
Modelo Entidade Relacionamento
Tipo de Associação
• Um tipo de Associação (TA) é a representação de um conjunto de associações similares que possuem as mesmas características. Exemplos: fabrica liga uma Empresa à um Produto, trabalha liga Trabalhadores à Empresa,...
UFPr Departamento de Informática 9
Modelo Entidade Relacionamento
Atributo
• Um atributo é a propriedade associada à um TE, ou à um TA. Exemplos: nome, salário, endereço (para o TE Trabalhadores); nome, nota para o TE Estudantes, ....
UFPr Departamento de Informática 10
Modelo Entidade Relacionamento
Ocorrência ou Instância e População
• Uma ocorrência ou instância de um TE (ou TA) é a representação no BD de um entidade (ou associação) que pertence à classe descrita pelo TE (TA).
• População de um TE (TA) é o conjunto das ocorrências.
UFPr Departamento de Informática 11
Modelo Entidade Relacionamento
Instância
– Uma instância de TE é constituída de um conjunto de valores sendo um valor para cada atributo do TE.
– Uma instância de TA é constituída de um conjunto de valores (que pode ser vazio) e de um conjunto de ocorrências de TE: um valor para cada atributo do TA (se existe um) e para cada papel do TA uma ocorrência do TE que ocupa este papel.
UFPr Departamento de Informática 12
Modelo Entidade Relacionamento
Diagrama ER
• tipos de entidade são representados por retângulos;
• os tipos de associação por losangos (ou símbolos similares (elipse, hexágono, retângulo arredondado,..).
• Os atributos são ligados aos TE e TA por traços.
UFPr Departamento de Informática 13
Modelo Entidade Relacionamento
Exemplo de Diagrama ER
Empregados
Rayon Artigo
FornecedorChefe
EmpregaLivra
Venda
nome salário
nomeR andar
quantidade
quantidade
quantidadenomeA tipo
nomeF endereçoE
R
R
R A
A
F
Sup
Inf
UFPr Departamento de Informática 14
Modelo Entidade Relacionamento
Diagrama ER
• Neste diagramas são representados quatro tipos de entidade:
– Empregado, de atributos nome e salário – Rayon de atributos nomR e andar; – Artigo de atributos nomeA;– Fornecedor de atributos nomeF e
endereço
UFPr Departamento de Informática 15
Modelo Entidade Relacionamento
Tipo de associação
- Livra, de atributo quantidade ligando Fornecedor (com o papel F), artigo (com o papel A) e Rayon , (com o papel
R);
-Venda, de atributo quantidade ligando Rayon (papel R) com Artigo (papel A);
- Chefe que é cíclica, ligando Empregado (papel Inf) e Empregado (papel Sup).
UFPr Departamento de Informática 16
Modelo Entidade Relacionamento
generalização especialização
• Dependendo do ponto de vista ou nível de abstração um mesmo conjunto de objetos pode ser visto como várias classes diferentes mesmo se existem características em comum.
UFPr Departamento de Informática 17
Modelo Entidade Relacionamento
Generalização Especializacão
• O TE Artigo agrupa todos os artigos vendidos, porque certos tratamentos a serem realizados sobre este TE utilizam todos os artigos (inventário, procura do preço, quantidade etc:).
• Pode ser útil separar os artigos em várias classes (alimentação, eletrodomésticos, vestuário, etc:)
UFPr Departamento de Informática 18
Modelo Entidade Relacionamento
Generalização Especialização
• .Neste caso teríamos:– tratamentos específicos para cada classe
criada, (controle de validade para Alimentação, promoções no natal p/ eletrodomésticos, promoções de estação para vestuário, etc).
– classe com características próprias (data de validade para alimentação, tamanho e cor p/ Vestuário, etc).
UFPr Departamento de Informática 19
Modelo Entidade Relacionamento
Generalização Especialização
• Nós seríamos assim conduzidos à descrever, em complemento ao TE Artigo, outros TE's mais especializados, representando classes sobre as quais existem tratamentos e características importantes à acrescentar.
UFPr Departamento de Informática 20
Modelo Entidade Relacionamento
Generalização Especialização
• Este tipo de raciocínio resulta numa situação, até agora, não representável pelo modelo ER, os mesmos objetos são representados por TEs diferentes!!!
UFPr Departamento de Informática 21
Modelo Entidade Relacionamento
Generalização Especialização
• Para descrever esta situação, os modelos de dados mais recentes incluem o conceito de generalização/especialização: uma ligação orientada de um TE especializado à um TE genérico.
UFPr Departamento de Informática 22
Modelo Entidade Relacionamento
Generalização Especialização
• A semântica desta ligação é que toda ocorrência do TE específico é igualmente ocorrência do TE genérico. Graficamente esta ligação é representada por uma flecha do TE específico ao TE genérico.
UFPr Departamento de Informática 23
Modelo Entidade Relacionamento
Generalização Especialização
– No exemplo dos artigos nós obtemos a seguinte representação para os artigos:
Artigo
Artigo
Alimentar
Art Vestuário Art Eletro-Domésticos
UFPr Departamento de Informática 24
Modelo Entidade Relacionamento
Generalização Especialização
• As ligações de generalização/especialização são geralmente chamados ligações IS-A ou É-UM
• dizemos que Artigo alimentar é um Artigo. Alguns autores chamam um TE específico de um sub-tipo de um TE genérico (a relação inversa é dita de super-tipo).
UFPr Departamento de Informática 25
Modelo Entidade Relacionamento
Generalização Especialização
• Por convenção, os atributos comuns ao TE genérico e aos TE específicos só são descritos, no esquema, como atributos do TE genérico. No entanto eles estão implicitamente incluídos nos atributos do TE específico. Dizemos que estes ;últimos "herdam" os atributos do TE genérico.
UFPr Departamento de Informática 26
Modelo Entidade Relacionamento
Generalização Especialização
• O que foi dito para os atributos se aplica também aos TA (herança).
• Se artigo está ligado a fornecedor, então Artigo Alimentar, Artigo Vestuário e Artigo ED também estão mesmo que isto não seja descrito explicitamente pelo esquema.
UFPr Departamento de Informática 27
Modelo Entidade Relacionamento
Generalização Especialização
• *** Nada impede que os TEs específicos tenham seus próprios atributos e seus próprios TA's. Assim o TE ArtigoEletrDom pode estar ligado a um TE "Serviço de reparação" e possuir um atributo "garantia
UFPr Departamento de Informática 28
Modelo Entidade Relacionamento
Generalização Especialização
– Um diagrama mais preciso do exemplo dos Artigos ficaria assim:
Artigo
Artigo
Alimentar
Art Vestuário Art Eletro-Domésticos
ServiçoReparação
repara
data_validade tamanho cores
potência
marcanomeA
Num_Arttipo
Venda
UFPr Departamento de Informática 29
Modelo Entidade Relacionamento
Generalização Especialização
– Não é obrigatório que os TE específicos representem, no seu conjunto todos os objetos representados pelo TE genérico
– Artigos como higiene, brinquedos etc. podem não exigir um TE específicos para descreve-los (se nenhum tratamento ou propriedade necessária à descrição do esquema o exigir) e serem descritos simplesmente pelos TE Artigos.
UFPr Departamento de Informática 30
Modelo Entidade Relacionamento
Generalização Especialização
• Um TE genérico pode por sua vez ser TE específico de um outro TE: acontece então uma hierarquia de generalização.
UFPr Departamento de Informática 31
Modelo Entidade Relacionamento
Hierarquia de generalização
• Um exemplo clássico de hierarquia de generalização é o das pessoas que trabalham ou estudam numa Universidade:
Pessoa
Estudante Trabalhador
Doutorando
ProfessorTécnico Administração
TitularAssistente
UFPr Departamento de Informática 32
Modelo Entidade Relacionamento
Definição de um Esquema ER
• Um TE é definido por:– Nome do TE;– Nome do(s) supertipo(s) deste TE, se
existe;– Descrição livre (comentário) precisando a
população exata do TE;– Descrição dos atributos do TE.
• ** Restrições: Dois TE não podem ter o mesmo nome
UFPr Departamento de Informática 33
Modelo Entidade Relacionamento
Ex: O TE Empregados
– Nome: Empregados;– descrição: Toda pessoa salariada ligada à
Empresa atualmente.• A descrição livre permite a definição exata (não
ambígua) da população do TE.• inclui a especificação temporal (sublinhada no
exemplo)– atributos: nome, salário (com as respectivas
descrições).
UFPr Departamento de Informática 34
Modelo Entidade Relacionamento
Tipo de associação:• Definição• Nome do TA;• Descrição livre;• Nome dos TE participantes ao TA com os
respectivos papeis;• Para cada papel a cardinalidade (numero
mínimo e máximo das instancias de um TA que podem a um momento dado ligar pelo seu papel, uma instancia do TE em questão).
• a descrição dos atributos do TA (opcional).
UFPr Departamento de Informática 35
Modelo Entidade Relacionamento
Tipo de Associação
• Exemplo– nome: emprega;– descrição: liga um empregado ao rayon
no qual ele trabalha hoje– TE participantes: <Empregado,E>,
<Rayon,R>– cardinalidade E:min=0,max=1 R:(O,n)– atributos: nenhum.
UFPr Departamento de Informática 36
Modelo Entidade Relacionamento
Cardinalidade• Min=0: um empregado pode não trabalhar em
nenhum rayon;• min=1 um empregado deve trabalhar no mínimo
em um rayon;• max=1 um empregado não pode trabalhar em mais
de um rayon;• max=n um empregado pode trabalhar em vários
rayons.
– As cardinalidade é indicada por dois números(min:max) ao lado dos traços que ligam os TE's aos TA's:
UFPr Departamento de Informática 37
Modelo Entidade Relacionamento
Cardinalidade
– A cardinalidade exprime o fato que um filho tem no mínimo e no máximo dois pais, e que os pais podem ter de 0 a n filhos.
Pais Filhosé_pai_de0,n 2,2
UFPr Departamento de Informática 38
Modelo Entidade Relacionamento
TA Cíclico
• Ligam um TE a ele mesmo• os papeis são obrigatórios e devem ser colocados no
diagrama:
Produto Compõe
é_composto_de
é_componente_de
quantidade
UFPr Departamento de Informática 39
Modelo Entidade Relacionamento
Exemplos de Instâncias de um TA
– Se nós introduzimos no BD a composições do produto 1001:
– 5 unidades do produto 512 – 3 unidades do produto 123
UFPr Departamento de Informática 40
Modelo Entidade Relacionamento
Exemplos de Instâncias de um TA
– TE Produto:• produto 123, • produto 512,• produto 1001
– TA Compõe:• é_composto_de é_componente_de
quantidade
• produto 1001 produto 123 3
• produto 1001 produto 512 5
UFPr Departamento de Informática 41
Modelo Entidade Relacionamento
Atributo
• Definição– nome;– -descrição– -cardinalidade;– -domínio (se o atributo é simples);– -descrição dos atributos componentes, se
o atributo é complexo;
UFPr Departamento de Informática 42
Modelo Entidade Relacionamento
Exemplo: o atributo nome do TE Empregado:
• nome: nome;• descrição: nome do empregado, nome de
solteira para uma mulher• cardinalidade (1:1) • domínio: CHAR (15)
UFPr Departamento de Informática 43
Modelo Entidade Relacionamento
Exemplo o atributo data de nascimento:
– nome: data de nascimento;– descrição: "data de nascimento de uma
pessoa"– cardinalidade: (1:1)
UFPr Departamento de Informática 44
Modelo Entidade Relacionamento
Exemplo o atributo data de nascimento:• composição:–nome: dia descrição " "
cardinalidade: (1:1); domínio: Numérico [1..31]
–nome: mês descrição " " cardinalidade: (1:1); domínio: Numérico [1..12]
–- nome: ano descrição " " cardinalidade: (1:1); domínio: Numérico [1870..1994]
UFPr Departamento de Informática 45
Modelo Entidade Relacionamento
Terminologia:
• atributo simples: atributo não composto de outros atributos, valores atômicos possuem domínio (salário, telefone);
• atributo complexo: composto de outros atributos (endereço composto de (rua, cidade, CEP);
UFPr Departamento de Informática 46
Modelo Entidade Relacionamento
Terminologia:
• atributo monovalor: atributo com cardinalidade máxima =1 (nome, data nascimento);
• atributo multivalorado: vários valores por instância max > 1 (filhos de uma pessoa)
UFPr Departamento de Informática 47
Modelo Entidade Relacionamento
Terminologia:
• atributo obrigatório: (min=1) possui pelo menos um valor por ocorrência (nome);
• atributo opcional: (min=0) pode ter valor nulo (telefone)
UFPr Departamento de Informática 48
Modelo Entidade Relacionamento
Identificadores dos TE's e TA's
• Conjunto mínimo de atributos que assegura a inexistência de duas instâncias idênticas neste TE (TA).
• Um TE (TA) pode ter vários identificadores.
UFPr Departamento de Informática 49
Modelo Entidade Relacionamento
Identificadores dos TE's e TA's
– Exemplo: Numero de Matrícula para Estudantes (ou nomeE + data nascimento se supormos que dois estudantes não podem ter o mesmo nome e a mesma data de nascimento).
Estudante Matériaprova
Num_Matrículanotas média
peso
Num_Matéria
UFPr Departamento de Informática 50
Modelo Entidade Relacionamento
Identificadores dos TE's e TA's
• Os identificadores dos TE's Estudante e Matéria são respectivamente Num_matrícula e Num_Matéria.
• O identificador do TA prova é Estudante.Num_matrícula + Matéria.Num_Matéria.
UFPr Departamento de Informática 51
Modelo Entidade Relacionamento
Identificadores de um TA
– Nem sempre o identificador de um TA é formado do conjunto dos identificadores dos TE's ligados.
– O identificador de um só TE (no caso se a cardinalidade for 1:1) pode ser suficiente.
– Se o TA liga dois TE's com cardinalidade 0:n para ambos.
• Neste caso é necessário incluir pelo menos um atributo do TA para estar seguro da unicidade das instâncias:
UFPr Departamento de Informática 52
Modelo Entidade Relacionamento
Identificadores de um TA
• TA encomenda pode possuir dois identificadores:– Num_Produto + Num_Cliente + data ou
Num_Encomenda.
Produto Clienteencomenda
num_ProdutoNum_Cliente
Num_Encomdata
quantidade
UFPr Departamento de Informática 53
Modelo Entidade Relacionamento
Identificador de um TE fraco
• nenhum subconjunto de atributos constitui um identificador
• é ligado por um TA binário de cardinalidade (1,1) à um outro TE ao qual ele é dependente.
UFPr Departamento de Informática 54
Modelo Entidade Relacionamento
Identificador de um TE fraco
– No exemplo abaixo. Exemplar ( que representa um exemplar de um livro) é um TE fraco (numEX não é identificador) que depende do TE livro.
Livro Exemplar
ISBN Título numEX EstadoConserv
possui
UFPr Departamento de Informática 55
Modelo Entidade Relacionamento
Identificador de um TE fraco
• O identificador de um TE fraco (que é o mesmo do seu TA) é formado do identificador do TE ao qual ele depende e de um (ou vários) atributos do TE fraco.
• O identificador de Exemplar, no nosso exemplo, é portanto ISBN + numEX.
UFPr Departamento de Informática 56
Modelo Entidade Relacionamento
Identificador de um TE subtipo.
• Seja um TE E subtipo do TE E', então todo identificador de E’ é também identificador de E. E não possui necessariamente um identificador próprio.
• No exemplo dos Artigos ArtigoAlimentar, ArtigoVestuário e ArtigoEletrDomest têm todos os três num_Art (do TE Artigo) como identificador.
UFPr Departamento de Informática 57
Modelo Entidade Relacionamento
Restrições de Integridade
• Os conceitos de Entidade, Associação, atributo e subtipo não são suficientes para descrever todas as propriedades dos dados de um esquema ER.
Casamento
nome sexo EstadoCivil
CasadoEsposa
marido
data
UFPr Departamento de Informática 58
Modelo Entidade Relacionamento
Restrições de Integridade
• se uma pessoa participa à associação casamento , então seu estado civil deve ser 'casado'
• Ou:
– ∀x,y ε Pessoa, <x,y> ε casamento => x.estadoCivil = casado
UFPr Departamento de Informática 59
Modelo Entidade Relacionamento
Restrições de Integridade– Em geral SGBDs, as RI sãoverificadas por
programas ad hoc, criados na fase de implementação do BD.
– Outras regras seriam possíveis neste mesmo exemplo:
• se uma pessoa participa a associação casamento com o papel marido então sexo=’M'
• se uma pessoa participa a associação casamento com o papel esposa então sexo=’F'
UFPr Departamento de Informática 60
Modelo Entidade Relacionamento
Regras de Restrição
• Definem os estados possíveis do BD,• Se os valores do BD não as satisfazem
existe um "erro" no BD, • diz-se que o BD está incoerente.
UFPr Departamento de Informática 61
Modelo Entidade Relacionamento
Regras de Restrição (Domínio)
• idade ε [0..130]– Este tipo de regras, facilmente
implementáveis, desaparecem se o modelo possui uma linguagem de descrição que permita uma definição precisa do domínio.
UFPr Departamento de Informática 62
Modelo Entidade Relacionamento
Esquema Conceitual ER
• Esquema conceitual ER = ( {TE}, {TA}, {RI})
Recommended