Tecnologias e Linguagens para Banco de Dados I

Prof.: Evandro Lopes da Silva
Nilson Augustini

Modelo Entidade-Relacionamento

Nesta aula conheceremos:
a técnica de modelagem entidade-relacionamento:




O que é Modelagem Entidade-Relacionamento ?
O que são Entidades ?
O que são Relacionamentos ?
O que são Atributos ?
O Modelo Entidade Relacionamento

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Objetivos:
• Apresentar a técnica da Modelagem Entidade-Relacionamento;
• Apresentar os principais componentes do Modelo EntidadeRelacionamento.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento
Modelagem Entidade-Relacionamento :
• Técnica de análise de dados que estabelece a estrutura dos dados a
partir da identificação dos objetos a respeito dos quais é necessário
guardar informações.
• Componentes utilizados por esta técnica:
 Entidades;
 Relacionamentos entre entidades;
 Atributos das entidades e dos relacionamentos.

Tecnologias e Linguagens para Banco de Dados I

Modelo Entidade-Relacionamento • O uso do Modelo Entidade-Relacionamento (MER) foi apresentado por Peter Cher em 1976. em vez disto. os elementos que o compõe são representados graficamente através da ferramenta denominada Diagrama Entidade Relacionamento (DER). • Atualmente não existe um padrão único de modelo E-R(Entidade Relacionamento) aceito universalmente. há um conjunto de conceitos dos quais se origina a maioria das variantes do E-R. Tecnologias e Linguagens para Banco de Dados I . • No MER.

Modelo Entidade-Relacionamento Diagrama representando os objetos sobre os quais guardamos dados e os relacionamentos que existem entre eles Tecnologias e Linguagens para Banco de Dados I .

Entidade Associativa. Tecnologias e Linguagens para Banco de Dados I . Generalização/Especialização. relacionamento. Atributo.Modelo Entidade-Relacionamento Conceitos centrais do Mod. Entidade-Relacionamento • • • • • Entidade.

Modelo Entidade-Relacionamento Entidades • Objeto que existe no mundo real com uma identificação distinta e com um significado próprio. • Conjunto de objetos da realidade modelada sobre os quais deseja se manter informações na base de dados. Tecnologias e Linguagens para Banco de Dados I .

isto a caracteriza como uma Entidade do Negócio.  Exemplo: classe de entidades ALUNOS é o conjunto de todas as instâncias de alunos (classes de entidades estão impressas em letra maiúscula).Modelo Entidade-Relacionamento Entidades • São as “coisas” que existem no negócio (objeto de análise). • Se alguma “coisa”. ou ainda. existente no negócio gera interesse de se manter os dados. descrevem o negócio. • Entidades de um mesmo tipo são agrupadas em Classes de Entidade. Tecnologias e Linguagens para Banco de Dados I .

etc). etc). uma casa. • Objetos abstratos (um departamento. um automóvel.Modelo Entidade-Relacionamento Entidades Podem representar: • Objetos concretos da realidade (uma pessoa. em endereço. Tecnologias e Linguagens para Banco de Dados I .

Modelo Entidade-Relacionamento Entidades A representação gráfica de uma entidade no MER se realiza através de um retângulo. com o nome desta entidade em seu interior (sem utilizar acentuação e com letras maiúsculas). CURSOS DISCIPLINAS PROFESSORES TURMAS LIVROS Tecnologias e Linguagens para Banco de Dados I .

Então. por exemplo: nome. chamamos de instância de entidade cada um desses funcionários. telefone.  Imaginemos a entidade FUNCIONARIO e considerando que uma empresa pode ter vários funcionários. esses valores atribuídos são as informações que a empresa deseja armazenar de seus funcionários.Modelo Entidade-Relacionamento Instância de uma Entidade • É a combinação de valores atribuídos a um participante da entidade. endereço. etc.Refere-se a uma ocorrência da Entidade. Tecnologias e Linguagens para Banco de Dados I .

. • O PRODUTO A323.. Alguns exemplos de instancias de entidades: • O FUNCIONARIO João. • A ALUNA Maria. • O VEICULO Corsa.. Tecnologias e Linguagens para Banco de Dados I .Modelo Entidade-Relacionamento Instância de uma Entidade Refere-se a uma ocorrência da Entidade. • O CLIENTE Pedro.

Modelo Entidade-Relacionamento Diagrama de Ocorrências Entidade DEPARTAMENTOS Entidade PEESOAS P1 P6 P16 P11 P7 P2 P3 P9 P14 P4 P5 P13 P10 P15 P18 P19 P20 D4 P27 P22 D2 P28 P23 P29 P24 P30 P25 P31 D11 D8 D12 D5 D3 D6 D9 D19 D10 D7 D1 P21 P17 P12 P8 P26 D13 D14 D15 D16 D17 D18 Tecnologias e Linguagens para Banco de Dados I .

Modelo Entidade-Relacionamento Critérios para identificar Entidades Para cada substantivo ou nome que julgarmos ser uma entidade. Tecnologias e Linguagens para Banco de Dados I . devemos fazer os seguintes questionamentos: • Há necessidade de guardar informações sobre este objeto ? • Há mais de um objeto deste tipo ? • Existe um valor capaz de identificar cada objeto de forma única ? Se a resposta a essas três perguntas forem positiva. identificamos uma entidade.

Modelo Entidade-Relacionamento Critérios para identificar Entidades Exemplo: Pedido seria uma entidade? Para saber temos de responder as seguintes perguntas: • Há necessidade de guardar informações sobre este objeto ? Resposta: Sim. temos de guardar informações sobre todos os pedidos. Tecnologias e Linguagens para Banco de Dados I .

e não um só.Modelo Entidade-Relacionamento Critérios para identificar Entidades • Há mais de um objeto deste tipo ? Resposta: Sim. é claro que existem diversos pedidos. Tecnologias e Linguagens para Banco de Dados I .

Tecnologias e Linguagens para Banco de Dados I . Portanto. de acordo com as respostas. podemos estabelecer um valor único para identificar cada registro (pedido).Modelo Entidade-Relacionamento Critérios para identificar Entidades • Existe um valor capaz de identificar cada objeto de forma única ? Resposta: Sim. pedido é de fato uma entidade.

e não um objeto a respeito do qual guardamos dados.Modelo Entidade-Relacionamento Critérios para identificar Entidades Exemplo: Quantidade (substantivo) é uma entidade? Apliquemos as perguntas: • Há necessidade de guardar informações sobre este objeto ? Resposta: Quantidade é uma informação que guardamos a respeito de um pedido. Tecnologias e Linguagens para Banco de Dados I .

existem várias quantidades. Tecnologias e Linguagens para Banco de Dados I .Modelo Entidade-Relacionamento Critérios para identificar Entidades • Há mais de um objeto deste tipo ? Resposta: Sim.

Tecnologias e Linguagens para Banco de Dados I . Basta que uma das respostas seja negativa para descartar uma provável entidade.Modelo Entidade-Relacionamento Critérios para identificar Entidades • Existe um valor capaz de identificar cada objeto de forma única ? Resposta: Não faz sentido definir um valor único para identificar uma quantidade.

• Propriedades especificadas na forma de:  Atributos.Modelo Entidade-Relacionamento Propriedades de Entidades • Entidades isoladamente não informam nada.  Generalizações/Especializações.  Relacionamentos. • É necessário atribuir propriedades às entidades. Tecnologias e Linguagens para Banco de Dados I .

Tecnologias e Linguagens para Banco de Dados I . • Dado que é associado a cada ocorrência de uma entidades.Modelo Entidade-Relacionamento Atributos • Propriedades (características) de uma entidade .

Modelo Entidade-Relacionamento Atributos Exemplos: • Atributos de cliente:  Código do cliente  Nome do cliente.  Endereço do cliente.  Data de nascimento do cliente • Atributos de pedido (entre outros):  Número do pedido.  Número da filial.  Data emissão do pedido Tecnologias e Linguagens para Banco de Dados I .

 Nome do funcionário.  Data da admissão Entidade FUNCIONARIOS numero_Matricula nome data_Admissao 4455 João 24/04/1991 4456 Pedro 20/03/1992 4457 Manuel 14/04/1992 4458 Carlos 01/04/1995 Tecnologias e Linguagens para Banco de Dados I .Modelo Entidade-Relacionamento Atributos Exemplos: • Atributos de funcionário:  Número de matrícula.

Modelo Entidade-Relacionamento Atributos • É representado graficamente por um círculo ligado por uma linha à entidade ao qual pertence. PROJETOS Tipo Nome Codigo ou Tecnologias e Linguagens para Banco de Dados I . O nome do atributo aparece ao lado do círculo.

Modelo Entidade-Relacionamento Atributos • Pode ser representado graficamente por uma elipse em torno de seu nome. PROJETOS Tipo Codigo Nome Tecnologias e Linguagens para Banco de Dados I .

Um VALOR NULO é um valor que não tem significado algum para o mundo real.  Não contém valor NULO. uma vez que não existem duas instâncias de entidades iguais. somente para o conceitual. • Possui duas restrições importantes:  Não se repete.Modelo Entidade-Relacionamento Chave Primária • Atributo(s) responsável(is) por identificar de forma única cada instância de uma entidade. Tecnologias e Linguagens para Banco de Dados I .

RG. Tecnologias e Linguagens para Banco de Dados I . • Chave secundária: chave sem unicidade em uma relação. título eleitoral. permite-nos identificar unicamente uma entidade no conjunto de entidade. • Chaves candidatas: chaves com unicidade em uma relação: Ex: CPF. tomado coletivamente. endereço. sexo.Modelo Entidade-Relacionamento Superchave. Todos os atributos que conseguem identificar uma Relação. Chaves Candidatas e Chave Secundária Além da chave primária também temos: • Superchave: é o conjunto de um ou mais atributos que. Ex: idade.

O nome do atributo aparece ao lado do círculo e é sublinhado.Modelo Entidade-Relacionamento Chave Primária • É representada graficamente por um círculo ligado por uma linha à entidade ao qual pertence. PROJETOS Tipo Nome Codigo ou Tecnologias e Linguagens para Banco de Dados I .

Modelo Entidade-Relacionamento Chave Primária • Pode ser representado graficamente por uma elipse em torno de seu nome o qual deve ser sublinhado. PROJETOS Tipo Codigo Nome Tecnologias e Linguagens para Banco de Dados I .

pode ocorre várias vezes.  Ex. etc. CLIENTES RG Telefone Atributo Multivalorado Nome Tecnologias e Linguagens para Banco de Dados I . é representado por duas elipses em torno do nome do atributo.Modelo Entidade-Relacionamento Atributos Multivalorados • Atributos que para cada instância de uma entidade. Nomes dos autores de um livro. • No DER. Nomes de cidades à beira de uma rodovia.: Telefones para clientes ou alunos.

em um SGBD de atributos multivalorados RG 1116 1220 RG Telefone 1116 3382-0000 1116 9711-1111 1220 9700-0000 Nome João Pedro Tecnologias e Linguagens para Banco de Dados I .Modelo Entidade-Relacionamento Represent.

nome.Modelo Entidade-Relacionamento Atributos Compostos • Atributos formados por outros atributos.  Ex. etc. SALA NUMERO DIMENSAO ALTURA COMPRIMENTO LARGURA Tecnologias e Linguagens para Banco de Dados I . área de uma sala.: Endereços.

Modelo Entidade-Relacionamento Represent. em um SGBD de atributos compostos Numero Comprimento Largura Altura 100 5 3 3 200 5 2 3 300 7 3 3 Tecnologias e Linguagens para Banco de Dados I .

 Ex.: idade.Modelo Entidade-Relacionamento Atributos Derivados • Atributos resultantes (derivados) de outros atributos ou originados de algum cálculo. qtde_de_func CODIGO SALA DATA_NASCTO QTDE_DE_FUNC IDADE Tecnologias e Linguagens para Banco de Dados I .

Modelo Entidade-Relacionamento Entidades Fracas • Entidade cuja chave contém a chave de outra entidade. Dizer que uma entidade é fraca. • Entidade que possui um dependência existencial com outra instância de entidade. Tecnologias e Linguagens para Banco de Dados I . • São entidades que são dependentes da existência ou da identificação de uma outra entidade. significa dizer: QUE NÃO INTERESSA MANTER NA BASE OS DADOS DE UMA ENTIDADE SE ELA NÃO ESTIVER RELACIONADA COM OUTRA ENTIDADE.

Representação gráfica de uma Entidade Fraca : DEPENDENTES Tecnologias e Linguagens para Banco de Dados I . pois a mesma só existe se existir o funcionário.Modelo Entidade-Relacionamento Entidades Fracas Exemplo: Em um sistema onde tenhamos em nosso banco de dados a entidade FUNCIONARIOS e a entidade DEPENDENTES. a entidade DEPENDENTES seria uma Entidade Fraca.

Modelo Entidade-Relacionamento Representação das entidades FUNCIONARIOS e DEPENDENTES FUNCIONARIOS Num_Func Nome Data_Admissão 4455 João 24/04/1991 4456 Pedro 20/03/1992 4457 Manuel 14/04/1992 4458 Carlos 01/04/1995 DEPENDENTES Num_Func Nome_dependente Parentesco 4455 Francisco Filho 4456 Daniel Filho 4456 Maria Filho Tecnologias e Linguagens para Banco de Dados I .

Modelo Entidade-Relacionamento Relacionamentos • Conjunto de associações entre entidades sobre as quais deseja-se manter informações no Banco de Dados. • Existe quando um ou mais dados de uma entidade estão relacionados de alguma forma com um ou mais dados de outra entidade. Tecnologias e Linguagens para Banco de Dados I .

Tecnologias e Linguagens para Banco de Dados I . perguntamos: • Existe um vínculo entre os objetos destas entidades ? • A partir de um objeto de uma entidade somos capazes de localizar um objeto associado na outra entidade ? Se a resposta for “sim“ para algumas destas questões. está caracterizado um relacionamento entre as entidades envolvidas.Modelo Entidade-Relacionamento Relacionamentos Para determinar se entre duas entidades existe um relacionamento.

• Dado um título. preciso saber que título ele possui. eu sou capaz de localizar um título ? Resposta: Sim. quero saber a que sócio este título pertence. Tecnologias e Linguagens para Banco de Dados I . eu sou capaz de localizar um sócio ? Resposta: Sim.Modelo Entidade-Relacionamento Relacionamentos Exemplo: • Dado um sócio.

o que é Entidade e o que é Relacionamento ? Podemos dizer que os SUBSTANTIVOS são as Entidades e os VERBOS são os Relacionamentos. temos que: • ClLIENTE e EMPRESTIMO são Entidades e • FAZ é Relacionamento. Desta frase. Assim sendo. Tecnologias e Linguagens para Banco de Dados I .Modelo Entidade-Relacionamento Relacionamentos Exemplo: Cliente faz empréstimos.

• O nome do relacionamento é representado dentro do losango. relacionamento Tecnologias e Linguagens para Banco de Dados I .Modelo Entidade-Relacionamento Relacionamentos • É representado graficamente por um losango que une as entidades relacionadas.

Tecnologias e Linguagens para Banco de Dados I . • Uma instância (ocorrência) é uma associação específica entre determinadas instâncias de entidades.Modelo Entidade-Relacionamento Relacionamento e Instância • Relacionamento é um conjunto de associações entre instâncias de entidades.

Modelo Entidade-Relacionamento Ocorrência Exemplo: relacionamento trabalham • Ocorrência = par específico formado por uma ocorrência de PESSOAS e uma ocorrência de DEPARTAMENTOS. PESSOAS trabalham DEPARTAMENTOS Tecnologias e Linguagens para Banco de Dados I .

d3 p1.d1 p2.d1 p4.d2 d2 d1 d3 Entidade PESSOAS relacionamento trabalham Entidade DEPARTAMENTOS Tecnologias e Linguagens para Banco de Dados I .Modelo Entidade-Relacionamento Diagrama de Ocorrências p8 p4 p1 p2 p5 p7 p6 p3 p5.

Modelo Entidade-Relacionamento Auto-Relacionamento • Ocorre toda vez que temos uma ocorrência de uma entidade estar associada a uma ou mais ocorrências da mesma entidade. ENTIDADE Relacionamento Tecnologias e Linguagens para Banco de Dados I .

Modelo Entidade-Relacionamento Exemplos de Auto-Relacionamento FUNCIONARIOS gerencia PESSOAS PESSOAS fliacao casamento PRODUTOS Composicao Tecnologias e Linguagens para Banco de Dados I .

Exemplo: • Relacionamento de casamento:  Uma ocorrência de pessoa exerce o papel de marido  Uma ocorrência de pessoa exerce o papel de esposa.Modelo Entidade-Relacionamento Papel de Relacionamento • Função que uma ocorrência de uma entidade cumpre em uma ocorrência de um relacionamento. Tecnologias e Linguagens para Banco de Dados I . • Relacionamento entre entidades diferentes:  Não é necessário indicar os papéis das entidades.

p7 relacionamento casamento Tecnologias e Linguagens para Banco de Dados I .Modelo Entidade-Relacionamento Auto-Relacionamento Diagrama de Ocorrências p8 p4 p1 p2 p5 p7 p3 p6 Entidade PESSOAS esposa marido esposa p1.p2 marido p6.

Exemplo 1: relacionamento N:N ENGENHEIROS (0.Modelo Entidade-Relacionamento Atributos nos Relacionamentos Assim como entidades possuem atributos.N) atuacao (0.N) PROJETOS funcao Codigo Nome Codigo Titulo Tecnologias e Linguagens para Banco de Dados I . os relacionamentos também podem possuir atributos.

• Também não é atributo da entidade PROJETOS. já que em um projeto podem atuar diversos engenheiros com funções diferentes. Tecnologias e Linguagens para Banco de Dados I . • Esta não pode ser considerada atributo da entidade ENGENHEIROS. já que um engenheiro pode atuar em diversos projetos exercendo diferentes funções.Modelo Entidade-Relacionamento Atributos nos Relacionamentos • ATUAÇÃO – a função que um engenheiro exerce dentro de um projeto.

Modelo Entidade-Relacionamento Atributos nos Relacionamentos Exemplo 2: relacionamento 1:N • Em uma organização comercial.1) financia (0. As vendas à prazo são financiadas por uma financeira. FINANCEIRAS (0.N) VENDAS Nº parcelas Taxa juros Codigo Nome Codigo Data Tecnologias e Linguagens para Banco de Dados I . são realizadas vendas à vista e outras à prazo. e de acordo com o número de parcelas é estabelecido a taxa de juros a ser cobrada.

Assim sendo. seriam atributos opcionais. optou-se em usar o modelo do diagrama exatamente para explicitar o fato de os atributos nº de parcelas e taxa de juros pertencerem somente a vendas à parzo. Tecnologias e Linguagens para Banco de Dados I . Neste caso. já que nem toda venda é à prazo e possui estes atributos.Modelo Entidade-Relacionamento Atributos nos Relacionamentos • Estes dois atributos poderiam ter sido incluídos na entidade VENDAS.