63
UFPr Departamento de Informática 1 Modelo Entidade Relacionamento Conceitos básicos e diagramas ER

Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

  • Upload
    others

  • View
    11

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

UFPr Departamento de Informática 1

Modelo Entidade Relacionamento

Conceitos básicos e diagramas ER

Page 2: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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)

Page 3: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 4: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 5: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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, ...

Page 6: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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,....

Page 7: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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, ....

Page 8: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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,...

Page 9: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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, ....

Page 10: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 11: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 12: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 13: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 14: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 15: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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).

Page 16: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 17: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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:)

Page 18: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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).

Page 19: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 20: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 21: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 22: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 23: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 24: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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).

Page 25: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 26: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 27: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 28: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 29: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 30: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 31: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 32: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 33: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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).

Page 34: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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).

Page 35: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 36: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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:

Page 37: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 38: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 39: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 40: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 41: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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;

Page 42: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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)

Page 43: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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)

Page 44: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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]

Page 45: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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);

Page 46: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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)

Page 47: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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)

Page 48: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 49: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 50: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 51: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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:

Page 52: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 53: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 54: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 55: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 56: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 57: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 58: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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

Page 59: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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'

Page 60: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 61: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

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.

Page 62: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

UFPr Departamento de Informática 62

Modelo Entidade Relacionamento

Esquema Conceitual ER

• Esquema conceitual ER = ( {TE}, {TA}, {RI})

Page 63: Modelo Entidade Relacionamento · Modelo Entidade Relacionamento Generalização Especialização –Não é obrigatório que os TE específicos representem, no seu conjunto todos

UFPr Departamento de Informática 63

Modelo Entidade Relacionamento