Você está na página 1de 8

MODELAGEM DE DADOS AULA 4

Nesta Unidade voc vai aprender :


o O que so e como identificar relacionamentos redundantes? o O que um autorrelacionamento, seu papel e cardinalidade ? o O que so relacionamentos binrios e ternrios ? o Atributos e chaves de um relacionamento. Objetivos: o o o o o o

Discutir o conceito, de relacionamento reduntante e autorrelacionamento; Discutir o processo de anlise e identificao dos relacionamentos reduntantes; Discutir o processo de identificao da cardinalidade nos autorrelacionamentos; Discutir o conceito de relacionamento de grau superior a dois; Discutir o processo de identificao da cardinalidade nos relacionamentos ternrios; Discutir a possibilidade de atributos e chaves de um relacionamento.

4.1 Introduo
Um dos objetivos da modelagem eliminar a redundncia de dados. Devemos ser capazes de identificar (e eventualmente eliminar) os relacionamentos que se apresentam como redundantes. Nas aulas anteriores, voc aprendeu que relacionamentos representam vnculos entre entidades. A maioria destes relacionamentos representa vnculos entre objetos que fazem parte de duas entidades. Estes relacionamentos so conhecidos como relacionamentos binrios. At agora ns somente consideramos relacionamentos que envolvem duas entidades diferentes. Seria possvel imaginar relacionamentos que vinculassem diferentes objetos de uma mesma entidade? Nesta aula, vamos conhecer os autorrelacionamentos, que representam vnculos entre objetos que fazem parte da mesma entidade. Voc ver que, algumas vezes, temos relacionamentos que envolvem mais de duas entidades. Agora, uma pergunta: e os relacionamentos, podem ter atributos tambm? Agora falta pouco , renove suas energias para este ltimo captulo do nosso curso que est muito interessante. No esquea de participar dos debates no frum!

4.2 Relacionamentos redundantes


Redundncia significa repetio dos dados e especialmente danosa por causa da probabilidade de inconsistncia dos dados. Uma das possveis ocorrncias de redundncia so os relacionamentos redundantes. Vamos considerar as entidades scio e mensalidade, utilizados nas aulas anteriores. Podemos pensar que h necessidade de estabelecer um vnculo, ou relacionamento, entre elas: Scio (0,1) paga (0,N) mensalidade Este relacionamento indica qual o scio a que se refere uma mensalidade e indica, para cada scio, quais so as mensalidades pelas quais ele responsvel. Mas, ser que precisamos mesmo deste relacionamento? Olhando melhor o modelo de dados, vemos que j existem dois relacionamentos que envolvem scio e mensalidade:
o Scio possui ttulo. o Mensalidade pertence a ttulo. Incluindo o relacionamento Scio paga Mensalidade, o modelo ficaria assim:

Pgina 35

Se observarmos o modelo da pgina anterior , vemos um ciclo de relacionamento envolvendo as trs entidades:scio, ttulo e mensalidade Toda vez que temos um ciclo como este, temos de verificar se um destes relacionamentos no pode ser deduzido a partir dos outros dois. Por exemplo:Se um scio possui um ttulo e se uma mensalidade pertence a este ttulo, bvio que a mensalidade de responsabilidade deste scio. Da mesma maneira, se sabemos a qual ttulo uma mensalidade pertence e a que scio este ttulo pertence, identificamos o scio que dever pagar ou que pagou a mensalidade. Desta forma, conclumos que o relacionamento redundante e no deve constar do modelo. Exerccio Proposto --- > http://etec.se.df.gov.br/pluginfile.php/2715/mod_book/chapter/116/ex_prop1_un4.pdf

4.2 Relacionamentos redundantes


Redundncia significa repetio dos dados e especialmente danosa por causa da probabilidade de inconsistncia dos dados. Uma das possveis ocorrncias de redundncia so os relacionamentos redundantes. Vamos considerar as entidades scio e mensalidade, utilizados nas aulas anteriores. Podemos pensar que h necessidade de estabelecer um vnculo, ou relacionamento, entre elas: Scio (0,1) paga (0,N) mensalidade Este relacionamento indica qual o scio a que se refere uma mensalidade e indica, para cada scio, quais so as mensalidades pelas quais ele responsvel. Mas, ser que precisamos mesmo deste relacionamento? Olhando melhor o modelo de dados, vemos que j existem dois relacionamentos que envolvem scio e mensalidade:
o Scio possui ttulo. o Mensalidade pertence a ttulo. Incluindo o relacionamento Scio paga Mensalidade, o modelo ficaria assim:

Pgina 35

Se observarmos o modelo da pgina anterior , vemos um ciclo de relacionamento envolvendo as trs entidades:scio, ttulo e mensalidade Toda vez que temos um ciclo como este, temos de verificar se um destes relacionamentos no pode ser deduzido a partir dos outros dois. Por exemplo:Se um scio possui um ttulo e se uma mensalidade pertence a este ttulo, bvio que a mensalidade de responsabilidade deste scio. Da mesma maneira, se sabemos a qual ttulo uma mensalidade pertence e a que scio este ttulo pertence, identificamos o scio que dever pagar ou que pagou a mensalidade. Desta forma, conclumos que o relacionamento redundante e no deve constar do modelo. Exerccio Proposto --- > http://etec.se.df.gov.br/pluginfile.php/2715/mod_book/chapter/116/ex_prop1_un4.pdf

4.3 Autorrelacionamento
Voc aprendeu que os objetos, ou entidades, que ocorrem na realidade, no ocorrem isolados. Eles se vinculam uns aos outros, naquilo que chamamos de relacionamentos. Por exemplo, os clientes esto vinculados aos pedidos e estes, aos clientes. Este vnculo representado como um relacionamento entre a entidade Cliente e a entidade Pedido. Seria possvel imaginar relacionamentos que vinculassem diferentes objetos de uma mesma entidade? Considere agora a seguinte situao: O Aristocrata Country Clube est fazendo uma campanha para conseguir novos scios atravs de indicaes dos scios atuais. Cada scio que indicar um novo scio ganhar uma compensao ou um prmio por isto. O clube vai querer vincular cada scio quele que o indicou. Tambm vai querer saber que scios um determinado scio indicou. Os vnculos formam um relacionamento entre a entidade scio e ela mesma. Este relacionamento pode ter o nome:scio indica scio Um autorrelacionamento representado no modelo entidade-relacionamento da maneira indicada na figura abaixo: as duas extremidades do relacionamento terminam na entidade scio.

Quando temos um autorrelacionamento, fica a dvida de que papel representa cada extremidade? Quem o scio que indicou, e quem o scio que foi indicado? Neste caso, indicamos, em cada extremidade, qual o papel que aquele objeto est desempenhando neste relacionamento. Depois de dar nomes aos papis, podemos estabelecer as cardinalidades:
o Um scio indicador poder indicar zero ou mais scios indicados. o Um scio pode ser indicado (ou no) por um scio indicador. Ou ento: o

Scio indicador (0,1) indica (0,N) Scio indicado.

4.4 Agregao
A agregao a abstrao por meio do qual os relacionamentos so tratados como entidades de nvel superior. Uma das limitaes do modelo E-R que no possvel representar relacionamentos entre relacionamentos. A agregao viabiliza a modelagem de alguma situaes que envolvem relacionamentos de entidades N:N, especialmente quando um relacionamento se relaciona com outro. Acompanhe o exemplo abaixo:

Se for necessrio saber:


o Qual mdico receitou um exame? o Qual paciente recebeu um exame? Teramos que criar uma outra entidade chamada Exame que se relacionasse tanto com o mdico como com o paciente concorda?

Com a agregao evitaramos isso, veja:

Pgina 38
Regras para identificar uma Agregao: 1) Somente podem existir agregaes em relacionamentos N:M; 2) Sempre que obtivermos um modelo de dados com um relacionamento N:M, deve-se buscar no mundo real o que este relacionamento representa ( situao, documento, caso, entre outros); 3) Determinar a conectividade do relacionamento entre a entidade e a agregao. 4) Nunca existe agregao em relacionamentos 1:N ou N:1.

4.5 Relacionamento Ternrio


Nesta aula, voc ver que, algumas vezes, temos relacionamentos que envolvem mais de duas entidades. Considere agora o modelo de dados de um colgio tcnico,com seus cursos, professores e disciplinas. Para indicar que um professor foi escalado para lecionar uma determinada matria. A soluo abaixo no uma soluo adequada:

Este relacionamento pode indicar, por exemplo, que o professor Joo leciona Matemtica. Mas em que curso? A soluo para este problema o chamado relacionamento ternrio, que envolve trs entidades:

professor leciona disciplina em um curso

Pgina 40

Num relacionamento ternrio, as cardinalidades do relacionamento so estabelecidas da seguinte forma:


o Um determinado professor leciona uma determinada matria em quantos cursos? A resposta pode ser:

o de zero at muitos Esta pergunta determina a cardinalidade da entidade curso neste relacionamento.

Da mesma maneira, podemos estabelecer as cardinalidades das outras entidades: Um determinado professor pode lecionar em um determinado curso quantas matrias? Resposta: zero ou muitas Num determinado curso, uma determinada matria pode ser lecionada por quantos professores? Resposta: um e somente um Um relacionamento ternrio envolve trs entidades. possvel encontrar relacionamentos que envolvam quatro ou mais entidades? A resposta sim. Podemos ter relacionamentos com quatro (quaternrios), cinco ou mais entidades, mas eles so muito raros.

4.6 Atributos de Relacionamentos


Quando estudamos os componentes de um DER, vimos que as entidades possuem atributos que podem ser representados atravs de elipses e quando esto em negrito, significam chave primria primary key (pk) ou chave estrangeira foreign key (fk).

CODFORN foi escolhida como PK porque s h um cdigo para identificar o fornecedor. Agora, uma pergunta: e os relacionamentos, podem ter atributos tambm? Em alguns casos, necessrio que os atributos estejam inseridos em uma entidade de juno (ou associativa) para que o relacionamento fique mais bem definido. Neste caso, o atributo de relacionamento aquele que permite efetuar a associao dos conjuntos-entidade.

Um relacionamento no precisa ter uma chave, da mesma forma que uma entidade. A chave do relacionamento precisa ser:
o nica o Universal o Imutvel A chave do relacionamento sempre a combinao das chaves das entidades relacionadas.

Pgina 42
Chegamos ao fim do nosso Curso de Modelagem de dados, espero que tenham aproveitado ao mximo. Porm o aprendizado no pode parar por aqui! Existem diversos sites na Internet nos quais voc pode obter informaes especficas sobre este assunto, como esclarecer dvidas, saber das novas verses, dos recursos, etc. Voc poder participar de fruns de discusso especficos sobre Anlise de Dados, alm de atualizar-se constantemente em sites de revistas ou comerciais. Em sites de pesquisa possvel encontrarmos diversos outros sites sobre Anlise de Dados, mas procure participar sempre de sites profissionais, que iro enriquecer e ampliar seus conhecimentos. Foi um prazer t-los conosco! BOA SORTE nos outros mdulos do seu Curso!

ESTUDO COMPLEMENTAR

Voc tem aproximadamente 3 horas para a leitura, estudo e reflexes sobre a relao do texto base da unidade com o que j vem estudando, com seus estudos complementares e com suas prticas atuais e futuras. Utilize o frum de dvidas para observaes e questionamentos sobre este(s) material(is). Sua opinio sobre a clareza dos materiais fornecidos de suma importncia para a melhoria dos mesmos. Clique nos assuntos abaixo para se aprofundar mais nos conhecimentos da unidade, lembre-se que a leitura deste material poder ser cobrada nas avaliaes. 1. Banco de dados Relacional(trecho de slides retirado da UCB) 2. Exerccio Resolvido(demonstrao conceitual da normalizao de um arquivo) 3. Mini-Tutorial de Modelagem 4. Exerccio Resolvido(demonstrao da elaborao do DER)

Você também pode gostar