Banco de Dados Modelagem de Dados Modelo E-R Gabriel Issa Jabra Shammas
BD_04 (01) 02 de fevereiro de 2005
MODELO ENTIDADE-RELACIONAMENTO ?
Relação de siglas utilizadas neste trabalho:
DBMS: Data Base Manager System. E-R : Entidade-Relacionamento. MER : Modelo Entidade-Relacionamento. SGBD: Sistema Gerenciador de Banco de Dados. SGBDr: Sistema Gerenciador de Banco de Dados Relacional. SI: Sistema de Informação.
1/20
1. MODELO ENTIDADE-RELACIONAMENTO (M.E.R.) O Modelo Entidade-Relacionamento (MER ) foi desenvolvido pelo professor Peter Chen, a fim de representar as estruturas de dados de uma forma mais natural e mais próxima do mundo real dos negócios. neg ócios. Apesar de ter recebido, por alguns outros estudiosos, algumas representações gráficas e abordagens ligeirament ligeiramentee diferentes diferentes,, tais como a notação Peter Chen, Bachman ou James Martin, o Modelo EntidadeEntidadeRelacionament Relacionamentoo acabou se tornando tornando o mais utilizado utilizado e, até mesmo, confundido confundido com a própria modelagem de dados. A abordagem que será utilizada neste trabalho par o estudo do Modelo de Dados baseia-se nas definições da Engenharia da Informação, proposta por James Martin. O Modelo E-R propõe que a realidade seja visualizada sob três pontos de vista. Assim, há três conceitos fundamentais no Modelo E-R: Entidade, Atributo e Relacionamento.
2/20
2. CONCEITOS ENVOLVIDOS O Modelo Entidade-Relacionamento propõe que a realidade seja visualizada sob três pontos de vista, a saber: a) os obje objetos tos que compõem compõem a reali realidade dade,, b) os tipos de informaçã informaçãoo ou caracter característ ística icass que se deseja deseja conhece conhecerr sobre sobre os obj objeto etoss que compõem compõem a realidade e c) a forma forma como como estes estes objetos objetos interagem interagem entre entre si. Desta forma, o Modelo Entidade-Relacionamento é composto por três conceitos: Entidade, Atributo e Relacionamento. Os objetos que compõem a realidade são as Entidades. As características que se deseja conhecer sobre os objetos que qu e compõem a realidade são os Atributos. A forma como os objetos interagem entre si constitue o Relacionamento.
3/20
3. DESCRIÇÃO DOS CONCEITOS 3.1. Entidade O primeiro conceito estático do Modelo Entidade-Relacionamento é o conceito de entidade. Entidade, do latim, entitas, entitas, significa ser, existência; é algo que possui existência distinta e separada, real ou [FELLITA, 1983, pág. 5] imaginária . Uma entidade corresponde à representação de todo e qualquer substantivo, concreto ou abstrato, sobre o qual precisa-se armazenar e/ou recuperar informações. Por exemplo, os produtos de uma Organização não são idênticos, pois possuem características diferentes, mas eles podem ser refletidos em um modelo que represente todos os produtos e os tipos de informação ou de características que se conhece sobre eles: a entidade PRODUTO entidade PRODUTO.. Assim, a entidade PRODUTO é formada por todos os objetos que podem ser classificados como um produto. A Entidade CLIENTE , por outro lado, é formada por todos os objetos que podem ser considerados como um cliente. Em inglês, o conceito de entidade recebe o nome que demonstra bem o seu significado, que é “entity type”, ou seja, um tipo de entidade. Um outro aspecto importante no conceito de entidade é a possibilidade de individualização de cada um dos objetos que compõem o padrão. Como exemplo, pode-se dizer que todo funcionário da Organização possui uma matrícula; através desta matrícula é possível identificar cada um dos indivíduos (distintos) sem risco de ambiguidades ou confusão. Isto porque, se dois funcionários podem ter o mesmo salário ou até mesmo nomes idênticos, a matrícula é sempre única e não pode se repetir. Port Portant anto, o, dizdiz-se se que que toda toda enti entida dade de deve deve poss possui uirr um iden identi tifi ficad cador or únic únicoo ou chave chave prim primár ária ia.. Este Este identificador único é um dos critérios para identificar uma entidade. Sempre que não for possível achar este identificador ou chave primária, então não estará caracterizada uma entidade. Comparando a Modelagem de Dados com a Análise Sentencial, diz-se que cada entidade é uma palavra que representa um substantivo concreto ou abstrato. Animal, pessoa, funcionário, residência, eletrodoméstico, móvel, imóvel, material, aeronave e aluno são exemplos de substantivos concretos que representam objetos simples e do mesmo tipo, sendo, portanto, entidades. No entanto, algumas entidades podem ser mais abstratas porque representam as informações sobre eventos do negócio ou entes conceituais, conceituais, como contrato contrato (represent (representaa um compromiss compromissoo firmado), firmado), pedido de vendas (representa a venda), cliente, depósito (evento de depositar), conta contábil (representa o registro contábil dos eventos), entre outras.
4/20
3.1.1. Tipos de entidades De acordo com a estrutura de sua chave primária e com o grau de dependência que uma entidade possui em relacão a outras entidades, tal entidade pode ser classificada, como segue:
A. Entida Entidade de Fundame Fundamental ntal ou “Kern “Kernel” el” É a entidade que possui chave primária simples, ou seja, a sua chave primária não é composta pela chave primária de nenhuma outra entidade. Dessa forma, a entidade fundamental possui uma maior independência de existência em relação a outras entidades. Por exemplo, temos as entidades CLIENTE , FUNCIONÁRIO, FUNCIONÁRIO, CONTA CONTÁBIL etc.
B. Enti Entida dade de Associ Associati ativa va É a entidade entidade definida a partir partir da simplifica simplificação ção de um relacioname relacionamento nto de N:M (muitos-para-m (muitos-para-muitos uitos)) entre duas ou mais entidades. A sua chave primária deve ser composta, pelo menos, pelas chaves primárias das entidades que participam do relacionamento que a gerou. Por exemplo, no caso do relacionamento entre a entidade PEDIDO entidade PEDIDO e a entidade PRODUTO entidade PRODUTO,, onde: PEDIDO vende (1,N) PRODUTO PRODUTO é_vendido_em (0,N) PEDIDO A entidade associativa ITEM ITEM DE PEDIDO é criada em decorrência desse relacionamento, pois alguns atributos não se referem nem ao PEDIDO e nem ao PRODUTO, PRODUTO, mas a cada produto vendido (caso da Quantidade e do Desconto, por exemplo). Esses atributos pertencem à entidade ITEM ITEM DE PEDIDO, PEDIDO, que terá uma chave primária concatenada e composta pelo Número do Pedido e pelo Código do Produto, que são as chaves primárias das entidades acima.
5/20
C. Entida Entidade de Atribu Atributiv tivaa É uma entidade definida a partir de um Grupo Repetitivo de Atributos de uma entidade. Um grupo repetitivo é o conjunto de atributos de uma entidade que ocorre múltiplas vezes para cada ocorrência da entidade. A sua chave primária deve ser composta pela chave primária da entidade da qual foi derivada, mais um outro atributo que individualize cada uma de suas ocorrências. Por exemplo, as entidades DEPENDENTE entidades DEPENDENTE DE FUNCIONÁRIO e HISTÓRICO DO FUNCIONÁRIO foram definidas a partir dos atributos repetitivos da entidade FUNCIONÁRIO entidade FUNCIONÁRIO.. As ocorrências dessas entidades somente têm sentido de existência se existir um funcionário que as possua. Essas entidades atributivas devem possuir chave primária concatenada e conter o Número de Matrícula do Funcionário como parte de sua chave primária. A entidade DEPENDENTE DEPENDENTE DE FUNCIONÁRIO FUNCIONÁRIO possui o Código do Dependente como atributo de diferenciação, enquanto que o HISTÓRICO o HISTÓRICO DO FUNCIONÁRIO possui a Data da Ocorrência.
6/20
3.2. Atributo Uma entida entidade de funcio funcionár nário io repres represent entaa um tipo, tipo, no qual são classi classific ficados ados tod todos os os funcio funcionár nários ios da Organização. No entanto, cada indivíduo possui características próprias que devem ser diferenciadas, como por exemplo o fato de que cada funcionário possui um nome, um salário, um carga, uma data de nascimento, entre outras coisas. Essas características de mesmo tipo são utilizadas pela Organização para contratar, administrar, pagar e desligar os funcionários. Esses tipos de características (ou tipos de informação) são denominados atributos de uma entidade. Em inglês, o conceito de atributo recebe o nome de “attribute type”, ou seja, um tipo de atributo. Assim, a entidade DEPÓSITO BANCÁRIO possui os atributos Número do Depósito (que é a chave primária), Data do Depósito, Número da Conta, Valor do Depósito, entre outros. Mesmo considerando que o conteúdo de cada depósito varie, os tipos de informação são os mesmos. Comparando a Modelagem de Dados com a Análise Sentencial, pode-se dizer que, se cada entidade é uma palavra que representa um substantivo concreto ou abstrato, então o atributo é o seu “adjetivo”, pois ele caracteriza a entidade. Exemplos de Atributos:
FUNCIONÁRIO #
Matrícula Nome Data de Admissão
NOME DA ENTIDADE
ATRIBUTOS DA ENTIDADE
# identifica a Chave Primária
7/20
3.2.1. Tipos de atributos Os atri atribu buto toss de um umaa entid entidad adee podem podem dese desemp mpen enhar har diver diverso soss papéi papéis, s, de mo modo do que que eles eles pode podem m ser ser classificados, como segue:
A. Atri Atribu buto to sim simpl ples es Ocorre quando uma característica da entidade é representada por um único atributo. Por exemplo, na entidade FUNCIONÁRIO entidade FUNCIONÁRIO,, temos os seguintes atributos simples: NOME (desde que no Brasil), SEXO, ALTURA, etc.
B. Atri Atribu buto to conca concate tenad nadoo Ocorre quando uma característica da entidade é representada por um conjunto de atributos (dois ou mais atributos). Por exemplo, na entidade FUNCIONÁRIO entidade FUNCIONÁRIO,, temos o seguinte atributo concatenado: ENDEREÇO (composto pelos atributos Logradouro, Número, Complemento, Bairro, Cidade, CEP, UF). C.
Chave primária (primary key)
Também conhecida como Identificador Único. É o atributo de uma entidade cujo conteúdo individualiza uma única ocorrência desta entidade. Por exemplo, a cada funcionário de uma organização é designado um número de matrícula, através do qual é possível individualizar cada funcionário sem ambiguidade ou confusão. Isso porque, mesmo que dois funcionários tenham o mesmo nome e tenham sido contratados na mesma data, o número de matrícula é sempre único para cada um deles. Por isso, o Número de Matrícula é a chave primária da entidade FUNCIONÁRIO. FUNCIONÁRIO. A chave primária pode ser simples ou concatenada. A chave primária simples é composta por um único atributo que individualiza cada ocorrência da entidade, sem requerer qualquer outra diferenciação. Por exemplo, na entidade FUNCIONÁRIO entidade FUNCIONÁRIO,, temos como chave primária simples o Número de Matrícula; na entidade CLIENTE , temos como chave primária simples o Código do Cliente; na entidade AGÊNCIA entidade AGÊNCIA,, temos como chave primária simples o Número da Agência; na entidade CONTA CONTÁBIL, CONTÁBIL, temos como chave primária simples o Número da Conta etc.
8/20
primária concatenada concatenada é composta por vários atributos que, em conjunto, individualizam cada A chave primária ocorrência da entidade. Ela ocorre, principalmente, nas seguintes situações:
entidade que representa um histórico, onde cada ocorrência necessita de uma data para sua perfeita individualização. Nesse caso, a chave primária da entidade deve ser composta por uma data ou um período de tempo mais um outro atributo qualquer de diferenciação; entidade cuja chave primária deve ser composta pela chave primária de uma ou mais entidades (chaves estrangeiras). Nesse caso, pode haver a necessidade de um outro atributo de diferenciação.
Por exemplo, na entidade CONTA CORRENTE , tem-se como chave primária concatenada o Número de Conta Corrente, Corrente, que é composta por uma chave estrangeira estrangeira (o Código da Agência, Agência, que é a chave primária da entidade AGÊNCIA entidade AGÊNCIA e que, como chave estrangeira, identifica a agência que controla a conta corrente) e uma diferenciação (o Número Sequencial da Conta Corrente dentro de uma agência). Outro exemplo é a entidade DEPENDENTE DE FUNCIONÁRIO, FUNCIONÁRIO, cuja chave primária concatenada a Identificação do Dependente, que é composta por uma chave estrangeira (o Número de Matrícula do Funcionário, que é a chave primária da entidade FUNCIONÁRIO entidade FUNCIONÁRIO e que, como chave estrangeira, indica o funcionário que possui o dependente) e uma diferenciação (o Código do Dependente, que pode ser um número sequencial). Outro exemplo é a entidade LANÇAMENTO entidade LANÇAMENTO CONTÁBIL, CONTÁBIL, cuja chave primária concatenada é o Número do Lançamento, que é composto por um atributo (a Data do Movimento quando foi realizado o lançamento) e uma diferenciação (o Número do Movimento, que se renova diariamente). Outro exemplo é a entidade HISTÓRICO DE TREINAMENTO, TREINAMENTO, cuja chave primária concatenada é a Identificação do Treinamento, que é composta por duas chaves estrangeiras, sendo a primeira chave estrangeira o Código do Curso (que é a chave primária da entidade CURSO, CURSO, indicando qual o curso ministrado), a segunda chave estrangeira é o Número de Matrícula do Funcionário (que é a chave primária da entidade FUNCIONÁRIO entidade FUNCIONÁRIO,, indicando qual o funcionário que recebeu o treinamento) e uma diferenciação (a Data do Curso, considerando que o mesmo funcionário pode ter recebido o mesmo curso em datas diferentes).
9/20
D.
Chave estrangeira (foreign key)
É um atributo pertencente a uma entidade, mas que é a chave primária de uma outra entidade. A chave estrangeira implementa o relacionamento entre as entidades. Por exemplo, a chave primária da entidade CLIENTE é CLIENTE é o seu Código. A entidade PEDIDO entidade PEDIDO DE VENDAS contém como atributo o Código do Cliente que é, na verdade, a chave primária da entidade CLIENTE . Portanto, o Código do Cliente é uma chave estrangeira na entidade PEDIDO entidade PEDIDO DE VENDAS e VENDAS e existe porque há um relacionamento entre o CLIENTE e CLIENTE e o PEDIDO o PEDIDO DE VENDAS . A chave estrangeira pode ser simples ou concatenada.
10/20
3.3. Relacionamento É a forma como os objetos que compõem a realidade se relacionam. Quando se reduz a realidade em objetos como entidades entidades e seus atributos, atributos, está se trabalhando trabalhando com a parte estática dos Negócios. Todavia, na verdade, iremos encontrar situações onde Clientes solicitam Cotações, que geram Pedidos de Vendas quando aprovadas; os Pedidos vendem Produtos em quantidades e preços diferentes que são faturados através da Nota Fiscal, que é paga em parcelas pelas Duplicatas e, assim por diante, em um fluxo dinâmico. Isto mostra que os dados se relacionam entre si, indicando a própria dinâmica dos negócios, bem como as regras e políticas que os regem. Para representar essa dinâmica, o Modelo E-R define o conceito de relacionamento entre as entidades. Logo, o relacionamento é um conceito dinâmico, pois representa a própria dinâmica dos negócios, bem como as suas regras e políticas. Tomando como exemplo a entidade entidade ANALISTA entidade PROJETO,, pode-se dizer que ANALISTA DE SISTEMAS e SISTEMAS e a entidade PROJETO nem todos os Analistas de Sistemas estão sempre envolvidos em um Projeto (podem estar fazendo cursos ou outras atividades). Porém, se algum Analista de Sistema estiver envolvido em um Projeto, este envolvimento possui um tipo bem definido, regido por alguma política ou regra. Assim, um Analista de Sistema não possui um projeto (o projeto é da Organização), nem é composto, tampouco, por Projetos. O tipo de relacionament relacionamentoo entre ANALISTA entre ANALISTA DE SISTEMA e PROJETO é sempre de ALOCAÇÃO, de forma que se diz que a entidade ANALISTA DE SISTEMA relaciona-se com a entidade PROJETO através do seguinte relacionamento: ANALISTA é_alocado_em PROJETO Tendo conhecimento deste relacionamento, um Gerente de Sistemas pode obter informações sobre os profissionais envolvidos por PROJETO PROJETO e pode remanejar os os ANALISTAS DE SISTEMAS (por SISTEMAS (por razões de prioridades). Isto porque o relacionamento reflete as rotas lógicas de acesso às informações, que são obtidas sobre vários objetos do mundo real. O Relacionamento possui um verbo como nome, porque representam ações que uma entidade exerce sobre uma outra.
11/20
Assim, temos como exemplos de relacionamentos entre entidades: CLIENTE solicita COTAÇÃO PEDIDO vende PRODUTO CLIENTE possui CONTA BANCÁRIA Os tipos de relacionamento mais comuns são aqueles que indicam: a)
POSSE. Ex.: Funcionário possui Dependente
b)
COMPOSIÇÃO. Ex.: Componente compõe Produto
c)
GERAÇÃO (ORIGEM). Ex.: Cotação gera Pedido de Vendas
d)
ALOCAÇÃO. Ex.: Projeto aloca Funcionário.
3.3.1. Cardinalidade dos relacionamentos Obviamente, o Modelo E-R, como toda representação, não é a própria realidade, mas foi desenvolvido para estar o mais próximo dela. Por isso, além de representar as relações de posse, envolvimento, composição e geração (entre outras), incorporou, também, um outro conceito para melhorar o conhecimento sobre as políticas e regras dos Negócios.
Cardinalidadee do Relacionamen Relacionamento to. É um conc Este Este conce conceit itoo é cham chamad adoo de Cardinalidad concei eitto que que melh melhor oraa o conhecimento sobre as políticas e regras dos Negócios, consistindo de números (cardinais) colocados ao lado do nome do relacionamento. Por exemplo, um indivíduo quer abrir uma conta em um banco e realizar depósitos e saques. No entanto, ele possui algumas dúvidas, como: “quantas contas eu posso abrir no banco?”, “esta conta deve ser apenas minha ou pode ser conjunta?”, “quando abrir a conta em uma agência, eu ficarei sendo cliente desta agência?”, “se eu fizer um depósito em outra agência, eu passarei a ser cliente da d a outra agência?”. Para conceber o Modelo de Dados, é essencial conhecer as políticas que respondem às questões acima e fazer com que elas sejam refletidas no modelo. As dúvidas levantadas anteriormente continuariam sem serem sanadas se o modelo, por exemplo, ex emplo, fosse construído da seguinte forma: CLIENTE possui CONTA BANCÁRIA CONTA BANCÁRIA pertence a AGÊNCIA Mas, acrescentando-se algumas dimensões aos relacionamentos, o modelo torna-se mais claro: CLIENTE possui “uma ou muitas” muitas” CONTA BANCÁRIA CONTA BANCÁRIA pertence a 1 CLIENTE CONTA BANCÁRIA pertence a 1 AGÊNCIA Este modelo, agora, indica que um cliente pode possuir muitas contas no banco (sendo que neste caso não há restrição quanto ao número de contas). Entretanto, uma conta pode pertencer a apenas um cliente (não existem contas conjuntas neste banco hipotético). O cliente pode abrir várias contas em várias agências, mas, para cada número de conta, ele será considerado como cliente de uma agência. 12/20
Desta Desta forma, forma, os números números colocados colocados ao lado lado do nome nome do nome do relaci relacionam onament entoo são chamad chamados os de cardinalidade do relacionamento e dim dimens ension ionam am as pol políti íticas cas de Negóci Negócioo que envolve envolvem m os dados. dados. A cardinalida cardinalidade de define, portanto, o número de ocorrências ocorrências de uma entidade entidade que pode estar envolvido em um relacionamento, sendo útil para extrair daí regras de consistência e integridade dos dados. Por exemplo, o analista de sistemas deve incorporar ao SI mecanismos que impeçam que um mesmo número de conta possa ser aberto para a mesma agência; no entanto, os números de contas podem se repetir para agências diferentes. Isto ocorre porque o número da agência deve ser parte do número da conta (chave primária da entidade CONTA BANCÁRIA).
13/20
3.3.2. Tipos de relacionamento De acordo com a cardinalidade, existem 3 (três) tipos básicos de relacionamento entre as entidades.
A. Relaci Relacionam onamento ento um-par um-para-um a-um (1:1) (1:1) Indica que uma única ocorrência de uma entidade pode se relacionar com apenas uma única ocorrência de outra entidade. Este tipo de relacionamento é bastante raro (no mundo dos negócios). Por exemplo: FUNCIONÁRIO (1) gerencia (1) DEPARTAMENTO (Lê(Lê-se se:: um depar departa tamen mento to possu possuii um funci funcion onár ário io que que exer exerce ce o papel papel de gere gerent nte; e; por por sua sua vez, vez, um funcionário-gerente pode gerenciar apenas um departamento de cada vez.)
B. Relacionament Relacionamentoo um-para-mu um-para-muitos itos (1:N ou 1:M) Indica que uma ocorrência de uma entidade pode se relacionar com muitas ocorrências de outra entidade. No entanto, a recíproca não é verdadeira. Este tipo de relacionamento é muito comum (no mundo dos negócios). Por exemplo: FUNCIONÁRIO (1) possui (N) DEPENDENTE (Lê-se: um funcionário pode possuir vários dependentes; mas cada dependente pertence a apenas um funcionário.) Outro exemplo: CLIENTE (1) solicita (N) COTAÇÃO (Lê-se: um cliente pode solicitar muitas cotações de vendas; no entanto, cada cotação somente pode ter sido solicitada por um cliente.) Pode-se representar como 1:N ou 1:M.
14/20
C. Relacionament Relacionamentoo muitos-para-m muitos-para-muitos uitos (N:M) Indica que várias ocorrências de uma entidade pode se relacionar com muitas ocorrências de outra entidade. Pode-se representar como N:M ou como M:N ou, ainda, como N:N ou M:M. Geralmente, um relacionamento desse tipo pode ser convertido e simplificado pela criação de uma entidade intermediár intermediária ia (do tipo associativa, associativa, a ser vista posteriormente) posteriormente) e de dois relacionamento relacionamentoss do tipo 1:N (um para-muitos). Por exemplo: PEDIDO (N) vende (M) PRODUTO (Lê-se: em cada pedido podem ser vendidos muitos produtos diferentes - um para cada linha do pedido; por outro lado, um produto pode ser vendido por diversos pedidos.) Simplificando este relacionamento, tem-se: PEDIDO (1) possui (N) ITEM DE PEDIDO ITEM DE PEDIDO (M) vende (1) PRODUTO (Neste caso, a entidade ITEM DE PEDIDO foi criada para simplificar o relacionamento que, qu e, originalmente, era do tipo N:M (muitos-para-muitos.)
15/20
3.3.3. Relacionamentos recursivos ou auto-relacionamentos Os relacionamentos recursivos (também chamados de auto-relacionamentos) são casos especiais onde uma entidade se relaciona com si própria. Apesar de serem relacionamentos muito raros, a sua utilização é muito importante em alguns casos. Os auto-relacionamentos podem ser do tipo 1:1 (um-para-um), 1:N (um-para-muitos) ou N:M (muitos-paramuitos), dependendo da política de negócio que estiver envolvida. Exemplos deste relacionamento podem ser encontrados na chamada “explosão de materiais”, onde itens compostos são formados por muitos itens componentes; por sua vez, estes itens compostos podem ser componentes de outros itens maiores. Exemplificando, temos um automóvel, que é composto pelo chassiz, motor, direção, câmbio etc.; O motor, por sua vez, é formado pelo carburador, velas, platinado etc. Esta explosão pode ser representada pelo seguinte relacionamento: ITEM (N) compõe (M) ITEM sendo que o papel do ITEM do ITEM éé ora de componente e ora de composto. Um outro exemplo de auto-relacionamento é o gerenciamento de funcionários, onde o gerente é um funcionário que possui um relacionamento com outros funcionários que lhe são subordinados. Este relacionamento pode ser representado da seguinte forma: FUNCIONÁRIO (1) gerencia (N) FUNCIONÁRIO sendo que o papel do FUNCIONÁRIO do FUNCIONÁRIO é ora de gerente e ora de subordinado.
16/20
3.3.4. Cardinalidade mínima e máxima Existem casos em que representar e dimensionar as políticas e regras ligadas ao Negócio, através de cardinalidades genéricas do tipo 1:N (um-para-muitos) e N:M (muitos-para-muitos), não consegue refletir totalmente a realidade. Isto porque o conceito de “muitos” é um conceito vago, podendo ser um ou qualquer número acima de um, existindo, ainda, o valor zero, pois, em alguns casos, nem todas as ocorrências das entidades participam do relacionamento. Também é certo certo que alguns relacionamentos relacionamentos exigem maior precisão na definição definição da cardinalida cardinalidade de para espelhar as políticas e regras dos negócios. Para isso, o Modelo E-R propõe que seja utilizado o conceito de Cardinalidade Mínima e de Cardinalidade Máxima. Por exemplo, um Modelo de Dados pode indicar um relacionamento entre duas entidades do tipo 1:N (um para-muitos), como segue: COTAÇÃO (1) gera (N) PEDIDO Este Este modelo modelo atende atende a alguma algumass questões questões,, como, como, por exemplo, exemplo, que um PEDIDO um PEDIDO se origina de uma COTAÇÃO e que as COTAÇÕES geram COTAÇÕES geram PEDIDOS PEDIDOS . Mas, suponha que um Analista de SI esteja estudando o processo de Registro de Pedidos. Ele, com certeza, poderia ter algumas dúvidas, tal como “o PEDIDO “o PEDIDO deve sempre estar vinculado a uma COTAÇÃO ou existem PEDIDOS que se origin originara aram m direta diretamen mente, te, sem sem que qualquer qualquer COTAÇÃO fosse realizada realizada anteriormente?”, ou ainda “todas as COTAÇÕES geram COTAÇÕES geram necessariamente um PEDIDO um PEDIDO?”. ?”. Estas dúvidas aparecem porque dizer que o PEDIDO o PEDIDO é gerado por (1) COTAÇÃO é vago, assim como dizer que as COTAÇÕES geram COTAÇÕES geram (muitos) PEDIDOS não PEDIDOS não é específico. Para melhor representar a política de vendas no Modelo de Dados em questão, deve-se complementar as definições dos relacionamentos, indicando as cardinalidades mínima e máxima, da d a seguinte forma: COTAÇÃO (0,1) gera (0,N) PEDIDO Interpretando o Modelo de Dados, agora, pode-se ler que uma COTAÇÃO pode gerar zerou ou muitos PEDIDOS , ou seja, pode gerar algum PEDIDO, PEDIDO, mas não necessariamente, pois algumas negociações podem ser perdidas. Por outro lado, o PEDIDO o PEDIDO pode ser ligado a zero ou uma COTAÇÃO, COTAÇÃO, mas existem PEDIDOS que PEDIDOS que se originaram diretamente, sem COTAÇÃO. COTAÇÃO. Desta forma, além do entendimento, as cardinalidades mínima e máxima auxiliam na definição das regras de validação e consistência dos dados. Por exemplo, saber que um PEDIDO pode ser gerado sem COTAÇÃO indica que o programa de computador não pode forçar a existência de uma COTAÇÃO no instante do registro do PEDIDO; porém, conhecendo esta política, o SI pode ser preparado para aceitar números de cotações em branco. O Modelo de Dados pode, portanto, ser a fonte de muitas interpretações para garantir a consistência e a integridade dos dados.
17/20
4. AGREGAÇÃO DE ENTIDADES A agregação de entidades ocorre quando duas (ou mais) entidades, juntamente com o(s) seu(s) respectivo(s) relacionamento(s), comportam-se como se fossem uma só entidade. A esta entidade denominanos entidade agregada. A entidade agregada tem valor para a documentação das regras de negócios. Sempre que ela aparece, deve ser simplificada (alguns dizem que ela deve ser expandida). Este processo irá gerar uma ou mais entidades associativas.
18/20
5. ENTIDADE GENÈRICA/ESPECIALIZADA Algumas entidades possuem um sentido muito amplo. São chamadas como entidades genéricas. Estas entidades genéricas podem ser melhor descritas utilizando-se tantas especializações quantas se fizerem necessárias. Os atributos da entidade genérica passa para as entidades especializadas através do mecanismo de herança. Cada entidade especializada terá, além dos atributos herdados, o seu próprio conjunto de atributos que lhe caracterizam. Pode-se dizer que “generalização é um relacionamento de especialização/generalização, em que objetos do elemento especializado (o filho) podem ser substituídos para objetos do elemento generalizado (o pai)”
[BOOCH, 2000, p. 454].
“Herança é o mecanismo pelo qual elementos mais específicos incorporam a estrutura e o comportamento de elementos mais gerais” [BOOCH, 2000, p. 454].
19/20
6. REFERÊNCIAS BIBLIOGRÁFICAS BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML UML:: guia do usuário. Trad. Fábio Freitas. Rio de Janeiro: Campus, 2000. CHEN, Peter. Modelagem de dados: dados: a abordagem entidade-relacionamento para projeto lógico. Trad. Cecília Camargo Bartalotti. São Paulo: Makron Books, 1990. HEUSER, HEUSER, Carlos Carlos Alberto. Alberto. Projeto Projeto de banco de dados. dados. 3a ed. Porto Alegre: Sagra-Luzzatto, 2000 (Série Livros Didáticos; Número 4). KORTH, Henry F.; SILBERSCHATZ, Abraham; SUDARSHAN, S. Sistema de bancos de dados. dados. 3a ed. Trad. Marília Guimarães Pinheiro e Paulo César Canhette. São Paulo: Makron, 1999.
20/20