MODELAGEM DE DADOS O que é análise de dados?

A análise de dados é um conjunto de técnicas com o objetivo de identificar, conceituar e estruturar os dados de uma empresa, de uma parte de empresa ou de um sistema. Para que serve? • Obter um melhor conhecimento do problema; • Projetar adequadamente a base de dados; • Organizar o compartilhamento dos dados e a integração dos sistemas; • Unificar a visão que a empresa tem dos dados. A análise de dados utiliza duas técnicas: 1. 2. Normalização dos dados – Uma técnica formal, rigorosa e simples, de fácil aplicação, que visa a simplificação dos arquivos, mas não ajuda muito na investigação do problema. Modelagem Entidade-Relacionamento – Uma técnica menos formal, mas extremamente útil para investigar as necessidades do usuário em relação aos dados. NORMALIZAÇÃO DE DADOS Normalizar um arquivo, às vezes significa dividí-lo em diversos arquivos, cada um deles contendo um determinado tipo de informação. Arquivo de pedidos * Identificação do pedido - Número da filial - Número do pedido * Data do pedido * Código do vendedor * CNPJ do cliente * Sinal Arquivo de itens * Código do item * Descrição do item * Preço unitário Arquivo de vendedores * Código do vendedor * Nome do vendedor Exercício Proposto: Arquivos normalizados Analise agora esta solução e responda novamente às questões abaixo: O que acontecerá se: a) o proprietário solicitar o aumento do número de itens por pedido? Agora o arquivo está preparado para armazenar quantos pedidos forem necessários b) uma filial mudar de endereço? Não irá alterar as informações de pedido uma vez que ele está em um arquivo separado c) houver uma alteração na quantidade de um dos itens? Os preços, impostos e o total do pedido serão atualizados automaticamente sem gerar nenhuma inconsistência d) for necessário enviar uma correspondência a todos os clientes? Todos os clientes receberão uma única correspondência, inclusive os que não fizeram nenhum pedido ainda e) o espaço em disco for limitado e o volume de pedidos for muito grande? O banco está preparado pois as bases estão todas separadas CONCEITOS DE NORMALIZAÇÃO Atributos – São dados armazenados em um arquivo. Alguns atributos são opcionais, isto é, em alguns casos, podem não estar presentes em um arquivo. Por exemplo, no arquivo de pedidos, pode ser que um pedido tenha sido feito diretamente pelo cliente, sem a intervenção de um vendedor. Neste caso o código e o nome do vendedor são atributos opcionais. Outro exemplo é o “nome de solteira” este atributo só conterá valores para os funcionários casados do sexo feminino. Atributos multivalorados – São chamados assim porque podem conter mais de um valor. Por exemplo, o código do item, a quantidade e o preço unitário são multivalorados porque contém mais de um valor para cada pedido. Da mesma forma no arquivo de funcionários o atributo “Telefone” é um atributo multivalorado, porque cada funcionário pode possuir mais de um telefone. Arquivo de filiais * Número da filial * Nome da filial * Endereço da filial Arquivo de clientes * CNPJ do cliente * Nome do cliente * Endereço do cliente Arquivo itens do pedido * Identificação do item do pedido - Número da filial - Número do pedido - Código do item * Quantidade

Por exemplo. Examine as possíveis chaves a serem adotadas para este arquivo. Número do CNPJ (Cadastro Nacional de Pessoas Jurídicas) 3. Estes clientes podem ser pessoas físicas e jurídicas. Considere o arquivo de pedidos da aula anterior. Exercício Proposto 1) Observe as colunas abaixo. Nome do CNPJ ou CPF (dependendo se o cliente é pessoa jurídica ou pessoa física) 5. este não será mais alterado. Número da filial + Código do vendedor + Categoria do cliente + Número seqüencial 7. • O restante a pagar é calculado pela fórmula (valor total do pedido – sinal). Número do RG (Registro Geral) 2. Por exemplo. Eliminar todos os atributos que possam ser calculados em função de outros. comentando se elas são. 5 ) Código do item ( 1 ) CNPJ do cliente ( 4 ) Número da filial APLICAÇÃO DE REGRAS Para normalizarmos um arquivo.Chave – A chave de um arquivo é um atributo ou um conjunto de atributos que identifica. seguimos um roteiro de três passos. Sua função é garantir a “unicidade” dos registros. Por exemplo. • Chave Imutável – Significa que se um valor para a chave for atribuído a um registro. de forma única. • O valor total do pedido é igual à soma dos preços totais dos itens. 7 ) Número da filial + número do pedido ( 3 ) Número da filial + número do pedido + código do item ( 2. • O preço total pode ser calculado através de fórmula (quantidade x preço total). Por exemplo. (1) Nome do cliente (2) Descrição do item (3) Quantidade (4) Endereço da filial (5) Preço unitário (6) Sinal (7) Data do pedido Dependem destes atributos ( 6. devemos combinar o “número da filial” com o “número do pedido”.. vamos analizar estes passos. Nome do Cliente 6. Para a chave ser única.. ou seja. Exercício Proposto Sua empresa está planejando um cadastro de clientes. As chaves devem conter as três características abaixo: • Chave Única – Não podem existir dois registros com o mesmo valor para a chave. 1. • O imposto a recolher é calculado em função do valor total dos pedidos. Ficando da seguinte maneira: . para isso às vezes devemos utilizar uma combinação de atributos para garantir a unicidade da chave. cada registro do arquivo. em duas filiais podem existir pedidos com o mesmo número. adequadas. • Chave Universal – Uma chave é dita universão se existem valores para elas em todos os registros. pense nos melhores atributos para a coluna de baixo baseando-se nas colunas de cima: Estes atributos. aplicandoos ao exemplo do arquivo de pedidos: 1. CNPJ só poderá ser chave se todos os clientes forem pessoas jurídicas. ou não. Número do CPF (Cadastro de Pessoa Física) 4. precisamos do número da matrícula do funcionário. para saber o salário de um funcionário precisamos saber quem é o funcionário. nacionais ou estrangeiras. não há dois motoristas com o mesmo número de carteira. Um código seqüencial estabelecido pelo sistema na hora do cadastramento do cliente Dependência funcional – Um atributo depende do outro quando o seu valor é determinado pelo valor do outro.

ELIMINANDO ATRIBUTOS CALCULÁVEIS Original Normalizado Arquivo de pedidos Arquivo de pedidos * Identificação do pedido * Identificação do pedido * Número da filial * Número da filial * Número do pedido * Número do pedido * Data do pedido * Data do pedido * Nome da filial * Nome da filial * Endereço da filial * Endereço da filial * Código do vendedor * Código do vendedor * Nome do vendedor * Nome do vendedor * CNPJ do cliente * CNPJ do cliente * Nome do cliente * Nome do cliente * Endereço do cliente * Endereço do cliente * Itens solicitados (15 por pedido) * Itens solicitados (15 por pedido) * Código do item * Código do item * Descrição do item * Descrição do item * Quantidade * Quantidade * Preço unitário * Preço unitário * Preço Total * Sinal * Valor total do pedido * Impostos a recolher * Sinal * Restante a pagar 2. • Cada arquivo precisa de uma chave. Número da filial II. precisamos ligar um item ao pedido correspondente.Número do pedido * CNPJ do cliente * Código do item * Nome do cliente * Descrição do item * Quantidade * Endereço do cliente * Itens solicitados (15 por pedido) * Preço Unitário * Código do item 3º Definindo a chave dos arquivos criados: * Descrição do item Arquivo de itens solicitados * Quantidade * Identificação do item solicitado * Preço Unitário .Código do item * Descrição do item * Quantidade * Preço Unitário . inserindo a chave do arquivo de pedidos no arquivo de itens. Para resolver estas questões. Implementar um arquivo. Como poderemos identificar de forma única um item solicitado dentro do arquivo de itens solicitados? Fácil.Número do pedido * Data do pedido * Preço Unitário * Nome da filial 2º Ligando item ao pedido: * Endereço da filial * Identificação do pedido * Código do vendedor .Número da filial * Sinal . criando uma chave composta com os seguintes atributos: I. Código item SEPARANDO OS ATRIBUTOS MULTIVALORADOS Normalizado Original Arquivo de pedidos 1º Separando os multivalorados: * Identificação do pedido * Código do item . Número do pedido III.Número da filial * Nome do vendedor . • Porém precisamos saber quais são os itens de um pedido. separando os atributos que ocorrem mais de uma vez (multivalorados).Número da filial * Descrição do item * Quantidade .Número do pedido . a que pedido cada item corresponde. ou seja. Os dados que se repetem precisam ser separados em outro arquivo. • O arquivo de pedidos pode apresentar até 15 itens.

Número da filial * Nome da filial * Endereço da filial Arquivo de vendedores * Identificação do vendedor . Dividir o arquivo de tal maneira que cada atributo dependa exclusivamente da chave do arquivo a que pertence. Original Arquivo de pedidos * Identificação do pedido .Número da filial .Número do pedido * Data do pedido * Nome da filial * Endereço da filial * Código do vendedor * Nome do vendedor * CNPJ do cliente * Nome do cliente * Endereço do cliente * Sinal FAZENDO CADA ATRIBUTO DEPENDER DA CHAVE Normalizado Arquivo de filiais * Identificação da filial .Código do item * Descrição do item * Preço Unitário Arquivo de itens solicitados * Identificação do item solicitado .Número do pedido * Descrição do item * Data do pedido * Código do vendedor * CNPJ do cliente * Sinal Arquivo de clientes * Identificação do cliente .Código do item * Descrição do item * Preço unitário 1) Uma locadora empresta DVDs de diferente gêneros a uma comunidade de sócios. Estes atributos tem que ser excluídos do arquivo e deslocados para um novo arquivo em que a chave seja exatamente o número da filial.3. utilizando as regras de normalização: .Número da filial .Número da filial * Nome da filial * Endereço da filial Arquivo de vendedores * Identificação do vendedor . dependem só do número da filial. Cada empréstimo tem uma data de devolução. satisfazendo: Sócios podem retirar um ou mais DVDs.Número da filial .Código do vendedor * Nome do vendedor Arquivo de itens * Identificação do item .CNPJ do cliente * Nome do cliente * Endereço do cliente Arquivo de itens * Identificação do item solicitado . • E também com o nome do cliente e o endereço. seja no mesmo dia ou em dias distintos.Código do vendedor * Nome do vendedor Arquivo de clientes * Identificação do cliente . que só depende do código do vendedor. • O mesmo acontece com o nome do vendedor.Número do pedido .Número da filial .Código do item * Quantidade Exercício Proposto: Arquivos normalizados Arquivo de filiais * Identificação da filial .CNPJ do cliente * Nome do cliente * Endereço do cliente Arquivo itens do pedido * Identificação do item solicitado . Modele as tabelas do sistema utilizado para armazenar os dados dessa locadora. pois só dependem do CNPJ.Número do pedido . • O nome da filial e o endereço da filial não dependem da chave.Código do item * Descrição do item * Quantidade * Preço Unitário O resultado final da normalização é o seguinte: Arquivo de pedidos * Identificação do pedido .

Vamos exemplificar. O produtos final desta técnica é o modelo entidade-relacionamento. relacionamentos e atributos. . Os principais componentes utilizados por esta técnica são: • As entidades. naquilo que chamamos relacionamentos. • Os atributos das entidades e dos relacionamentos. Descobrimos as entidades perguntando: “Sobre que coisas vamos precisar guardar informações”? Os objetos ou entidades que ocorrem. Os objetos ou “coisas” sobre os quais guardamos informações são chamados de entidades. Eles se vinculam uns aos outros. Por exemplo. entidades. • Os relacionamentos entre as entidades. Este diagrama representa os objetos sobre os quais guardamos dados e os relacionamentos que existem entre eles. os clientes estão vinculados aos pedidos e estes.MODELAGEM ENTIDADE-RELACIONAMENTO A modelagem entidade relacionamento é uma 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. aos clientes. na realidade não ocorrem isolados.

Exemplo: Quantidade é outro substantivo. Não um objeto a respeito do qual guardemos 2. 3. Para que um substantivo seja considerado uma entidade. • Endereço do cliente. entre os meses de outubro e dezembro. Por exemplo são atributos dos clientes: • Código do cliente. É a comissão quem determina. em rodadas semanais. precisa apresentar um técnico e de 18 a 22 jogadores. devemos fazer as seguintes perguntas: • Há necessidade de guardar informações sobre cada objeto? • Há mais de um objeto deste tipo? • Existe uma chave capaz de identificar cada objeto unicamente. o período para inscrição das equipes. Inscritas as equipes. O Departamento de Esportes. Há necessidade de guardar informações sobre este objeto? • Quantidade é uma informação que guardamos a respeito de um pedido. subordinado à Comissão Organizadora. por exemplo. • Data do pedido. escolha uma chave adequada. A elaboração da tabela é um processo demorado e complicado. responsável pelo evento. • Número da filial. . Existe uma chave capaz de identificar cada objeto unicamente? • Não faz sentido definir uma chave para identificar uma quantidade. exixtem várias quantidades. o Departamento de Esportes é obrigado a requisitar até 10 funcionários de outras áreas para verificar as fichas de inscrição e checar a situação dos jogadores e técnicos perante a Secretaria e a Tesouraria do clube. que devem ser sócios do clube e estar em dia com suas obrigações. o Comitê Técnico. para ser inscrita. ligadas entre si pelos relacionamentos representados pelos losângulos. • Nome do cliente. elabora a tabela de jogos de modo a fazer com que todos os times joguem entre si. ENTIDADES Para cada substantivo ou nome que julgamos ser uma entidade. que toma muito tempo dos membros do Comitê. Representam os dados que são armazenados a respeitos dos objetos da realidade. Há mais de um objeto deste tipo? • Sim. Exercício Proposto Leia o texto abaixo e determine as entidades que aparecem nele. O Aristocrata Country Club realiza anualmente. com equipes formadas por sócios do clube.Atributos são as propriedades das entidades e dos relacionamentos. Os atributos dos pedidos são. a resposta a estas três perguntas deve ser positiva. Uma equipe. o seu Torneio Interno de Futebol. Basta que uma das respostas seja negativa para desconsiderá-la como entidade. forma uma Comissão Organizadora. encarregada da supervisão geral do torneio. Quantidade é uma entidade? 1. Todo ano. entre outros: • Número do pedido. Para cada entidade. O modelo entidade-relacionamento mostra as entidades representadas pelos retângulos.

Também não poderão participar sócios que fiquem em situação irregular perante o clube. como hoje acontece. Por exemplo. à melhor defesa e à equipe mais disciplinada. • Universal – Cada sócio deve obrigatoriamente. em vez de afixá-los no quadro de avisos na terça-feira. por exemplo. Portanto. o regulamento impõe os seguintes critérios: pontos ganhos. O número do sócio deve ser: • Único – Dois sócios não podem ter o mesmo número. . é responsável pela formação do quadro de árbitros (também sócios do clube). maior número de vitórias. para ser jogador é preciso ser sócio do clube. pela designação de juízes e bandeirinhas e pela avaliação de suas atuações nas partidas. Dependência funcional O conceito de dependência funcional que utilizamos na técnica de normalização. No exemplo do Aristocrata Country Clube. cartões amarelos representam um ponto perdido e cartões vermelhos. a entidade sócio pode ter os seguintes atributos: • Nome do sócio • Data de nascimento • Sexo • Estado civil • Endereço • Telefones (vários) Chaves Um ou mais atributos podem ser usados para identificar de forma única. A que entidade pertencem os seguintes atributos? (1) Sócio (2) Número de gols sofridos por um goleiro (2) Jogador (5) Número de cartões vermelhos dados por um juiz durante uma determinada (3) Árbitro partida (4) Equipe (1) Nome da mãe do juiz escalado para apitar uma determinada partida (5) Partida (4) Número de pontos ganhos (6) Técnico (5) A nota dada à atuação do juiz de uma determinada partida. E sem erros! A comissão distribui troféus às equipes campeã e vice-campeã. O regulamento determina que o técnico ou jogador que receber três cartões amarelos ou um cartão vermelho não poderá jogar a próxima partida. cada objeto da Entidade. vale aqui também! Isso significa que todo atributo deve depender unicamente da chave da entidade. Os atletas têm reclamado que o Departamento de Esportes demora muito tempo para afixar as estatísticas do campeonato. veremos mais a frente. também subordinado à Comissão. Para determinar o campeão. Neste caso. no problema do torneio. O Diretor quer divulgar estes dados no máximo uma hora após a última partida. ter um número de sócio. as entidades jogador.O Comitê de Arbitragem. o mesmo pode-se dizer dos técnicos e árbitros. cinco pontos. saldo de gols e gols a favor. SUBENTIDADES E ENTIDADES FRACAS Subentidades Uma entidade é considerada subentidade de outra se a primeira é um subconjunto da segunda entidade. a entidade jogador no problema do torneio tem os seguintes atributos: • Número do sócio (chave) • Equipe a que pertence • Gols marcados • Cartões amarelos • Cartões vermelhos • Gols sofridos (se for goleiro) • Número de pontos ganhos Porém o atributo pontos ganhos não depende da chave jogador. Exercício Relacione a primeira coluna com a segunda. dizemos que este(s) atributo(s) formam a chave da entidade. ao melhor ataque. Para a determinação do ganhador do Troféu Disciplina. ATRIBUTOS E CHAVES Atributos Atributo é cada um dos dados que guardamos a respeito de uma entidade. ao artilheiro. técnico e árbitro são subconjuntos de sócio. • Imutável – Uma vez atribuído um número a um sócio este número jamais será alterado. Considere.

descobrimos que vários de seus atributos são comuns. ao examinarmos uma entidade. Exemplo: Todo jogador tem um nome. . se a entidade jogador é um subconjunto da entidade sócio. Isso porque a chave de uma subentidade é sempre a chave da qual ela é derivada.Por outro lado. Neste caso. todos os jogadores são sócios. Por exemplo. Repare que a chave de jogador é “número do sócio”. Nós só temos que nos preocupar com os atributos específicos de um jogador. todos os atributos de sócio também são atributos de jogador. Portanto. sócio titular e sócio dependente são subentidades de sócio. deduzimos que são subconjuntos de uma entidade maior. ao examinarmos duas ou mais entidades. consideramos os atributos da entidade da qual ela deriva. podemos dizer que um sócio pode ser um sócio titular ou um sócio dependente. descobrimos que existem subconjuntos importantes e criamos subentidades a partir deles. Exemplo: • Cobrador • Vendedor Cobrador e vendedor por terem vários atributos iguais. Quando definimos os atributos de uma subentidade. Neste caso. logo consideramos que estas entidades são subconjuntos de uma mesma entidade. mas o atributo nome do jogador não é necessário porque jogador é uma subentidade de sócio e todos os atributos de sócio também são atributos de jogador. Este processo é denominado generalização. estamos fazendo uma especialização. Especialização Quando. Fazemos especialização quando existem atributos que só se aplicam a um subconjunto da entidade Generalização Este processo funciona no sentido inverso.

esses vínculos são chamados de relacionamento. Escolha.Entidade Fraca Entidade fraca é uma entidade cuja chave precisa da chave de outra entidade para se tornar única. na segunda coluna. Sempre damos a um relacionamento o nome das entidades envolvidas associadas por um verbo. eles se associam ou se vinculam a outros objetos. Relacionamento Os objetos do mundo real não ocorrem isolados. Exercício: 1 – Observe as colunas abaixo. sócio possui título ou título pertence a sócio. a entidade pedido tem como chave: • Número da filial • Número do pedido O número da filial é chave da entidade filial. Por exemplo. CARDINALIDADE DO RELACIONAMENTO Regras e restrições . Por exemplo. cada título pode estar associado a um ou mais sócios e cada sócio pode estar associado a um ou mais títulos. um verbo que indica um relacionamento entre as entidades da primeira se houver. Por exemplo.

O que está representado abaixo está correto? Não existe nenhum impedimento para que um sócio possua mais de um título. Observe o desenho abaixo. dizemos que que um título pertence a no máximo 1 sócio. veja que um título está ligado ao mesmo tempo a mais de um sócio. Também. dizemos que o relacionamento é obrigatório para o sócio. Estas regras dão origem ao que chamamos de Cardinalidade do Relacionamento. Requisição de título Outro detalhe. dizemos que um sócio pode possuir N títulos.Os relacionamentos definidos entre as entidades se sujeitam a regras de negócio e a restrições. Neste caso. Restrição de título Agora observe este novo gráfico. . Isto é correto? Claro que não. podem existir regras que determinam se os objetos de uma entidade. Neste caso. Se um sócio não possui nenhum título então ele não pode ser sócio. No desenho abaixo. Ou podemos dizer que um título pertence a um e só um sócio. que determinam quantos objetos podem se relacionar. veja que dois sócios estão vinculados a mais de um título. observe um sócio que não possui nenhum título. Isto é possível? Claro que não! Por isso. participar do relacionamento. precisam obrigatoriamente.

N) vende (0.N) partida Vendedor vende título = vendedor (0. por losangos.1) pertence a (1. muitos jogadores. mas reveja o enunciado um título é emitido e depois é oferecido pelos vendedores a possíveis sócios. Isto está correto? Aparentemente não. de forma gráfica. usamos a seguinte forma gráfica: .N) título. De forma resumida podemos representar a cardinalidade deste relacionamento da seguinte forma: • Sócio (1. 2. Também podemos dizer que um título pertence a 0 ou a 1 sócio. Cardinalidade Cardinalidade é o nome dado aos números mínimo e máximo de objetos que participam de um relacionamento. mas não realizada. Outro exemplo: Considere o relacionamento jogador participa de partida.Título que pertence a 0 ou a 1 sócio Por último considere o cenário abaixo. participar do relacionamento. ou título pertence a (1. Por exemplo: • Um sócio possui de um a muitos títulos.N) pertence a (1. nenhum jogador. Por exemplo.1) equipe Árbitro apita partida = árbitro (0.N) gera (1.N) partipa de (0. isto é.N) título. • Um título pertence a um e só um sócio.N) partida. Para as partidas programadas. • De quantas partidas um jogador participa? Resposta: entre zero e muitas partidas.1) sócio. Portanto: Jogador (0. as entidades e os vínculos entre elas. Exercício Proposto Estabeleça a cardinalidade dos seguintes relacionamentos: Jogador pertence a equipe = jogador (0.N) partida.1) equipe Técnico pertence a equipe = técnico (0. Isto significa que um título não precisa obrigatoriamente.1) possui (1. os relacionamentos.1) apita (0.N) título Título gera mensalidade = titulo (0. que ligam as entidades: Representando subentidades Existe um símbolo especial para identificar que uma entidade é subentidade da outra. Quantos jogadores partipam uma partida? 1.N) mensalidade DIAGRAMA ENTIDADE RELACIONAMENTO Modelo entidade-relacionamento O modelo-entidade relacionamento é um diagrama que mostra. ou sócio possui (1. Para as partidas que já foram realizadas. para indicar que um cobrador e vendedor são subentidades da entidade autônomo. Veja que um dos títulos não está vinculado a nenhum sócio. As entidades são representadas por retângulos e os relacionamentos. ou jogador participa de (0.

4. 3. 5. Indique as cardinalidades Exemplo O resultado: . 6. Ligue os retângulos com losangos representando os relacionamentos 7. Estabeleça as cardinalidades. devemos seguir o seguinte roteiro: 1.Para elaborar o diagrama. Desenhe um retângulo para cada entidade. Faça uma lista das entidades: 2. Ligue as entidades com suas subentidades. Identifique os relacionamentos entre elas.

título e mensalidade. . Seria o relacionamento Vendedor relacionamento redundante? tira pedido um À primeira vista sim. Não se trata de um relacionamento redundante e ele deve permanecer no modelo. se sabemos a qual título uma mensalidade pertence e a que sócio este título pertence. temos de verificar se um destes relacionamentos não pode ser deduzido a partir dos outros dois. talvez possamos deduzir que foi este vendedor quem tirou o pedido. Mas a comissão ainda deve ser paga ao vendedor que efetivamente foi responsável pelo pedido. uma reorganização é realizada e há uma mudança nos clientes que cada vendedor deve atender. Considere o modelo ao lado. Por exemplo.RELACIONAMENTOS REDUNDANTES Um dos objetivos da modelagem é eliminar a redundância de dados. Se nós sabemos qual é o vendedor que atende a um determinado cliente. Ele deverá receber a comissão correspondente. Este modelo contém três relacionamentos: • • • Cliente faz Pedido Vendedor atende cliente Vendedor tira pedido Este último relacionamento é importante para indicar a quem devem ser pagas as comissões relativas a um pedido. e se sabemos qual é o cliente que fez um determinado pedido. Vamos ver outro caso. Da mesma forma. Mas consideremos o seguinte: Um vendedor conseguiu emitir um pedido para um cliente. Eliminar Desta forma concluímos que o relacionamento é redundante e não deve constar no modelo. Em seguida. Os vínculos entre os vendedores e os clientes são alterados. Se observarmos a figura abaixo. identificamos o sócio que deverá pagar ou que pagou a mensalidade. Portanto. este relacionamento não pode ser deduzido a partir dos outros dois relacionamentos. Toda vez que temos um ciclo como este. é óbvio que a mensalidade é de responsabilidade deste sócio. se um sócio possui um título e se uma mensalidade pertence a este título. Isto tornaria o relacionamento redundante. vemos um ciclo de relacionamentos envolvendo as três entidades: sócio. Devemos ser capazes de identificar (e eventualmente eliminar) os relacionamentos que se apresentam como redundantes. mesmo que ele não atenda mais o cliente que fez o pedido. Redundância significa repetição dos dados e é especialmente danosa por causa da proprabilidade de inconsistência dos dados.

Cada sócio que indicar um novo sócio ganhará uma compensação ou um prêmio por isto. o desenho fica assim: Modelo entidade-relacionamento O modelo final depois de indicadas as cardinalidades ficará assim: Cardinalidade Depois de dar nomes aos papéis. podemos estabelecer as cardinalidades: • Um sócio indicador poderá indicar zero ou mais sócios indicados. • Um sócio pode ser indicado (ou não) por um sócio indicador. Um relacionamento é representado no modelo entidaderelacionamento da maneira indicada na figura abaixo: as duas extremidades do relacionamento terminam na entidade sócio. Esta situação representa vínculos entre objetos da mesma entidade. O clube vai querer vincular cada sócio àquele que o indicou. é claro). Ou então: Sócio indicador (0. Para se matricular em um determinado curso. Quando temos um auto-relacionamento. O chefe de cada funcionário é também um funcionário. Papéis Observe a figura. Cada funcionário de uma empresa tem um chefe (menos o presidente da empresa.1) indica (0.N) sócio indicado. 2. RELACIONAMENTOS BINÁRIOS Relacionamento Binário Considere o seguinte relacionamento que pode existir no modelo de dados de um colégio: .AUTO-RELACIONAMENTO O Aristocrata Country Clube está fazendo uma campanha para conseguir novos sócios através de indicação dos sócios atuais. Este relacionamento pode ter o nome de: sócio indica sócio. Um curso pode ter vários pré-requisitos e pode ser pré-requisito para vários cursos. um aluno precisa ter concluído outros cursos que são prérequisitos para ele. Exercício Proposto Represente graficamente as seguintes situações. Colocando o nome dos papéis no modelo entidade-relacionamento. fica a dúvida de que papel representa cada extremidade? Neste caso indicamos em cada extremidade qual é o papel que aquele objeto está desempenhando neste relacionamento (Indicador / indicado). Conforme a figura abaixo os vínculos formam um relacionamento entre a entidade sócio e ela mesma. Também vai querer saber que sócios um determinado sócio indicou. usando a notação do modelo entidade-relacionamento: 1. para esta ocorrência damos o nome de Auto-Relacionamento.

também é inadequado: Um Professor Foi Escalado Para Lecionar Uma Determinada Matéria. não haja nenhum professor habilitado a ensinar latim. Um curso inclui várias matérias e uma matéria pode fazer parte de vários cursos. mas em qual curso. O professor José está habilitado para lecionar apenas Matemática. no momento. o curso de informática pode incluir as matérias de Tecnologia. Por Exemplo. que envolve três entidades: Professor leciona matéria em um curso. Física e Química. entre outras. A Solução Abaixo Não É Uma Solução Adequada: Este relacionamento pode indicar que o professor João leciona no curso de informática mas que matéria ele leciona? Este Relacionamento Pode Indicar. além do curso de informática. Relacionamentos inadequados Considere Agora O Relacionamento Que Indica Que O relacionamento abaixo.Este relacionamento indica que um determinado professor está habilitado para lecionar uma ou mais matérias oferecidas pelo colégio e pode haver diversos professores habilitados a lecionar cada matéria. Assim. Assim. A solução para este problema é o relacionamento ternário. No mesmo colégio. as cardinalidades do relacionamento são estabelecidas da seguinte forma: • Um determinado professor leciona uma determinada matéria em quantos cursos? A resposta pode ser: • De zero até muitos Esta pergunta determina a cardinalidade da entidade curso neste relacionamento. Relacionamento Ternário Cardinalidade Num relacionamento ternário. A matéria de Tecnologia faz parte de outros cursos. o professor João pode estar habilitado para lecionar Matemática. podemos ter o seguinte relacionamento: Matérias de um curso Este relacionamento indica quais são as matérias de um curso. Análise de Dados e Análise Funcional. Que O Professor João leciona matemática. Pode ser que. Da mesma maneira podemos estabelecer as cardinalidades das outras entidades: . A professora Maria pode estar habilitada para lecionar Química e Biologia.

mas eles são muito raros. podem ter atributos? Exercício A comissão organizadora do torneio quer estabelecer um sistema de notas pela atuação de cada jogador nas partidas em que ele participar. Exercício Proposto Um funcionário pode exercer diversas funções e trabalhar em diversos projetos simultaneamente. Considere que. ATRIBUTOS E CHAVES DOS RELACIONAMENTOS Até o momento nós só falamos de atributos de entidades. graficamente. em cada projeto ele só pode exercer uma única função. executando uma determinada função. Podemos ter relacionamentos com quatro (quaternários). Esta nota será armazenada no atributo Nota pela atuação. Represente. embora o funcionário possa em diversos projetos executar diferentes funções. uma determinada matéria pode ser lecionada por quantos professores? Resposta: Somente um Outros graus de relacionamento Um relacionamente ternário envolve três entidades.Um determinado professor pode lecionar em determinado curso quantas matérias? Resposta: Zero ou muitas Num determinado curso. A que entidade pertence este atributo? . Agora. uma pergunta: e os relacionamentos. É possível encontrar relacionamentos que envolvam quatro ou mais entidades? A resposta é sim. cinco ou mais entidades. o relacionamento que indica que um funcionário está designado para trabalhar em um projeto.

outros atributos deste relacionamento podem ser identificados: • Número de gols marcados pelo jogador em uma partida. Então onde colocar o atributo? Resposta A nota pela atuação do jogador em uma partida dependo do jogador e da partida ao mesmo tempo. haverá várias notas em cada partida.expertise. Assim.br/ . • Cartões recebidos por um jogador em uma partida. A chave do relacionamento é sempre a combinação das chaves das entidades relacionadas.Analisando o exercício Se você responde jogador. dos recursos. saber das novas versões. a chave do relacionamento será: • Número do socio • Número da partida 1) Determine as chaves e os atributos dos relacionamentos do problema do Videoclube: Exixtem diversos sites na internet nos quais podemos obter informações específicas sobre este assunto. Chaves Um relacionamento não precisa ter uma chave. Resolvemos este problema colocando este atributo no relacionamento entre jogador e partida. como esclarecer dúvidas. • Imutável. não pode ser atribuido nem a uma ou outra entidade. Se você respondeu partida. A chave do relacionamento precisa ser: • Única. Portanto. Nossa sugestão: http://www.com. Da mesma forma. da mesma forma que uma entidade. se a chave da entidade jogador for número do sócio e da entidade partida for número da partida. lembre-se de que haverá uma nota para este jogador para cada partida que ele disputar. • Universal. leve em conta que em cada partida vários jogadores participam e. • Número de faltas cometidas por um jogador em uma partida. portanto. etc.

Sign up to vote on this title
UsefulNot useful