Modelo ER

15
1 Modelo Entidade Relacionamento Banco de Dados Giana Lucca Kroth 2009 – 1 Metodologia de Projeto de BD Minimundo Modelo Descritivo Modelo Conceitual Modelo Computacional Modelo Interno Seres, objetos, organismos, fatos Descrições informais Descrições formais Dados Cadeias de bits e bytes Descrições Formais “Eu sou gerente de uma companhia de treinamento que oferece cursos de caráter técnico. Lecionamos vários cursos, cada qual tem um código, um nome, e preço. Introdução ao Unix e Programação C são dois de nossos mais populares cursos. Os cursos variam, em termos de duração, de um a quatro dias. Um professor (instrutor) pode lecionar vários cursos. Egberto Silva e Maria do Carmo são dois de nossos melhores instrutores, nós mantemos o nome e o telefone de cada um deles. Cada curso é lecionado por somente um instrutor. Nós criamos um curso e então nomeamos o professor. Os estudantes podem freqüentar vários cursos ao mesmo tempo. João fez todos os cursos que fornecemos. Nós também mantemos nome, telefone e endereço dos estudantes. Alguns estudantes e instrutores não tem telefone.” Modelo Conceitual Desenvolvido através de modelos Entidade- Relacionamento (MER) Peter Chen – 1976 MER foram criados para facilitar o projeto de BD, permitindo especificações de um esquema de empresa que representa a estrutura lógica geral de um banco de dados. Mapeiam os significados e interações de empresas reais para um esquema conceitual. Componentes do MER Entidades: objetos de significância sobre os quais as informações precisam ser mantidas Atributos: as informações específicas que necessitam ser mantidas. Relacionamentos: como os objetos de significância são relacionados Entidades Coisa ou objeto, no mundo real, sobre a qual a informação precisa ser conhecida ou mantida. Um objeto de interesse de negócios Representação gráfica

Transcript of Modelo ER

Page 1: Modelo ER

1

Modelo Entidade Relacionamento

Banco de DadosGiana Lucca Kroth

2009 – 1

Metodologia de Projeto de BD

Minimundo

Modelo Descritivo

Modelo Conceitual

Modelo Computacional

Modelo Interno

Seres, objetos, organismos, fatos

Descrições informais

Descrições formais

Dados

Cadeias de bits e bytes

Descrições Formais

“Eu sou gerente de uma companhia de treinamento que oferece cursos

de caráter técnico. Lecionamos vários cursos, cada qual tem um

código, um nome, e preço. Introdução ao Unix e Programação C são

dois de nossos mais populares cursos. Os cursos variam, em termos

de duração, de um a quatro dias. Um professor (instrutor) pode lecionar

vários cursos. Egberto Silva e Maria do Carmo são dois de nossos

melhores instrutores, nós mantemos o nome e o telefone de cada um

deles. Cada curso é lecionado por somente um instrutor. Nós criamos

um curso e então nomeamos o professor. Os estudantes podem

freqüentar vários cursos ao mesmo tempo. João fez todos os cursos

que fornecemos. Nós também mantemos nome, telefone e endereço

dos estudantes. Alguns estudantes e instrutores não tem telefone.”

Modelo Conceitual

� Desenvolvido através de modelos Entidade-Relacionamento (MER) Peter Chen – 1976

� MER foram criados para facilitar o projeto de BD, permitindo especificações de um esquema de empresa que representa a estrutura lógica geral de um banco de dados.

� Mapeiam os significados e interações de empresas reais para um esquema conceitual.

Componentes do MER

� Entidades : objetos de significância sobre os quais as informações precisam ser mantidas

� Atributos : as informações específicas que necessitam ser mantidas.

� Relacionamentos : como os objetos de significância são relacionados

Entidades

� Coisa ou objeto, no mundo real, sobre a qual a informação precisa ser conhecida ou mantida.

� Um objeto de interesse de negócios

� Representação gráfica

Page 2: Modelo ER

2

Entidades

� Um conjunto de objetos do mundo real que têm características semelhantes forma uma entidade

� Por exemplo: o conjunto de funcionários de uma empresa forma a entidade “Funcionário”

FUNCIONARIO

Entidades

� Exemplo de Entidade: ao observarmos um ambiente de produção de um fábrica, nos defrontamos com:� Máquinas de produção de peças� Funcionários operadores dessas máquinas

� Conjuntos de ferramentas utilizadas para operar máquinas

� Procedimentos de operação a serem executados

Entidades

� Exemplo de Entidade: ao observarmos um ambiente de produção de um fábrica, nos defrontamos com (cont.):� Procedimentos de verificação de qualidade das

peças produzida� Máquinas recuperadoras de peças

� Funcionários responsáveis pela verificação da qualidade das peças

� Peças produzidas nos mais diversos formatos

Entidades

� Dentre esses elementos observados, poderemos perceber a existência de vários conjuntos de objetos da fábrica com características semelhantes

Entidades

� Então, fazendo uma pequena análise podemos ter as seguintes entidades:

MÁQUINA

FERRAMENTA

PEÇA

FUNCIONÁRIO

Estratégias para reconhecer entidades

� As coisas tangíveis: aquilo que pode ser tocado.� Exemplos: avião, carro, cachorro, gato, livro, caderno....

� Funções: todo o tipo de papel, atribuição, classificação, ou outra característica qualquer que para um dado elemento, especifique não sua existência mas sua atuação no ambiente em que está inserido.� Exemplos: Departamento de uma empresa, o autor de um livro,

um médico

� Eventos ou ocorrências: são ações ou fatos que uma vez ocorrendo possuem características próprias sobre as quais podemos fazer alguma referência.� Exemplos: um vôo comercial, um acidente de trânsito, um jogo

de futebol...

Page 3: Modelo ER

3

Identificar as Entidades

“Eu sou gerente de uma companhia de treinamento que oferece cursos

de caráter técnico. Lecionamos vários cursos, cada qual tem um

código, um nome, e preço. Introdução ao Unix e Programação C são

dois de nossos mais populares cursos. Os cursos variam, em termos

de duração, de um a quatro dias. Um professor (instrutor) pode lecionar

vários cursos. Egberto Silva e Maria do Carmo são dois de nossos

melhores instrutores, nós mantemos o nome e o telefone de cada um

deles. Cada curso é lecionado por somente um instrutor. Nós criamos

um curso e então nomeamos o professor. Os estudantes podem

freqüentar vários cursos ao mesmo tempo. João fez todos os cursos

que fornecemos. Nós também mantemos nome, telefone e endereço

dos estudantes. Alguns estudantes e instrutores não tem telefone.”

Cursos

CURSO

INSTRUTOR

ALUNO

Identifique as Entidades“Sou proprietário de um a pequena loja de vídeo. Temos mais de 3000 fitas aqui e

queremos um sistema para controlá-las. Cada fita contem um número. Para cada

filme precisamos saber seu título e categoria(comédia, suspense, terror, etc.). Muitos

de nosso filmes tem mais de uma cópia. A cada filme fornecemos um ID e então

controlamos qual o filme que uma fita contem. O formato de uma fita pode ser BETA

ou VHS. Sempre temo uma fita para dado filme, e cada fita tem apenas um filme.

Não temos aqui nenhum filme que requeira mais de uma fita. Freqüentemente as

pessoas alugam filmes pelos atores. Queremos manter informações sobre os astros

que atuam em nosso filmes. Nem todos os filmes são estrelados por astros e só

mantemos aqui astros que atuam em filmes do nosso catalogo. Os clientes gostam

de saber a data de nascimento de um astro, bem como o seu verdadeiro nome.

Temos muitos clientes. Apenas alugamos filmes para pessoas inscritas em nosso

vídeo clube. Para cada membro mantemos seu primeiro e ultimo nome telefone e

endereço. Claro que cada membro possui um numero de titulo. Alem disso

mantemos o status de credito de cada um. Queremos controlar os alugueis de

filmes. Um cliente pode alugar vários filmes ao mesmotempo. Apenas mantemos os

alugueis correntes(pendentes). Não controlamos o histórico de locações.”

Locadora

FITA FILME

CLIENTE ATOR

Atenção !!!

� Entidade - Identifica o objeto de interesse do sistema e tem "vida" própria, ou seja, a representação abstrata de um objeto do mundo real sobre o qual desejamos guardar informações.

� Não são entidades:� Entidade com apenas 1 elemento;

� Operações do sistema ;

� Saídas do sistema;

� Pessoas que realizam trabalhos (usuários do sistema);

� Cargos de direção

Relacionamentos

� O Relacionamento representa a associação entre os elementos do conjunto de um entidade com outra entidade.

� É a associação das entidades no mundo real

� Representação Gráfica

Page 4: Modelo ER

4

Relacionamentos

� Exemplo do ambiente de produção:� Máquinas de produção de peças

� Funcionários operadores dessas máquinas

MÁQUINA PEÇAProduz

FUNCIONÁRIO MÁQUINAOpera

Relacionamentos

� Conjuntos de ferramentas utilizadas para operar máquinas

� Funcionários responsáveis pela verificação da qualidade das peças

FERRAMENTA MÁQUINAOpera

PEÇAFUNCIONÁRIO Inspeciona

Grau dos Relacionamentos

� Corresponde ao número de conjuntos de Entidades participantes em um relacionamento

� Binário ou Ternário

Grau dos Relacionamentos

� Binário: Duas entidades

FUNCIONÁRIO PROJETOTrabalha

Grau dos Relacionamentos

� Ternário: três entidades

FORNECEDOR PROJETOFornece

MATERIAL

Relacionamentos

� Papéis nos relacionamentos� cada entidade que participa de um

relacionamento tem um papel no relacionamento� a indicação de cada papel no MER é opcional,

embora cada papel sempre exista� a indicação de cada papel deve ser feita sempre

que possa existir ambigüidade na interpretação do relacionamento

Page 5: Modelo ER

5

Relacionamentos

� Exemplo do ambiente de produção:� Máquinas de produção de peças

� Funcionários operadores dessas máquinas

MÁQUINA PEÇAProduz

FUNCIONÁRIO MÁQUINAOpera

Produz

Produzida por

opera

Operada por

Identificar os Relacionamentos

“Eu sou gerente de uma companhia de treinamento que oferece cursos

de caráter técnico. Lecionamos vários cursos, cada qual tem um

código, um nome, e preço. Introdução ao Unix e Programação C são

dois de nossos mais populares cursos. Os cursos variam, em termos

de duração, de um a quatro dias. Um professor (instrutor) pode lecionar

vários cursos. Egberto Silva e Maria do Carmo são dois de nossos

melhores instrutores, nós mantemos o nome e o telefone de cada um

deles. Cada curso é lecionado por somente um instrutor. Nós criamos

um curso e então nomeamos o professor. Os estudantes podem

freqüentar vários cursos ao mesmo tempo. João fez todos os cursos

que fornecemos. Nós também mantemos nome, telefone e endereço

dos estudantes. Alguns estudantes e instrutores não tem telefone.”

Cursos

CURSO

INSTRUTOR

ALUNO

Identificar os Relacionamentos“Sou proprietário de um a pequena loja de vídeo. Temos mais de 3000 fitas aqui e

queremos um sistema para controlá-las. Cada fita contem um número. Para cada

filme precisamos saber seu título e categoria(comédia, suspense, terror, etc.). Muitos

de nosso filmes tem mais de uma cópia. A cada filme fornecemos um ID e então

controlamos qual o filme que uma fita contem. O formato de uma fita pode ser BETA

ou VHS. Sempre temo uma fita para dado filme, e cada fita tem apenas um filme.

Não temos aqui nenhum filme que requeira mais de uma fita. Freqüentemente as

pessoas alugam filmes pelos atores. Queremos manter informações sobre os astros

que atuam em nosso filmes. Nem todos os filmes são estrelados por astros e só

mantemos aqui astros que atuam em filmes do nosso catalogo. Os clientes gostam

de saber a data de nascimento de um astro, bem como o seu verdadeiro nome.

Temos muitos clientes. Apenas alugamos filmes para pessoas inscritas em nosso

vídeo clube. Para cada membro mantemos seu primeiro e ultimo nome telefone e

endereço. Claro que cada membro possui um numero de titulo. Alem disso

mantemos o status de credito de cada um. Queremos controlar os alugueis de

filmes. Um cliente pode alugar vários filmes ao mesmotempo. Apenas mantemos os

alugueis correntes(pendentes). Não controlamos o histórico de locações.”

Locadora

FITA FILME

CLIENTE ATOR

Cardinalidade dos Relacionamentos

• Restrição que expressa o número de entidades aoqual outra entidade pode estar associada via umrelacionamento.

• Indica quantas ocorrências de uma entidade podem

estar associadasassociadas a uma determinada ocorrência deentidade através do relacionamento.

• Cardinalidades máxima e mínima

Page 6: Modelo ER

6

Cardinalidade dos Relacionamentos

� Dois valores de Cardinalidade máxima são usados:

Um (1) e Muitos (n)

DEPARTAMENTO EMPREGADOLotação

1 n

Cardinalidade dos Relacionamentos

DEPARTAMENTO EMPREGADOLotação

1 n

Indica que UMA (1) ocorrência de EMPREGADO(entidade ao lado oposto da relação) pode

ser associada a no máximo UMA (1) ocorrênciade DEPARTAMENTO

Cardinalidade dos Relacionamentos

DEPARTAMENTO EMPREGADOLotação

1 n

Indica que UMA ocorrência de DEPARTAMENTO(entidade ao lado oposto da relação) podeser associada a MUITAS (n) ocorrências

de EMPREGADO

Cardinalidades

� Cardinalidade N:N (muitos para muitos)� uma entidade A está associada a qualquer

número de entidades em B� uma entidade B está associada a um número

qualquer de entidades em A

Cardinalidades

� Cardinalidade N:N (muitos para muitos)Neste relacionamento um “Aluno” pode cursar várias (n) disciplinas e uma “Disciplina” pode ser cursada por vários (n) alunos

ALUNO DISCIPLINACursa

n n

Cardinalidades

� Cardinalidade 1:N (um para muitos)� uma entidade A está associada a várias

entidades em B � uma entidade B, entretanto, deve estar

associada, no máximo, a uma entidade em A

Page 7: Modelo ER

7

Cardinalidades

� Cardinalidade 1:N (um para muitos)Neste relacionamento um “Aluno” pode se matricular em um “Curso” somente (1), mas um “Curso” pode ser matriculado por vários (n) alunos

ALUNO CURSOmatricula

n 1

Cardinalidades

� Cardinalidade 1:1 (um para um)� uma entidade A está associada, no máximo,

auma entidade B

� uma entidade B também está associada, no máximo, a uma entidade A

Cardindalidades

� Cardinalidade 1:1 (um para um)Neste relacionamento uma “Disciplina” possui uma “Ementa” somente (1), e uma “Ementa” é de uma “Disciplina” somente (1)

DISCIPLINA EMENTAPossui

1 1

Cardinalidades dos Relacionamentos

� Cardinalidades mínimas� Número mínimo de ocorrências de entidade que são

associadas a uma ocorrência de uma entidade através de um relacionamento

� Para fins de projeto de BD, consideram-se apenas duas cardinalidades mínimas:� cardinalidade mínima 0 ou participação parcial

� cardinalidade mínima 1 ou participação total

� Denominação alternativa:� cardinalidade mínima 1 = “associação obrigatória”� cardinalidade mínima 0 = “associação opcional”

Cardinalidades

FUNCIONARIO

MESA

Alocação

(0,1)

(1,1)

Cardinalidades

FUNCIONARIO

MESA

Alocação

(0,1)

(1,1)

Indica que um FUNCIONARIO(entidade oposta da relação)

deve estar alocado em NO MÍNIMO UMA (1) e

NO MAXIMO UMA (1) MESA

A cardinalidade mínima UM Indica que nenhum funcionário

Pode ficar sem alocação em Uma mesa

Page 8: Modelo ER

8

Cardinalidades

FUNCIONARIO

MESA

Alocação

(0,1)

(1,1)

Indica que uma MESA(entidade oposta da relação)

pode estar alocada paraNO MAXIMO UM (1)

FUNCIONARIO

A cardinalidade mínima ZEROIndica que não necessariamenteUma mesa precisa estar alocada

Para algum funcionário

Cardinalidade Ternário

� Como identificar a cardinalidade de relacionamentos ternários ?

FORNECEDOR PROJETOFornece

MATERIAL

Cardinalidade Ternário

� Como identificar a cardinalidade de relacionamentos ternários ?

FORNECEDOR PROJETOFornece

MATERIAL

Considerando um FORNECEDOR

e um MATERIAL para quantos projetos podem

ser fornecidos?

(0,n)

Cardinalidade Ternário

� Como identificar a cardinalidade de relacionamentos ternários ?

FORNECEDOR PROJETOFornece

MATERIAL

Dado um PROJETO e um MATERIAL

quantos FORNECEDORESPodem fornecer ?

(1,n)

Cardinalidade Ternário

� Como identificar a cardinalidade de relacionamentos ternários ?

FORNECEDOR PROJETOFornece

MATERIAL

Dado um FORNECEDOR e um PROJETOquantos MATERIAIS podem ser fornecidos?

(0,n)

Cardinalidade Ternário

� Como identificar a cardinalidade de relacionamentos ternários ?

FORNECEDOR PROJETOFornece

MATERIAL

(0,n)

(0,n)(1,n)

Page 9: Modelo ER

9

Relacionamentos Ternário

� Um relacionamento ternário traz informação que pode ser vista desprezando-se alguma das entidades do relacionamento, como se fosse um relacionamento binário dentro do ternário

Relacionamento Ternário

FORNECEDOR PROJETOFornece

MATERIAL

(0,n)

(0,n)(1,n)

Revende Utiliza

Atende

Relacionamento Ternário

No entanto, a informação que é representada por um relacionamento ternário não pode ser obtida apenas dos relacionamentos binários

Relacionamento Ternário

FORNECEDOR PROJETOFornece

MATERIAL

(0,n)

(0,n)(1,n)

Pode fornecer Utiliza

fornece

Sem esta relação,Como vou saber qual MATERIAL

O FORNECEDOR está entregando

Para o PROJETO ?

Auto Relacionamentos

� Auto Relacionamento é quando a mesma entidade desempenha mais de um papel num mesmo relacionamento.

� Ou seja, quando uma entidade se relaciona com ela mesma. Um relacionamento entre ocorrências de uma mesma entidade.

Auto Relacionamento

DISCIPLINA É pré requisito

(0,n)

(0,n)

É pre-requisito de

Possui como pré-requisito

FUNCIONARIO Supervisiona

(0,n)

(0,1)

supervisiona

É supervisionado por

Page 10: Modelo ER

10

Identificar as Cardinalidades

“Eu sou gerente de uma companhia de treinamento que oferece cursos

de caráter técnico. Lecionamos vários cursos, cada qual tem um

código, um nome, e preço. Introdução ao Unix e Programação C são

dois de nossos mais populares cursos. Os cursos variam, em termos

de duração, de um a quatro dias. Um professor (instrutor) pode lecionar

vários cursos. Egberto Silva e Maria do Carmo são dois de nossos

melhores instrutores, nós mantemos o nome e o telefone de cada um

deles. Cada curso é lecionado por somente um instrutor. Nós criamos

um curso e então nomeamos o professor. Os estudantes podem

freqüentar vários cursos ao mesmo tempo. João fez todos os cursos

que fornecemos. Nós também mantemos nome, telefone e endereço

dos estudantes. Alguns estudantes e instrutores não tem telefone.”

Cursos

CURSO

INSTRUTOR

ALUNO

leciona

frequenta

Identificar as Cardinalidades“Sou proprietário de um a pequena loja de vídeo. Temos mais de 3000 fitas aqui e

queremos um sistema para controla-las. Cada fita contem um número. Para cada

filme precisamos saber seu título e categoria(comédia, suspense, terror, etc.). Muitos

de nosso filmes tem mais de uma cópia. A cada filme fornecemos um ID e então

controlamos qual o filme que uma fita contem. O formato de uma fita pode ser BETA

ou VHS. Sempre temo uma fita para dado filme, e cada fita tem apenas um filme.

Não temos aqui nenhum filme que requeira mais de uma fita. Freqüentemente as

pessoas alugam filmes pelos atores. Queremos manter informações sobre os astros

que atuam em nosso filmes. Nem todos os filmes são estrelados por astros e só

mantemos aqui astros que atuam em filmes do nosso catalogo. Os clientes gostam

de saber a data de nascimento de um astro, bem como o seu verdadeiro nome.

Temos muitos clientes. Apenas alugamos filmes para pessoas inscritas em nosso

vídeo clube. Para cada membro mantemos seu primeiro e ultimo nome telefone e

endereço. Claro que cada membro possui um numero de titulo. Alem disso

mantemos o status de credito de cada um. Queremos controlar os alugueis de

filmes. Um cliente pode alugar vários filmes ao mesmo tempo. Apenas mantemos os

alugueis correntes(pendentes). Não controlamos o histórico de locações.”

Locadora

FITA FILME

CLIENTE ATOR

contem

aluga atua

Atributos

� Os atributos são as características da entidade, ou seja, as informações que desejo guardar de uma entidade no banco de dados

� Representação Gráfica

Id

Funcionario

IdNome

dtNascimento

Funcionario

Nome

DtNascimento

Atributos

� Exemplo: Entidade Funcionário.� Atributos: Nome, sexo, data de nascimento,

endereço e salário

FUNCIONÁRIO

NOME

SEXO

ENDERECO

SALARIODTNASCIMENTO

Page 11: Modelo ER

11

Atributos

� Os Atributos podem ser:

� Simples e Composto� Monovalorado ou multivalorado� Derivado

Atributos

� Simples: não é dividido em partes� Sexo

� Composto: é um atributo formado por outros sub-atributos. o atributo composto “nome ” da entidade “Funcionário ” pode ser estruturado em: “prenome”, “nome_int”e “sobrenome”

Atributos

� Exemplo de atributo composto

FUNCIONÁRIO

NOME

SEXO

ENDERECO

SALARIODTNASCIMENTO

PRE_NOME

NOME_INT

SOBRE_NOME

Atributos

� O uso de atributos compostos é uma boa escolha quando o usuário desejar se referir ao atributo como um todo em certas ocasiões (por exemplo, nome completo do funcionário) e somente à parte dele em outras (sobrenome, por exemplo)

Atributos

� Atributo monovalorado: é quando a instância de um determinado atributo possui somente um valor para uma entidade particular

� Exemplo: os atributos CPF, altura, data de nascimento e sexo possuem apenas um valor para uma entidade particular Funcionário

Atributos

� Atributo multivalorado : é quando a instância de um determinado atributo possui um conjunto de valores para cada entidade que caracteriza

� Exemplo: um atributo telefone da entidade “Funcionário” poderia ter vários valores para uma mesma entidade particular

Page 12: Modelo ER

12

Atributos

� Exemplo de Atributos Multi Valorados

FUNCIONÁRIO

NOME

SEXO

ENDERECO

SALARIODTNASCIMENTO

Telefone

FUNCIONÁRIO

Nome (1,1)

Telefone (0,n)

Atributos

� Atributos Derivados : atributos cujo valor pode ser derivado de outros atributos ou entidades relacionadas.

FUNCIONÁRIO

NOME

SEXO

ENDERECO

SALARIODTNASCIMENTO

Idade

Resumo de atributos

FUNCIONÁRIO

NOME

SEXO

ENDERECO

SALARIODTNASCIMENTO

PRE_NOME

NOME_INT

SOBRE_NOME

IdadeTelefone

Composto

MultiValoradoDerivado

Simples e monovalorados

FUNCIONÁRIO

Nome (1,1)

Telefone (0,n)Cardinalidade em atributos

Chave Primária ou Identificador

� Toda entidade possui vários atributos para caracterizá-la� Dentre esses atributos, deve-se sempre definir

um atributo ou conjunto de atributos que com seus valores consiga identificar uma única entidade dentro do conjunto de entidades

� Esse atributo ou conjunto de atributos é denominado chave primária ou identificador único

� A notação adotada para chave primária é sublinhar o atributo ou conjunto de atributos que formam a chave primária

� Ou então Pintar a Elipse do Atributo

FUNCIONÁRIO

NOME

SEXO

ENDERECO

SALARIODTNASCIMENTO

Idade

MATR

Chave Primária ou Identificador

FUNCIONÁRIO

MATRNOME

SALARIO

Atributo nos relacionamentos

� Entidades são descritas através dos seus atributos, ou seja, uma entidade sem atributos não tem sentido existir

� Já os relacionamentos podem existir mesmo que não tenham atributos próprios

Page 13: Modelo ER

13

Atributo nos relacionamentos

ALUNO DISCIPLINAmatricula

Matr Nome Sigla NomeDisc

(0,n) (0,n)

Nota

� Perceba que “nota” é um atributo tipicamente do relacionamento “matricula ”

Atributo nos relacionamentos

ALUNO DISCIPLINAmatricula

Matr Nome Sigla NomeDisc

(0,n) (0,n)

Nota

� Se “nota” fosse um atributo da entidade ALUNO, cada aluno teria apenas uma nota, para qualquer disciplina.

Atributo nos relacionamentos

ALUNO DISCIPLINAmatricula

Matr Nome Sigla NomeDisc

(0,n) (0,n)

Nota

� Se “nota” fosse um atributo da entidade DISCIPLINA, cada disciplina teria apenas uma nota, e todos os alunos matriculados numa disciplina teriam a mesma nota

Exercícios

� Identificar os Atributos e as Chaves :

Identificar os Atributos

“Eu sou gerente de uma companhia de treinamento que oferece cursos

de caráter técnico. Lecionamos vários cursos, cada qual tem um

código, um nome, e preço. Introdução ao Unix e Programação C são

dois de nossos mais populares cursos. Os cursos variam, em termos

de duração, de um a quatro dias. Um professor (instrutor) pode lecionar

vários cursos. Egberto Silva e Maria do Carmo são dois de nossos

melhores instrutores, nós mantemos o nome e o telefone de cada um

deles. Cada curso é lecionado por somente um instrutor. Nós criamos

um curso e então nomeamos o professor. Os estudantes podem

freqüentar vários cursos ao mesmo tempo. João fez todos os cursos

que fornecemos. Nós também mantemos nome, telefone e endereço

dos estudantes. Alguns estudantes e instrutores não tem telefone.”

Cursos

CURSO

INSTRUTOR

ALUNO

leciona

frequenta

Page 14: Modelo ER

14

Identificar os Atributos“Sou proprietário de um a pequena loja de vídeo. Temos mais de 3000 fitas aqui e

queremos um sistema para controla-las. Cada fita contem um número. Para cada

filme precisamos saber seu título e categoria(comédia, suspense, terror, etc.). Muitos

de nosso filmes tem mais de uma cópia. A cada filme fornecemos um ID e então

controlamos qual o filme que uma fita contem. O formato de uma fita pode ser BETA

ou VHS. Sempre temo uma fita para dado filme, e cada fita tem apenas um filme.

Não temos aqui nenhum filme que requeira mais de uma fita. Freqüentemente as

pessoas alugam filmes pelos atores. Queremos manter informações sobre os astros

que atuam em nosso filmes. Nem todos os filmes são estrelados por astros e só

mantemos aqui astros que atuam em filmes do nosso catalogo. Os clientes gostam

de saber a data de nascimento de um astro, bem como o seu verdadeiro nome.

Temos muitos clientes. Apenas alugamos filmes para pessoas inscritas em nosso

vídeo clube. Para cada membro mantemos seu primeiro e ultimo nome telefone e

endereço. Claro que cada membro possui um numero de titulo. Alem disso

mantemos o status de credito de cada um. Queremos controlar os alugueis de

filmes. Um cliente pode alugar vários filmes ao mesmo tempo. Apenas mantemos os

alugueis correntes(pendentes). Não controlamos o histórico de locações.”

Locadora

FITA FILME

CLIENTE ATOR

contem

aluga atua

Outros conceitos Entidades Fracas

� Dependem de outra entidade para fins de identificação.

Funcionário Dependentepossui(0,n)(1,1)

Entidade Proprietária ou Identificadora

RelacionamentoIdentificador

Entidade Fraca

Entidades Fracas

� Dependem de outra entidade para fins de identificação.

Funcionário Dependentepossui(0,n)(1,1)

Não existe dependente se não existirFuncionário.

Um Dependente nunca existirá sozinho

Entidades Fracas

� Dependem de outra entidade para fins de identificação.

Funcionário Dependentepossui(0,n)(1,1)

Por isso o relacionamento entre asEntidades é obrigatório

Page 15: Modelo ER

15

Entidades Fracas

� Para se identificar uma entidade fraca:� Deve haver um relacionamento 1:N (cardinalidades

máximas) entre as entidades Proprietária e Fraca

� E a entidade fraca deve ter relacionamento com cardinalidade mínima = 1 (isto é, o relacionamento da entidade fraca com a entidade proprietária deve ser obrigatório)

Funcionário Dependentepossui(0,n)(1,1)

Exemplo� Uma organização deseja implementar o procedimento de

concurso público para tornar transparente o seu processo de seleção de pessoal.

� Esta organização possui vários departamentos, que por sua vez, possui vários cargos.

� O mesmo cargo pode estar vinculado à vários departamentos.� Um concurso público é realizado para vários cargos, e um cargo

pode ser oferecido em vários concursos. � O candidato faz inscrição em somente um cargo oferecido em

um concurso público. � O concurso tem várias etapas, que tem a participação de vários

candidatos. O candidato obtém a nota em cada etapa que participa. A etapa pode ser classificatória ou eliminatória.

� (os atributos foram omitidos da descrição)

Duvidas