Você está na página 1de 84

Sistema de Banco de Dados, 5/E

Captulo 6: Modelo entidade-relacionamento

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Captulo 6: Modelo entidade-relacionamento


Processo de projeto

Modelagem
Restries Diagrama ER Aspectos de projeto Conjuntos de entidades fracos Recursos de ER estendidos Projeto de banco de dados para instituio bancria Reduo aos esquemas relacionais Projeto de banco de dados UML
Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Modelagem
Um banco de dados pode ser modelado como:
Uma coleo de entidades,
Relacionamento entre entidades.

Uma entidade um objeto que existe e distinguvel de outros objetos.


Exemplo: pessoa, empresa, evento e planta especficos

Entidades possuem atributos


Exemplo: pessoas tm nomes e endereos

Um conjunto de entidades um grupo de entidades do mesmo tipo que

compartilham as mesmas propriedades.


Exemplo: conjunto de todas as pessoas, empresas, rvores, feriados

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Conjuntos de entidades cliente e emprstimo

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Conjuntos de relacionamento

Um relacionamento uma associao entre vrias entidades

Exemplo:
Hayes entidade cliente

depositante conjunto de relacionamento

A-102 entidade conta

Um conjunto de relacionamento uma relao matemtica entre n 2 entidades, cada uma tomada de conjuntos de entidades
{(e1, e2, en) | e1 E1, e2 E2, , en En}

onde (e1, e2, , en) um relacionamento


Exemplo: (Hayes, A-102) depositante

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Conjunto de relacionamento tomador (devedor )

cliente

emprstimo

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Conjuntos de relacionamento (cont.)

Um atributo tambm pode ser uma propriedade de um conjunto de relacionamento. Por exemplo, o relacionamento depositante entre os conjuntos de entidades cliente e conta pode ter o atributo data-acesso

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Atributos

Uma entidade representada por um conjunto de atributos, que so propriedades descritivas processadas por todos os membros de um conjunto de entidades. Exemplo: cliente = id_cliente, nome_cliente , rua_cliente, cidade_cliente) emprstimo = (nmero_emprstimo, conta) Domnio o conjunto de valores permitidos para cada atributo Tipos de atributo: Atributos simples e compostos. Atributos de valor nico e de valores mltiplos Exemplo: atributo de valores mltiplos: nmeros_telefone, nome_dependentes Atributos derivados Podem ser calculados a partir de outros atributos Exemplo: idade, data_nascimento, tempo_de_servio
Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Atributos compostos

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Restries de cardinalidade de mapeamento


Expressam o nmero de entidades ao qual outra entidade pode

ser associada atravs de um conjunto de relacionamento.


Normalmente so teis em descrever conjuntos de relacionamento

binrios.
Para um conjunto de relacionamento binrio, a cardinalidade de

mapeamento precisa ser de um dos seguintes tipos:


Um-para-um Um-para-muitos Muitos-para-um Muitos-para-muitos

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Cardinalidades de mapeamento

Um-para-um Um-para-muitos Nota: Alguns elementos em A e B podem no ser mapeados para quaisquer elementos no outro conjunto.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Cardinalidades de mapeamento

Muitos-para-um Muitos-para-muitos

Nota: Alguns elementos em A e B podem no ser mapeados para quaisquer elementos no outro conjunto.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Chaves

Uma superchave de um conjunto de entidades um conjunto de um ou mais atributos cujos valores determinam unicamente cada entidade.

Uma chave candidata de um conjunto de entidades uma superchave mnima


Id_cliente uma chave candidata de cliente nmero_conta uma chave candidata de conta

Embora possam existir vrias chaves candidatas, uma das chaves candidatas selecionada para ser a chave primria.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Chaves para conjuntos de relacionamento

A combinao de chaves primrias dos conjuntos de entidades participantes forma uma superchave de um conjunto de relacionamento.
(id_cliente, nmero_conta) a superchave de depositante NOTA: isso significa que um par de conjuntos de entidades pode

ter no mximo um relacionamento em um determinado conjunto de relacionamento.


Exemplo: Se desejarmos acompanhar todas as datas de acesso a

cada conta por cada cliente, no podemos considerar um relacionamento para cada acesso. Entretanto, podemos usar um atributo de valores mltiplos.

Precisam considerar a cardinalidade de mapeamento do conjunto de relacionamento quando decidir quais so as chaves candidatas Precisam considerar a semntica do conjunto de relacionamento ao selecionar a chave primria no caso de mais de uma chave candidata

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagramas ER

Retngulos representam conjuntos de entidades.


Losangos representam conjuntos de relacionamento. Linhas vinculam atributos a conjuntos de entidades e estes a conjuntos de relacionamento. Elipses representam atributos Elipses duplas representam atributos de valores mltiplos. Elipses tracejadas indicam atributos derivados.

Sublinhados indicam atributos de chave primria (que veremos mais tarde)

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagrama ER com atributos compostos, derivados e de valores mltiplos

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Conjuntos de relacionamento com atributos

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Funes (papis)

Conjuntos de entidades de um relacionamento no precisam ser distintos Os rtulos gerente e funcionrio so chamados funes; eles especificam como as entidades de funcionrio interagem atravs do conjunto de relacionamento trabalha_para. As funes so indicadas nos diagramas ER rotulando as linhas que conectam os losangos aos retngulos. Os rtulos de funo so opcionais e so usados para esclarecer a semntica do relacionamento

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Restries de cardinalidade

Expressamos as restries de cardinalidade desenhando uma linha direcionada (), significando um, ou uma linha no direcionada (), significando muitos, entre o conjunto de relacionamento e o conjunto de entidades.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Relacionamento um-para-um
Um cliente est associado, no mximo, a um emprstimo atravs

do relacionamento tomador
Um emprstimo est associado, no mximo, a um cliente atravs

de tomador

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Relacionamento um-para-muitos

No relacionamento um-para-muitos, um emprstimo est associado, no mximo, a um cliente atravs de tomador, um cliente est associado a vrios (inclusive 0) emprstimos atravs de tomador

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Relacionamento muitos-para-um

Em um relacionamento muitos-para-um, um emprstimo est associado a vrios (inclusive 0) clientes atravs de tomador, um cliente est associado, no mximo, a um emprstimo atravs de tomador

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Relacionamento muitos-para-muitos

Um cliente est associado a vrios (possivelmente 0) emprstimos atravs de tomador Um emprstimo est associado a vrios (possivelmente 0) clientes atravs de tomador

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Participao de um conjunto de entidades em um conjunto de relacionamento

Participao total (indicada por uma linha dupla): cada entidade no conjunto de entidades participa no mnimo em um relacionamento no conjunto de relacionamento
Por exemplo, a participao de emprstimo em tomador total Cada emprstimo precisa ter um cliente associado atravs de tomador

Participao parcial: algumas entidades podem no participar em relacionamento algum no conjunto de relacionamento
Exemplo: a participao de cliente em tomador parcial

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Notao alternativa para limites de cardinalidade

Os limites de cardinalidade tambm podem expressar restries de participao

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagrama ER com um relacionamento ternrio

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Restries de cardinalidade no relacionamento ternrio

Permitimos no mximo uma seta saindo de um relacionamento ternrio (ou grau maior) para indicar uma restrio de cardinalidade
Por exemplo, uma seta de trabalha_em indica que cada funcionrio trabalha no mximo em um cargo em qualquer agncia.

Se houver mais de uma seta, haver duas maneiras de definir o significado.

Por exemplo, um relacionamento ternrio R entre A, B e C com setas para B e C poderia significar: 1. Cada entidade A est associada a uma nica entidade de B e C ou 2. Cada par de entidades de (A, B) est associado a uma nica entidade C, e cada par (A, C) est associado a um nico B

Cada alternativa foi usada em diferentes formalismos Para evitar confuso, proibimos mais de uma seta

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Aspectos de projeto
Uso de conjuntos de entidades versus atributos

A escolha depende principalmente da estrutura da empresa sendo modelada e da semntica associada ao atributo em questo.
Uso de conjuntos de entidades versus conjuntos de

relacionamento Uma possvel regra designar um conjunto de relacionamento para descrever uma ao que ocorre entre entidades.
Conjuntos de relacionamento binrios versus enrios

Embora seja possvel substituir um conjunto de relacionamento no binrio (enrio, para n > 2) por diversos conjuntos de relacionamento binrios distintos, um conjunto de relacionamento enrio mostra mais claramente que vrias atributos participam em um nico relacionamento.
Posicionamento dos atributos de relacionamento

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Relacionamentos binrios versus no binrios

Alguns relacionamentos que parecem ser no binrios podem ser mais bem representados por vrios relacionamentos binrios.
Por exemplo, um relacionamento ternrio pais, relacionando um filho ao

seu pai e me, melhor representado por dois relacionamentos binrios, me e pai
Usar dois relacionamentos binrios permite informaes parciais (por

exemplo, se apenas a me for conhecida)


Mas existem relacionamentos que so naturalmente no binrios Exemplo: trabalha_em

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Convertendo relacionamentos no binrios para a forma binria

Em geral, qualquer relacionamento no binrio pode ser representado usando relacionamentos binrios criando um conjunto de entidades artificial. Substitua R entre os conjuntos de entidades A, B e C por um conjunto de entidades E trs conjuntos de relacionamento: 1. RA, relacionando E e A 2. RB, relacionando E e B 3. RC, relacionando E e C Crie um atributo identificador especial para E Inclua quaisquer atributos de R em E Para cada relacionamento (ai , bi , ci) em R, 1. crie uma nova entidade ei no conjunto de entidades E 2. inclua (ei , ai ) em RA 3. inclua (ei , bi ) em RB 4. inclua (ei , ci ) em RC

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Convertendo relacionamentos no binrios para a forma binria (cont.)

Tambm precisamos traduzir as restries


Talvez no seja possvel traduzir todas as restries Pode haver instncias no esquema traduzido que no pode corresponder a

instncia alguma de R
Exerccio: acrescente restries aos relacionamentos RA, RB e RC para

garantir que uma entidade recm-criada corresponda a exatamente uma entidade em cada um dos conjuntos de entidades A, B e C
Podemos evitar a criao de um atributo identificador tornando E um

conjunto de entidades fraco (descrito brevemente) identificado pelos trs conjuntos de relacionamento.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Cardinalidades de mapeamento afetam o projeto ER

Podemos tornar a data de acesso um atributo de conta, em vez de um atributo de relacionamento, se cada conta puder ter apenas um cliente
Ou seja, o relacionamento de conta para cliente muitos-para-um ou,

equivalentemente, cliente para conta um-para-muitos

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Que tal criar um projeto ER interativamente no quadro? Sugira uma aplicao a ser modelada.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Conjuntos de entidades fracas


Um conjunto de entidades que no possui uma chave primria

chamado de conjunto de entidades fraco.


A existncia de um conjunto de entidades fraco depende da

existncia de um conjunto de entidades identificador


Ele precisa se relacionar com o conjunto de entidades identificador

atravs de um conjunto de relacionamento um-para-muitos total, do identificador para o conjunto de entidades fraco
Relacionamento identificador descrito usando um losango duplo

O discriminador (ou chave parcial) de um conjunto de entidades

fraco o conjunto de atributos que distingue entre todas as entidades de um conjunto de entidades fraco.
A chave primria de um conjunto de entidades fraco formada

pela chave primria do conjunto de entidades forte em que o conjunto de entidades fraco dependente de existncia, mais o discriminador do conjunto de entidades fraco.
Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Conjuntos de entidades fracas (cont.)

Representamos um conjunto de entidades fraco por retngulos duplos.

Sublinhamos o discriminador de um conjunto de entidades fraco com uma linha tracejada.


nmero_pagamento discriminador do conjunto de entidades pagamento. Chave primria para pagamento (nmero_emprstimo, nmero_pagamento)

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Conjuntos de entidades fracos (cont.)

Nota: A chave primria do conjunto de entidades forte no

explicitamente armazenada com o conjunto de entidades fraco, j que ela est implcita no relacionamento identificador.

Se nmero_emprstimo fosse explicitamente armazenado, pagamento

poderia se tornar uma entidade forte, mas, ento, o relacionamento entre pagamento e emprstimo seria duplicado por um relacionamento implcito definido pelo atributo nmero_emprstimo comum a pagamento e emprstimo.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Mais exemplos de conjunto de entidades fraco


Em uma universidade, um curso uma entidade forte e uma

oferta_curso pode ser modelada como uma entidade fraca


O discriminador de oferta_curso seria semestre (incluindo ano) e

nmero_seo (se houver mais de uma seo)


Se modelarmos oferta_curso como uma entidade forte,

modelaramos nmero_curso como um atributo.

Ento, o relacionamento com curso estaria implcito no atributo nmero_curso

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Recursos de ER estendidos: Especializao


Processo de projeto de cima para baixo: Designamos

subagrupamentos dentro de um conjunto de entidades que so distintivos de outras entidades no conjunto.


Esses subagrupamentos se tornam conjuntos de

entidades de nvel inferior que possuem atributos ou participam em relacionamentos que no se aplicam ao conjunto de entidades de nvel superior.
Representada por um componente tringulo rotulado ISA

(por exemplo, cliente uma pessoa).

Herana de atributo Um conjunto de entidades de nvel inferior herda todos os atributos e a participao de relacionamento do conjunto de entidades de nvel superior ao qual est vinculado.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Exemplo de especializao

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Recursos de ER estendidos: Generalizao


Um processo de projeto de baixo para cima Combine vrios

conjuntos de entidades que compartilham os mesmos recursos em um conjunto de entidades de nvel superior.
A especializao e a generalizao so simples inverses uma da

outra; so representadas em um diagrama ER da mesma maneira.


Os termos especializao e generalizao so usados

indistintamente.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Especializao e generalizao (cont.)


Pode ter mltiplas especializaes de um conjunto de entidades

com base em diferentes recursos.


Por exemplo, funcionrio_permanente versus

funcionrio_temporrio, alm de gerente versus escriturrio versus caixa.


Cada funcionrio especfico seria um membro de funcionrio_permanente ou

funcionrio_temporrio
e tambm um membro de gerente, escriturrio ou caixa.

O relacionamento ISA tambm chamado de relacionamento

superclasse-subclasse.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Restries de projeto em uma especializao/generalizao

A restrio sobre que entidades podem ser membros de um determinado conjunto de entidades de nvel inferior. Definido por condio Exemplo: Todos os clientes com mais de 65 anos so membros do conjunto de entidades cidado_senior; cidado_senior ISA pessoa. Definido pelo usurio

Restringe sobre se ou no as entidades podem pertencer a mais de um conjunto de entidades de nvel inferior dentro de uma nica generalizao. Disjuntos uma entidade no pode pertencer a mais que um conjunto de entidades de nvel inferior Indicados no diagrama ER pela inscrio de disjunto ao lado do tringulo ISA Superpostos um conjunto de entidades pode pertencer a mais de um conjunto de entidades de nvel inferior

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Restries de projeto em uma especializao/generalizao (cont.)

Restrio de integralidade Especifica se ou no uma entidade no conjunto de entidades de nvel superior precisa pertencer a pelo menos um dos conjuntos de entidades de nvel inferior dentro de uma generalizao
total : Uma entidade precisa pertencer a um conjunto de entidades

de nvel inferior
parcial: Uma entidade no precisa pertencer a um conjunto de

entidades de nvel inferior

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Agregao

Considere o relacionamento ternrio trabalha_em

Suponha que queremos registrar gerentes para tarefas realizadas por um funcionrio em uma agncia

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Agregao (cont.)

Os conjuntos de relacionamento trabalha_em e gerencia representam informaes superpostas


Cada relacionamento gerencia corresponde a um relacionamento trabalha_em Entretanto, alguns relacionamentos trabalha_em podem no corresponder a nenhum relacionamentos gerencia
Portanto, no podemos descartar o relacionamento trabalha_em

Elimine essa redundncia atravs da agregao


Trate relacionamento como uma entidade abstrata Permite relacionamentos entre relacionamentos Abstrao de relacionamento em nova entidade

Sem introduzir redundncia, o diagrama a seguir representa:


Um funcionrio trabalha em um cargo especfico em uma agncia especfica Um funcionrio, agncia ou combinao de cargos pode ter um gerente associado

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagrama ER com agregao

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagrama E-R com relacionamentos redundantes

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Agregao

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Decises de projeto ER
Usar um atributo ou um conjunto de entidades para

representar um objeto.
Se um conceito do mundo real expresso mais

precisamente por um conjunto de entidades ou por um conjunto de relacionamento.


Usar um relacionamento ternrio ou um par de

relacionamentos binrios.
Usar um conjunto de entidades forte ou fraco. O uso de especializao/generalizao contribui para

a modularidade do projeto.
O uso de agregao pode tratar o conjunto de

entidades agregado como uma nica unidade sem preocupao com os detalhes de sua estrutura interna.
Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagrama ER para uma instituio bancria

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Um banco de dados est sendo feito para controlar os campeonatos de futebol. necessrio armazenar clubes, informaes sobre estdios, jogadores e juzes. Para cada jogo preciso ter todas as informaes possveis, por exemplo: renda, quem jogou, em que posio, quem marcou gols, e em que tempo, qual foi a renda e qual o resultado final do jogo. Para planejar futuros jogos necessrio saber, quais estdios esto alocados, se pertencem a algum clube, quais os juzes disponveis e tomar cuidado para o mesmo time no jogar com intervalo de menos de 3 dias.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Resumo dos smbolos usados na notao ER

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Resumo dos smbolos (cont.)

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Reduo aos esquemas de relao

As chaves primrias permitem que conjuntos de entidades e conjuntos de

relacionamento sejam expressos uniformemente como esquemas de relao


que representam o contedo do banco de dados.

Um banco de dados que se conforma a um esquema de banco de dados ER

pode ser representado por uma coleo de esquemas de relao.

Para cada conjunto de entidades e para cada conjunto de relacionamento, existe um esquema nico ao qual atribumos o nome do conjunto de entidades ou conjunto de relacionamento correspondente.

Cada esquema tem um nmero de colunas (geralmente correspondente aos atributos), que possuem nomes nicos.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Representando conjuntos de entidades como esquemas

Um conjunto de entidades forte reduzido para um esquema com os mesmos atributos.

Um conjunto de entidades fraco se torna uma tabela que inclui uma coluna para a chave primria do conjunto de entidades forte identificador.

pagamento = ( nmero_emprstimo, nmero_pagamento, data_pagamento, quantia_pagamento )

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Representando conjuntos de relacionamento como esquemas


Um conjunto de relacionamento muitos-para-muitos

representado como um esquema com atributos para as chaves primrias dos dois conjuntos de entidades participantes e quaisquer atributos descritivos do conjunto de relacionamento.
Exemplo: Esquema para o conjunto de relacionamento tomador: Exemplo: schema for relationship set borrower

tomador = (id_cliente, nmero_emprstimo )

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Redundncia de esquemas

Conjuntos de relacionamento muitos-para-um e muitos-para-muitos que so completos no lado muitos podem ser representados acrescentando um atributo extra no lado muitos, contendo a chave primria do lado um. Exemplo: Em vez de criar um esquema para o conjunto de relacionamento agncia_conta, acrescente um atributo nome_agncia ao esquema surgindo do conjunto de entidades conta.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Redundncia de esquemas (cont.)

Para conjuntos de relacionamento um-para-um, qualquer lado pode ser escolhido como o lado muitos.
Ou seja, o atributo extra pode ser acrescentado a qualquer uma das tabelas

correspondentes aos dois conjuntos de entidades.

Se a participao for parcial no lado muitos, a substituio de um esquema por um atributo extra no esquema correspondente ao lado muitos poderia resultar em valores nulos. O esquema correspondente a um conjunto de relacionamento vinculando um conjunto de entidades fraco ao seu conjunto de entidades forte identificador redundante.
Exemplo: O esquema pagamento j contm os atributos que apareceriam

no esquema pagamento_emprstimo (isto , nmero_emprstimo e nmero_pagamento).

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Atributos compostos e de valores mltiplos

Os atributos compostos so manipulados criando um atributo separado para cada um dos atributos componentes. Exemplo: Sejam dados o conjunto de entidades cliente com o atributo composto nome com atributos componentes primeiro_nome e ltimo_nome, o esquema correspondente ao conjunto de entidades possui dois atributos, nome.primeiro_nome e nome.ltimo_nome Um atributo de valores mltiplos M de uma entidade E representado por um esquema separado EM. O esquema EM tem atributos correspondentes chave primria de E e um atributo correspondente ao atributo de valores mltiplos M. Exemplo: O atributo de valores mltiplos nomes_dependentes de funcionrio representado por um esquema: nomes_dependentes_funcionrio = (id_funcionrio, nomedep) Cada valor do atributo de valores mltiplos mapeado para uma tupla separada da relao no esquema EM.
Por exemplo, uma entidade funcionrio com chave primria 123-45-

6789 e dependentes Jack e Jane mapeia para duas tuplas: (123-45-6789 , Jack) e (123-45-6789 , Jane)

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Representando especializao atravs de esquemas


Mtodo 1: Forme um esquema para a entidade de nvel mais alto Forme um esquema para cada conjunto de entidades de

nvel inferior, inclua a chave primria do conjunto de entidades de nvel superior e atributos locais
esquema pessoa cliente funcionrio

atributos nome, rua, cidade nome, avaliao_crdito nome, salrio

Desvantagem: Para obter informaes sobre um funcionrio, necessrio acessar duas relaes, a relao correspondente ao esquema de baixo nvel e a correspondente ao esquema de alto nvel.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Representando especializao atravs de esquemas (cont.)

Mtodo 2:

Forme um esquema para cada conjunto de entidades com todos os atributos locais e herdados

esquema pessoa cliente funcionrio


atributos nome, rua, cidade nome, rua, cidade, avaliao_crdito nome, rua, cidade, salrio

Se a especializao for total, o esquema para o conjunto de entidades generalizado (pessoa) no exige armazenar informaes.
Pode ser definido como uma relao de view contendo a unio das relaes de

especializao
Mas o esquema explcito ainda pode ser necessrio para restries de chave

estrangeira

Desvantagem: rua e cidade podem ser armazenados redundantemente para pessoas que so, ao mesmo tempo, clientes e funcionrios

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Esquemas correspondentes agregao

Para representar agregao, crie um esquema contendo

Chave primria do relacionamento agregado A chave primria do conjunto de entidades associado Quaisquer atributos descritivos

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Esquemas correspondentes agregao (cont.)

Por exemplo, para representar a agncia gerencia entre o relacionamento trabalha_em e o conjunto de entidades gerente, crie um esquema

gerencia (id_funcionrio, nome_agncia, ttulo, nome_gerente)

O esquema trabalha_em redundante, desde que estejamos dispostos a armazenar valores nulos para o atributo nome_gerente na relao no esquema gerencia

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

UML
UML: Unified Modeling Language

A UML possui muitos componentes para modelar graficamente

diferentes aspectos de um sistema de software inteiro

O diagrama de classe UML corresponde ao diagrama ER, mas

com vrias diferenas.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Resumo da notao do diagrama de classe UML

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Notao do diagrama de classe UML (cont.)

Os conjuntos de entidades so mostrados como retngulos e, diferente do diagrama ER, os atributos so mostrados dentro do retngulo e no como elipses separadas. Os conjuntos de relacionamento binrios so representados na UML simplesmente desenhando uma linha conectando os conjuntos de entidades. O nome do conjunto de relacionamento escrito adjacente linha. A funo desempenhada por um conjunto de entidades em um conjunto de relacionamento tambm pode ser especificada escrevendo o nome da funo na linha, adjacente ao conjunto de entidades. Alternativamente, o nome do conjunto de relacionamento pode ser escrito em um retngulo, juntamente com atributos do conjunto de relacionamento, e o retngulo conectado usando uma linha pontilhada at a linha representando o conjunto de relacionamento. Os relacionamentos no binrios so desenhados usando losangos, exatamente como nos diagramas ER
Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Notao do diagrama de classe UML (cont.)

* Note a inverso de posies na representao da restrio de cardinalidade * A generalizao pode usar setas mescladas ou separadas independentes de disjuno/superposio

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagrama de classe UML (cont.)

As restries de cardinalidade so especificadas na forma l..h, onde l indica o mnimo e h, o nmero mximo de relacionamentos em que um conjunto de entidades pode participar. Ateno: O posicionamento das restries exatamente o inverso do posicionamento das restries nos diagramas ER. A restrio 0..* no lado E2 e a restrio 0..1 no lado E1 significam que cada entidade E1 pode participar em muitos relacionamentos; ou seja, o relacionamento muitos-para-um de E2 para E1. Valores nicos como 1 ou * podem ser escritos nas bordas; o valor nico 1 em uma borda tratado como equivalente a 1..1, enquanto * equivalente a 0..*.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Fim do Captulo 2

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagrama ER para o Exerccio 6.21

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagrama ER para o Exerccio 6.9

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagrama ER para o Exerccio 2.11

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Diagrama ER para o Exerccio 6.22

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Dependncias de existncia

Se a existncia da entidade x depende da existncia da entidade y, ento, diz-se que x dependente de existncia de y.
y uma entidade dominante (no exemplo abaixo, emprstimo)

x uma entidade subordinada (no exemplo abaixo, pagamento)

emprstimo

Emprstimo-pagamento

pagamento

Se um emprstimo for excludo, ento, todas as suas entidades pagamento associadas tambm precisaro ser excludas.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Figura 6.8

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Figura 6.15

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Figura 6.16

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Figura 6.26

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Figura 6.27

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Figura 6.28

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Figura 6.29

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Figura 6.30

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Figura 6.31

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Notaes ER alternativas Figura 6.24

Korth Silberschatz Sundarshan

Você também pode gostar