You are on page 1of 146
Pertenece ee eet ee) ea eee cd PC ~CONCBITUAL ACTA eI Ler Vly de Dados r pe en suet http:/Awww.c: [optot aos tema omens eke eT Serge it eae Se Sumirio INTRODUGAO. x ‘A Modelagem de Dados ¢ a Orientagion sOldaae (O Enquadramento de Objetos em Classes ¢ Bntidades Modelagem de Dados e Projete de Banco de Dados Repensindo Medelagem Refertncias Bibliogeficas Captuslo 1 CONCEITOS BASICOS Definigto de Modelo. . OPapel do Objeto Observado ‘AModalsgem como um Processo Estruturado (© Procesto de Modelagem c Especificacio dos Requisitos Exccugio di Modelagem dos Dados Objetivos do Mexlelo de Davos Represeniar um Anshiente Observady Servis de Instrumento para Com Favorecer 0 Processo de Verificasio ¢ Valdasio Captursr Aspectos de Relacionamento entre 0s Ohjetos Observados Servircomo Referercial par aGeracio de Bsuatas de Dados Captiulo 2 NIVEIS DE MODELAGEM Definigia de Niveis Modelo Concetval de Dados (MCD) Moilelo Logico de Dados (MLD) Modelo Fisico de Dados (MD) Integragdo da Arquiverara de"Trés Niveis coma Abordagem E-R Captutlo 3 MODELOE-R . . ‘A Abordigem Entidade-Relacionametto (© Embasamento pir o Modelo E-R Reconbecimento dos Elementos no Ambience Observado 2 ae a 30 3 sy 3 4 et re Bntidades Ialenilicacan de Objetos (Emtidades ou Classes) A Dicionsrizagio dos Objevos Modelados Consideracbes sobre Entidides Fortes e Entidades Fracas Acrbutos O Pape! dos Atriburos Classificagio dos Auributos Quanto « Sus Finalidade Axributos Nominatvos Dicionarizasio des Atributos Relacionamentos Cane Dicionariaio de Relacionamenton usin de anaterigagie Semiatica Addams Fistutua de Generlizagio e Kspecializagao Bstrutura de Agregacio Notacoes Graficas Utilzadas ma Modelagem Conceitual Notagie IDEFIX. Notagio de Bachman Notasio deSetas Notacio “PS-de-Galinha” (Crow's foot) Nousio de Martin (Engenharia da Informagic) Notagio de Peter Chen’ Qual a Melhor Notasio? Referéncias Bibliogrdticas Capinalo 4 DERIVAGAO DO MODELO LOGICO Dasa paras Diteete ds Motdel Seo Alanagdes i» Melo Lica Derivaco Cane Uulizabon na Dereagiode Movs Rell Thplenertain lo Modelo Relsional Rogar de Deiasio Nomlizagio é deneliiot ca Nowalizagto Derivago de Relacionamentos eared eee tes ete Derivagio de Estratras de Generalzaio-Eopecilizaio Desiagio de Agropgies Capito 5 RESTRIGOES NO MODELO LOGICO Kestrigoes ée Dominio Resteigies de Lmopridade estas de Lnplementagio . 4 33 57 37 60 61 6 66 6 75 106 low los 131 BBs Be My 4s Me 6 151 155 156 ise 187 158 59 161 1162 71 Ta) 1% 20 21 ay 27 255 25 258 36 Capitulo 6 © AMBIENTE CORPORATIVO Obtendo o Modelo Corporatiro A Abordagem Top-down ‘A Abordagem Bottom-up Modelo de Dados de Aplcagio Modelo de Dados Serorsl Mollelo de Dados Corporative ‘Compatiilizacio dos Modelos de Dados Nivelamento dos Modelos de Dados ‘A Abordagem Top-down x Bottom-up EFINALMENTE IBLIOGRATIA INDICE, 265 265, 266 268 Apresentagaio ‘modelagem de dados tem sido tratads, por grande parte dos autores, Biceps ad wieiencs sania cdades vials, Isso tem levalodgqeles ques iniciam nessa atividadea ter une visa distorcida do proceso de modelagem e, por conseguinte,a nio obterem os resultados potenciais da aplicacdo dessa técnica. Boa parte da literatura disponivel no mercado, por influéncia do perfil de seus autores, tem dado grande énfase ao processo de implementacilégiea (selacional cm pte].e sacrificado 0 que chamamos de base para « modelagers, que £0 eee eee epee nee encontrada por aqueles que se iniciam na atividade de modelagem de dados E resultante da excessiva énfase dada ao aspectos teenalégicos, o que faz com que nio consigam, efetivamente, “enxergar o mundo-que-modelam 3 sua frente”. Essis pessoas, presas a preocupagées ais como normalizacio,, redundincia, chaves de tantas ouzns exigéncias tecnolégicas, = ea modelande, Durante os mais de dex anos de auagio na drea de pele de dados, pudemos consiatar que @ Unico meio eficaz para reverter essa situagio € restabelecer 2 devida importincia da madelagem con fazendo-a tornar-se 0 ponte de pertida paca provers de mc logica de dados. = Assim, fof chborado estelivro onde ¢abordadode maneiraabrangente 1 tema Modelagem Conceitual. Este xexto é baseado em um contetido programitico deservolvido e aplicado, j hi virios anos, vissndo 3 capaci- rofissionais para area de modelagem de dados e administiacao Entretanto, durante os trabalhos, percebemos que muito do que estava sendo watado direcionado somente a modelagem de dados poderia ser, também, aplicével A modelagem de informagSes (enfoque dado pela orientasio a objetes). Por isso, voce ik perceber que este livro nio visa somente a abordagem conventional de modelagem de dados sugerida pelas metodologias de andlise estruturada, andlise essencial ou engenharia ca aiforaagto, mas também aterude 3 aburdayem origntadh a objetos Ocnfoque que daremos 4 modelagem conccitual de dados aproxn.ard bastante as téenicas uilzadas e os resultados obtidos no ambiente conven- cional € no ambiente de orientagio a objetos, Procuraremos apresentar tmeios para que os modelos de classes e os modelos de dados incorporem catacteistcas semnticas comuns. Isso fari com que as téenicas aqui spresentada para a derivagio de modelos ligicas de dados também sejam aplareis any amadehn de clases, Como hnje, praveamente, todos os projetos oriemtados a objetor acabam por implementar seus modelos de classes através de modelos de dados relacionais, deverao ser conhecidas as ‘écnicasemeios paraquc essa derivagio nao scjarealizadad cwupara que nio sejam necessrias novas eoncepgies de modelos durante a fase de projet, Assim, esteja voc? envolvide com o ambiente convencional de desen- volvimento de sistemas ou com o ambiente orientado a objetos, esperamos. poiler contribuir de algum modo com 0s topicos que aqui serao abordados. Paulo Sérgio Cougo 1° de margo de 1997 Introdugao ‘A Modelagem de Dados e a Orientagao a Objetos ‘A modelagem de dados, originalmente centrada somente sob o enfo- que daabordagem entidade-relacionamento proposio par Peter P.Chen.na década de 1970, tem evoluido, com o passar dos anos, para enfoques que a tornam muito mais prdxima dos conceitos e do ambiente de orientagio a objetos. Durance essa evolugio, tém sido agregados noves elementos a0 modelo E-R, que tornam a técnica mais rica em semantica e, portanto, aplicivelanovas finalidades. ‘A modelagem de informagbes, por exemplo, apresentada no livro Anilise de Sistemas Orientada para Objetos' por Shar & Mellor jf demons- ‘120 novo papel da modelagem de dados aplicada ao processo de mapea niento das catacteristicas estéticas dos objets, Os aurores abordam exten s6es do modelo entidade-relacionamento, voltando-o mais para o aspecto semantico, transformando-o em meio de identificagio e mapeamento de objetos ¢ classes. B bem verdade que, neste caso, estaremos enfocando somente vena parte do todo que, realmente, pretendemos atingir quando falamos em rmapeamento dos objetos. Estarcmos, 20 aplicar a modzlagem de informa- goes, desconsiderando os aspectos dinimicos ligados 18 objetos mapes- dos. Por outro lado, quanto 20 mapeamento das caracteristicas estéticas teremos grande parte, senio a totalidade, de nossas necessidades atendidas Coad & Yourdon também ressaltam o papel da modelager de infor- rmagGes junto A abordagem orientada a objetos afirmando literalmente em seu livro Analise Bareada om Objetos2 “A andlise orientada a objetos 6 baseadi nos melhores conceitos de Modelagem de Informacées.." Apre- sentam também, nesse mesmo livro, o quadro a seguir, no qual pode-se mnelhor visualizar oenquadramento de winaeontraabon by atendimento 40s principios da administragto da complexidad este que norteia todo o enfogue de orientacio a objetos. principio lnedugto 1 Aanvinistragto da Connplenidad a ‘Modelagem | Oriontagic Principles ae a Informagbes | _Objetos abotiagdo de provedimentes abbstiagBo de dados encapsuiamenio heranga associagao comuncagao de mensagons ‘métedo de orgarizagae: objlos e atbutos stedo de orqanizagao: iodo. pares OK KKK do ouganteagio: classes, membros @ scala x x calogoria de comportamento: causa imodiata calagoia do comportamerto: mudanga com 0 tempo calagoria de comportamento similaridade de furgaoe James Rumbaugh, em seu livro Modelagem e Projtos Bareados em (Objctos, compara diversas metodologias devirios autores sua abordagem, 3 OMT. Ao posicionar a OMT em regio A modelagem ch informacio afiema: “A modelagem de objecos através da técnica OMT também é uma forma melhorads da modehagem E-R.” Fsses exemplos mostram que, dentro do enfogue de orientagio a ‘objewos,exisie uma lacuna que necessariamente deve ser preenchida por alvin ayper de abvoteapem gue nos Keve ao nngpeamento day estruturas csicas dos objotos (or objetos e seus atributos,esteuturas todo e partes, classes ¢ membros). A modelagem de dados, modelagem semantica ou modelagem de informagdes, dependendo do nivel evolucionsrio da tEeniea aplicads, atende a essa finalidade ineegealmentee para tal deve ser aplicada Evolugio da S\.stiea mos Modelos com o Pesuar do Tempo rosagon O Enquadramento de Objetos em Classes e Entidades Usaremos durante o anscorer das explanagées « teenie aljew para dlenominarelementes observades, scm nos restringiemosao lormalismo sob ‘© ponto de vista de enquadeamento de “classes”, mas sendo totalmente compativel com esse paradigma, Estaremos mais freqdentemente voltados 1 abordagem entidade-relacionamento, na qual a reuniao desses objetos dard origem a0 conceito de “entidade” ¢ nio 20 conceito de “classe” como na orientagao a objetos. Entretanto, se esta ultima for sua visio de maior inceresse, teaba total liberdade de assim entender e considerar. Voc® verd {que tanto em um como em outro caso havers compatbilidade entre os conceitos desenvolvids. ‘Veremos claramente queas abstragées feitas em um ¢ outroambiente nos levam por um mesmo caminho durante 0 processo de modelagem. Quanto mais proximos estivermos de um modelo conceitual, mais afin dades e similaridades encontraremos no processo de modelagem de dados (modelo entidade-relacionamento) ou de informagoes (modelo de obje tes). Esse processo, em ambos 5 casos, estard baseado ma execugie segintes passion: 1, Observar os elementos de um ambiente, 2. Flaborarconceitos sobre esses elementos 3. Caracterzé-los 4. Abstraircaraceristicas 5. Reuniclos em conjuntes que es denominem. Representi-los Defini-los 8. Manipuli-los. Isso, desde j, realca a importancia de se buscar a construgdo de um modelo conceitwal aes de se partir para « elaboragio de um modelo légico. Se para voc’ isso ainda nio est muito claro, prossiga assim mesmo, pois, duranteo desenvolvimento do assunto atingiremos onivelde conceit. 10 necessiio 3 sua compreensio. ‘Apresentamos, no quadro a seguir, 08 termes que estardo sendo utilizados na abordagem dada pelo ambiente convencionale pelo ambiente crientado a objetos. Esses termos, em alguns instantes, serdo claramente tiferenciados ¢, em outros, quando a similaridade os faga serem subst Luiveis, tere releréncias indistineas. Estatemos conceituando cada um dlesses terms nos capitulo em que isso seja apropriadlo, Neste insta ‘hast que se tous catona que aburdager eles petterceny a que se referem qual a cquivalén Conceites Usilizados na Abordager Convencional ent Orientads a Objetos Modelo de Dados | Modelo de Informacao (convencional) | (orlentado a objetos) instineine ELEMENTOS INDIVIDUALIZADCS ‘OU OCORRENGIAS, Conjunto fonado pola ENTIDADE ‘rogagan de instncias somalhantes cernctovistions dao ATRIBUTO ATRIBUTO Instancias 608 conjurtos ewvolnango auto ae lance dos endo FIELACIONAMENTO | ABBDCIAGAD Modelagem de Dados e Projeto de Banco de Dados ‘A modelagem de dados tem sido um assunto tratado, na maioria das vexes, associado 4 atividade de projeto de bancos de dados. Grande parte as referencias bibliograficas demonstra isso, basta voce consulté-s. En- tretanto, para que se possa atingir realmente o nivel de compreensio ¢ assimilag’o necessirio, devemos procuear desvinculae essas duss areas Devemos entender que: sdolagom de dads nko 6 uma ferramenta 86 para 0 projeto do Se voc# estd interessado em uma ferramenta que o auxilieno processo de projeto de banco de dados, com certeza as técnicas de modelagem de duos que serio visas nese livto serio de grande vata 4 Inredicto 10, oue a modelagem da aidads umbém_Bade se uma ferarenta extrenaimente Tu para ara processas de reengenbaca, para definigio de repras de negécio, et. Was, anies que avancemos mais, independentemente de suas in- ‘tengdes, precisamos definir alguns pontos importantes. Pontos que, muitas ‘vezes, até 05 mais convictos especialistas tém parade para se perguntar, tis © que significa modelar? E preciso mesmo modelar? Como devemos modelar? Por que devemos modclar? Para que serve 0 modelo apés gerado? O que deve ser representado no modelo? Repensando a Modelagem Vocé ji parou alguma vez para se perguntar se, realmente, a mode- lagem de dados € necessivia ou se este € 56 mais um formalismo que acaba nnio nos levando muito longe? Seri que, realmente, 0 procedimento mais produtivo nio seria partir para o micro c usar telas amigaveis, assistentes (wizards), modelos (emplate) © rantos ov logo de uma ver todas as cabelas que nos parecen necernatiase sai endo itilizanilo as? Ji pensou? objetivo dos proximos capftulos serécapacité-o aresponderaessas c outras questées comprovando, finalmente, que modelar € precise Referéncias Bibliogréficas 'sEILAER & MELLOR Andie de Sistema Oventade pare Obj So Palos McGraw Hil, 190 2COAD te YOURDON. Anise Based em Oljeo. Rio de Jancco: Campus, 1982 SRUMBAUGH James Modelagem ¢Prjetos Bexadosens Objeos. Rio de anete: Camps 1994 Irredogso 5 1 Conceitos Basicos Definigdo de Modelo Para que possamos falar em modelagem de dados, no sentido mais, amplodo termo, temos de terclarooque represents cadaum dos elementos envalvidos nesse processo. Assim, vamos inicialmente explorar a fundo o conceito de modelo, Parece trivial, a todos ns, © que € um modelo, mas porhora, vamos esquecero aspeeto puramiente informatica ao qual estamos presos e explorar outras possibilidades interessantes. ‘A seguir, temos uma definici, entre as virias possveis, que particular- mente parcee bastante aplicfvelagrande parte dos casos que iremos enquadrar. np ‘Modelo @ a representagao abstata © simpiicaca de um sistema real, ‘com a quale pode expica outestar eau compartaments, om eeu todo ovem partes. Para vaidar essa definigio, vamos partir de um caso bastante conhe- ido de todos nds. Consulte seu jornal de domingo, qualquer que seja. Olhe para um andneio que tenha uma foro da maquete de um spartamento, ov paar o desenho de uma plana haixa de win im inhibit, Voce consegue percebet modelo adcfinigio acima? el qualquee no caderno sua frente? © que nos diz “Um modelo & uma representacio abstrate esimplificads.” Sim, inclusive algumas vezes essas maquetes ou plantas si0 tio abstratas e simplificadas que nem sequer chegamos a ter certera do imvel que estamos comprando, mas de qualquer modo voce pode identificar¢ escolher entre uma quitinete ov um apartamento de quatro guartos com varanda mesmo antes de ter ido até o local da construsio, certo? Isso é um modelo! Capt 4 7 “que pode explcar ou testar o comportamiento de um sistema real: Sim, mais uma vez voc nao precisa ter o imével construfdo a sua frente para perceber que um quarto, sem janelas ¢ cuja porta dé de frente pra a cozinhs nio vsi satisfazer suns necessidades pestoais de venilagio. Isso um modelo! Logo, © modelo nio € 0 objeto real mas algo que o representa, com ‘maior ou! menor fideidade. Faz com que pela sua observacio e manipulacio tenhamos nossas necessidades de conhecimento e conceituacio sobre um objeto satiseitas, Hinconttanies outien exemplos forada infonstien? Inimerox no nos so di-a-dia. Tantos gue nem nos apercebemos. Mas utilizamo-nos deles ¢ sem eles teriamos algumas dificuldades em perceber eertos conccitos. © Omaneynin ma vittine * Ajowo de um conjunce estofado. © Um aeromodelo sendo usando em testes de aerodinimica *# © deseo em perspectiva de sua nova cozinka, * O molde de uma nova roupa obtido cm uma revista. © O memorial desritivo de seu novo apartament Assim como esses, virios outros exemplos poderiam ser dados para iluscrar uso de modelos em nosso cotidiano. O importante, contudo, é perceber que através de algum meio, seja uma maquete, um desenbo, uma finoxrafia, umaddescrgio, etc. podemos antecipar, ou substitura existencia «le winarealdae «uuhyuer. Attayés dum eleriento semelhante, em escala ow ni acpeostanny um aj deed ean pens pees lo 0 Papel do Objeto Obsorvado Em todos os exemplos que demos anteriorments, sempre estivemos apresentando modelos dealgum objeto que, em algum instante, serviu como referéncia para sua criagio (a maguete teve o aparamento, o manequim baseou-se em um ser humano). A esse elemento de referéncia chamaremos objeto observado. O termo “objeto” é usado, de modo genérico, para caracterizar qual- quer coisa, pessoa, ambiente, coneeito, ete. Mesmo que estejamos traba thando em wm ambiente convencional de desenvolvimento de sistemas, nio estaremos etrados se imaginarmos que estamos tratando ¢ modelando objetos. Descobire-se, entio, aqui, o primeira forte vinculo entre a jé ‘wnli ional orientate saidos e nos orientacao a abjetas objet obscrvado, sem sombrade dividas,é © ponto de partida para qualquer processode modelagem, dedados ou nio. Temos deter um objeco 4 reproduzir, sea ele concreto ou imagindio. 8 Camcaoe RAsone ‘Assim, o arquitl. , 20 desenhar a planta baixa de um novo aparta~ mento, e%4 reproduzindo um objeto imagindrio que, pelo menos, em sua imaginagao j4 existe. Existe em forma de lembrancas de outros imoveis vistos ou projerados, em forma de conccitos assimilados na faculdade ou em livros, em forma de idéias, ou outras referéncias quaisquer. Por outro lado, também podertamos estar falando de um desenho de uma planta baixa feito apés uma vstoriaao local onde foi construido um prédio. Neste caso, estariamos modelando tum objeto concreto e nao mais tm imaginario. Esses conceitos parecem trviais mas, do ponto de vista de modelagem de dados, sio extremamente importantes. O porto principal é que a mo delagem de dados necessita também, obsigatoriamente, de wun objet a set ‘observado, sea ele real ou imaginative ‘Voce, ao ter contato com o mundo da modelagem de dados, jé deve terouvido, ov ainda ouvirs, por mais de uma ve2, aafirmagio: “..temos que modelaromundo real..”. Ap6s 0 que)Sapresentamas poderfamos redefinir essa expressio como: Temes que modelar a mundo observado, soa ole real ou imaginéro. Assim, se alguém tiver criado algum modelo de dados,certamente terd reproduzido, como oarquiteto, algo que observou, concreto ou imaginario. Por iso, e 36 por isso, 0 proeesso de levantamento de dados, investigagson e-anilise dos dados é to importante para a modelagem de dados. Se nio Caprarmos infomagoes que nos catacterizem devadamente as objets, a9 conseguiremes “observélos”e logo nosso modelo nio es contemplard ‘Mas, a0 observarmos os objetos de um mundo real ou imaginério: © Oque pereeberemos? # Como eles nos sero epresentados? © Oque deveremos buscar? Veremos mais a frente que uma dhs atividades mais complexas no processo de modelagem de dados éa compatibiizacio entre as caracerist- cas observadas ¢ as reproduzidas (ou modeladas). Isso se dé porque os objetos observados tém ceracterlticas prépriss que, sejam qualidades ou efeitos, acabario por serem percebidas por nbs. E mais, os objetos obser- vados muitas vezes témum comportamento dindmico eso multfacetados, Parece complicado, nio? Para esclarecer, vamos novamente buscar exem- pilos fora da informstica «, depois, contraps-los com os da inform: Ceptuo 1 ° ‘A Modelagem como um Processo Estruturado Innaginemos ain procesio de modslagem, como por exemplo o de sono out pintusa de urn quatro, Provavelmente, vocé nanca tenka pensido ‘ha pina como am processo de modelagen, nts xe obscwvi la vers que é Davos de canhevct melhor o processo de aptendizagem de desenbo ¢ pintora de “modelos vivos” (pessoas), pode-se perceber que os alunos, 20 reproduzicem o objeto que observam, tém que lidar com certas peculiari- dade 1. Cada pessoa que posa para um grupo de alunos tem suas carac~ texisticas préprias come altura, peso, «statu, feigio, contornos, apesar de todhs seguirem basicamente um mesmo padrao, ‘Allgumas das caractertsticas dessas pessoas embelezariam 0 traba~ Iho final se fossem ceproduzidas, e outrasteis como cicatrizes, manchas na pele, etc., que existem no modelo observado, podem ‘ou nfo ser reproduzidas na cela a ser pintada, com a possibilidade de, em alguns casos, prejudicara estética do produto final 3. As pessoas que posam, devido ao grande perfodo de tempo ne~ cesnrio pana que as sas cara trvisties sean reprodzian, aram levenente sua posigie durante pequenos intervalos de descaso. so faz com que oS ahnos enka queseadapaaesas mudangas alterando seus quadios ou desconsiderando pequenos dlealhes que venhan se modifica, i + Cadi aluno cem um ponto de visia diferente ao realizar sua reprodugio, pois estio posicionados em pontos diferentes da sala, alguns de frente, outros de lado e outros atris do modelo, frzendo, com que alguns percebam detalhes que outros esto impossibili- tados de perceber num dado instante, tornando o resultado final, apesar de coerente particularmente diferente para cad um dele Sim, masque tema modelagem dedados aver comtudo isso? Muito, pois podemos aproveiiar tanto os problemas como as solugdes por eles aloudos para tatar de dificuldades que eatr slewaelagenn ss cidos, Assim vsjannon as sith 10 amos durante 0 processo ladles 1. Cada ambiente com o qual nos depararmos para modelar teré suas préprias caracteristicas. Por mais que acreditemos que ji as conhe- ccemos dle outras experigncias anteriores, devemos estar prepar2- dos para as particularidades que certamente existirio e que tor nario cada tabalho € cada modelo gerado semelhante em sua esséncia, mastinico em seus detalhes. Conca Bisicos 2, O fato de obs armos qulidsdes e defcitos, ou conformidades ¢ anomalas, no ambiente que pretendemos modelar, € algo que devemos estar preparados pata tratar de algum modo. Iremos preservar somente as qualidades corrigindo os defeios ou n03s0, modelo deverd sor fil ¢ também rettatar ewas anomalian? © wabalho de modelagem por ser, em alguns casos, extenso ¢ demorado poders se defrontar com a situacio em que, 20 chezar- mos a certa altura do modelo, a porgio que anteriormente havia sido modelada jé sofreu impactos por pequenas mudancas intro- duzidas no ambiente observado. 4, A visio que poderd scr obtida dos objetos ou do ambiente que dessjamos modelar pode ser fortemente dependente de pontos de vista diferentes que nos szjam apresentados, ou mesmo, do ponto de vista que estcjamos percebendo. Isso fark com que vérios modelos, cada um com diferentes caracteristicas, possam cxistir€ ser coerentes entre si, por retratarem vis0es diferentes, vodavia deverio preservar todos a mesma essen Como podemos pereeber, hf pontos em comum nos dois easos abordada ¢ caistinde a sini, liewm send também validas av onsideragSes, estratégias ¢ solugbes adotachs pelos artistas em suas pin- 1. Podemos partir de padedes, ou preconceitos com os quais acele raremos a produgao do nosso resultado final. Assim como um aluno sabe as proporgbes e estruturas bisicas de um corpo bu- ‘mano e as utiliza para ajustar seu desenho a cada novo quadro, também nés poderemos aproveitar ay experincias de outros modelos ji reilizados sobre o mesmo objeto ou ambiente part, a partir dos conceitos ja conhecidos, acelerare favorecer a criaga0 do novo modelo, respeitando ¢ observando sempre as novas particularidades observadas. 2. Devemos procurar nos posicionar, com a orientagio do inceres- sado no modelo a ser perado, sobre qual deve ser nossa estratégia com teligio 3 repridigio cas qualidade e defies, Marie bos Cortigi-los? Suprimi-tos? 3. A cada caso, devernos verificer se as mudancas no objeto ou ambiente observado sio signficativas para a produgio de nosso resultado final ¢ sea fase em que nos encontramos viabiliza wma grande mudanca quanto a0 contetido do que jf temos modelado. Serd uma questio a ser estudada e que poders, em alguns casos, tanto nos levar ao reinfcio de todo o trabalho como, em outros casos, a desprezar as mudancas percebidas. ait " 4. Para que se tenha uma visio completa de todos os detalhes.“o- derio ser adotadas duas estratégias, A primeira seré prox ar contar durante of trabalhos de modelagem com pontos de vista diferentes tentando, tanto quanto possiveh, agrupi-los para a for- ‘magio de um Gnico produco, A segunda serd contar com mais de ‘uma representagio, em diferentes niveis, para poder transmitir todos as conceitos captados. Esse iltimo recurso sera melhor explorado quando estivermos falando de modelos conccicuais € modelos lbgicos. © Processo de Modelagem A obtengio de um modelo partir de um conjunto de objetos obser- vados deve levar também em conta alguns quesitos. Cada um deles con- uiluird decisivamente para que o produco gerado pela modelagem seja 0 ordem di endimento, os quesitos a serem savisfeitas $3 Especificacao dos Requisitos Alguns pontos importantes devem ser definidos mesmo antes de se iniciarem’ as trabathos de modelagem, para que assim sejamos orientados 1a geragdo do produto esperado. Dentre esses pontos podemos enumerar: © Abrangéncia. Definira abrangéncia, on escopo, dos trabalhos é de vital imporcincia, Precisamos desse referencial para poder definir ‘que objetos teremos que buscar em nosso processo de observagio. Umaartista precisa saber se deve pintar toda uma paisagem ou s6 2 rvore que estéino meio do bosque sua frente. Onivel de trabalho, e de observacio, seri bastante diferente, assim como 0 produto a maldefinidas, podem levar 0 inelior dos modelos a set totalmente descartado por ndo retratar jue cra desea, ser gerado, Expectativas reais, satisleitas © Tempo para a dugio do Modelo. Podemos, também, jé ter de- finidos o nivel de detalhamento ea abrangéncia mas, mesmo assim, ainda teremos sérias dificuldades em produir 0 modelo descjado se nio conhecermos as expectativas de prazo para a conchssio do trabalho. Voc@, por certo, jé ouviu falar na Capela Sistina, com ingmeras reprodugoes pintadas em seu teto por Michela bom exemplo de um grande trsbalho de modelagem. Mas em que condic6es ¢ prazo foi executada? E se a necessidade de conclusio a obra fosse de um més entre o inicio ¢ o final do trabalho? Certamente 0 produto gerado nio atenderia is expectativas, ou porque ficaria inacabado ow porque pecaria em qualidade, Assim também muitos projetos de modelagem de dados tém resultado em produtos que nio atendem is expectativas por fala nesse aspecto. + Recursos Dispontveis.Paralelamente 20 tempo para produgio do modelo, deverd ser considerado un outro fator detcrmsinante a set especilicade desde o inicio dos tabalhos:aequipea serslocada para patticipar da modelagem. Quando falamos de equipe, estamos nos refetindo tanto aos especialstas em modelagem como aos in- dividuos que estario fornecendo substdios para ta. [sso é impor- tante pois, naturalmente respeitadasas limitagdes, quanto maior 0 ‘iimeto de participantes menor a expectativa de tempo para con- clusio dos trabalhos. Voltando 3 Capel Sistina, apesar do trabalho imenso a ser realizado, provavelmente, que me desculpe Michelan= gelo, se um grupo de artista, igualmente qualifcados, tivesse se dedicado a0 trabalho simaltancaments, teriamos todas as repro ducées concluidas em um més de trabalho Execugao da Modelagem dos Dados Supondo que if tenhamos vido xls as especificagdes de requsitox pio nos restans muito nana fazer send iniciar » ctabalho de modelagem propriamente dito, A partir deste instante, entraremos em um processo ciclico de stividades que também terd seus quesitor a serem atendidos e que envolveré os seguintes passos: '* Nivel de Detathamento. Mesmo que jé tenhamos um escopo bem efinido, precisamos saber, adicionalmente, quas sto as expectati- xas com relagio ao nivel de detalhamento esperado para o produto final, Como no exemplo anterior, pademas saber que 0 que se L.A observagao dos abjetos. deseja € 2 reproducio de todo 0 bosque, mas em que nivel de 2. Oentendimento dos conceitos evalhe? Somente desejamos as linhas gerais? Os elementos pre- A representagio dos objetos dominantes? Tudo? Com a representscio dos minimos detalhes? A vetificagio de fidelidade e coeréncia Imagine, agora, esse panorama voltado para a drea de modelagem 5. Avalidagio do modelo. de dados. Falaremos mais sobre esse assunto quando estivermos tratando de modelos conceituaise modelos seminticos. Aguarde. la um desses passos fornece elementos para que o prdximo passo posta seriniciado, ou entéo mostra que existem anomalias ou fahas em sua execusio,o que exigiria volta aos passos anteriores. Esse ciclo seri repetido 2 Concston Dason (Cain E {antas vezes quantas forem as extensoes agregadas 20 modelo, sea sua fase de construgio ou em suas manutengies evolutivas, adaptativas ov corretiva. Passo 1: A observacio dos objetos pemes que a definigéo da abrangéncia ¢ do nivel de detalhes seré importante para o sucesso de nosso processo de modelagem. Entrecanto, isso somente servis coma um referencia para que limitemos nossa busca, ons tinso foc de atenqao, Nio imagine vocé que, uma vez. definida a abrangéncia, todos os objetos que lhe serio apresentados pelos processos de levantamento de dos pertencerio a0 escopo predefinid, Voce, conforme sa habidade «w levantar dados, poderd escolher caminhos que o levem para mais perto doresultado espersdo, mas, certamente, muito “ruido", ou “lixo” vrs junto massa de dados obtida por qualquer que seja o process. Saber *separar 0 joio do trigo” serd uma atribuigéo sua, que com maior ou menor facildade ser executada caso a caso. A experitncia, sem divida, poderd contribuir nesse aspecto, mas mesmo alguns experts, muitas vezes, se rGem confusos sobre sc determinado objeto pertence 20 modelo ou nao, Aqui, mais uma vez, lembramos: diferentes pontos de vista poderio ser \teis para a identificagio real dos objetos. Isso implica tanto a consulea de virias fontes como a avaliagio de varias propostas de modelagem, Mas, ¢ para canhecer os objetos que deverio passar pelo processo de valve ae ashos, ual @ a receita As técnicas de levartamento de dados podem contribuir bastante, sendo, basicamente elas, 0 nosso ponto de partida. Assim, atraves de ‘entrevistas, reunioes, questionsrios, anilise de documentos, andlise de dlisos if estruturados em outros processos, etc, poderemos encontrar a quase totalidade de nossos objetos. ‘Também outro elemento pode ser acrescentado como f be 10 fonte para idemtificagio dos objetos: o conhecimento prévio, ou a experiencia prévia Comp vimos anceriormente, padr6es e preconccitos podem ser um bom relerencial para percebermos a falta de “objetos tipicos” de um ambiente {que nio nos tenham sido expostos pelo levantamento tradicional de dadas Passo 2:0 entendimento dos conceitos ‘N atividade de modelagem nio & 4 representagio dos ebjeros como Hnoroulmente possa parecer, Um eonceita erraday que muitas veres lveanin, & de que quande yenios alguém desenhando win modelo de ilados pensanios estar, naguele instante, auios estar, naguele instante, se processando a modelagem dos ddados. Na verdade nesse instante o que exté ocorrendo é, dnica ¢ exclusi- ‘vamente, a representay.- dos objetos que jé foram identificados, concei- tuados, entendidos e assimilados. Por isso, 0 ntcleo do processo de modelagem, ou 0 ponto onde realmente se processa 2 transposicio do objeto observado para o objeto reproduzido, € instante em que, 20 analisar um objeto, conseguimos: © Identifici-lo. * Conceitutlo, | # Foendé-o # Assinilislo, Essa seqiéncia de fases faz com que algo que até certo instance era desconhecido para nés passe a fazer parte de nosso conhecimento e seja incorporado a0 conjunto de abjetos de nosso dominio, Ao passar por essas fases,estaremos obtendo os elementos que definirio esse novo objeto, ou, mesmo que jf seja um abjeto conhecido, obtendo os elementos que de- finirto suas novas caractersticas. E esse € 0 processo para o qual um bom modelador de dados deve atentar. Desse modo se processa 0 crescimento profissional ra 4rea de modelagem de dado. Paste 3: Representago dos objetos Apés termos identificado os objetos, suas caracteriticas, seus re- hacionamentos com outros objetos ¢ seu comportamento, poderemos apli- car uma chis varias tdenieas de representagio de objets. que nos si disponibilizadas. Algumas mais detlhistas, overs mais simplistas, algumas mais formais, oucras mas flexivis Sem divids, © dominio dessas téenicas ajudari sensivelmente na prodiugio do resultado final, Assim tambémum artista, se nao dominar bem técnica que wilizar para reproduzir algo que venha concebido, nfo obcerd como produto algo que realmente demonstre sua intengio, O que éimpor- tante, entrecanto, é deixar bem claro que: Se nio privilegiarmos o passo anterior (0 entendimento dos concei- tos) de nada nos adianard dominar essa ou aquelayécnica!Fssa tem sido a grande falha no processo de aprendizado cm mwodclager de dados, Livros ‘€ cursos tém se preocupado excessivamente com as técnicas ¢ explorade de maneira muito superficial 0 entendimento, Como voc® ji percebeu, j4 percorremos piginas e piginas deste liv ¢ ainda nao foi apresentada capitate + 18 nenhuma das técnicas de modelagem de dados existentes no mercac Ispero que agora vocé entenda o motivo, Vevernis aus prcninen capiuos alguna as iécnivay de mnodelagem ddedasosexistentes, quando voce i estiver preparado para ea. Passo 4: Verilicagio de fidelidade e coeréncla ‘Ap6s terem sido representados novos objetos, através de uma sécnica escolhida, devemos verificar se a representacio gerada, associada 20s obje- tos jé existentes previamente no modelo, continua a formar um conjunto, em sua totalidade, coerente ¢fiel aos conczitos encontrados. Isso € necessério pois, muitas vezes, a agregacio de novos objetos a uum modelo jd exstente pode vir a mostrar que conceitos anteriores esto distorcidos, on ndo sio adequados nova situagio, Nestes casos, podernos estar diante de duas situagbes distintas # Os novos objetos agregadas 20 modelo contém anomaliss e, por isx0, destoam do conjunto, devendo entao ser remodelados © Os nowy elementos ategados expelham realmente os objets observadles, o que demonstra necessidade de tratamento de ano- rmalias nos elementos previamente existentes Em anibos os casos, devemos verificar se as falhas, ou anomalias, existem em fungto deconceitos malformados, pontos de vista equirocados, falha na concepgio ou aplicagio errada da técnica de representayio.Depen- dendo de onde tenha ocorrido a falha deveremos voltar, mais ov menos, 05 passos jd executados até o momento para retomar o caminho certo. Passo 5: Validacio Os procedimentos devalidagio, que sucedem as verificagées feitas no asso anterior, tém papel fundamental no encerramento do processo de snodelagem de dados, Sers através da vaidagao que obteremos 2 aprovacio Formal, on 9 indicagse de pontos falhos existentes em nossos modelos, Devens tet et mente, neste init modelagem de dados: das grandes mafaimas apicfveis ‘Nicame seu modelo de dados! ‘Se vocbacha que seu modolo aeté bom, 6 porque talvoz ends no tonha ‘ohnadociritor 16 orcas Bésens Esses dizeres sinteti2.. tudo aquilo que distingue um bom trabalho cde um simples trabalho, Dizem, em outras palavras:altere, mude, melhore, nap ar de normali eslaga ¢, em caso de vie, refaga, Somos, admitir, muito paternalistas,ou matemalistas, com nossos modelos.’ todo um processo de concepgio ¢ desenvolvimento ¢, quando os produzi- ‘mos, achamos que atingimos aperfeicio, nada mais havendo a ser feito, por {quem quer que seja, inclusive nds mesmos. Quando alguém comega a uestionde-los, a crticé-los ea nos mostrar pontos para ajustes, nos senti mos afrontados. Voce acha isso exagerado?! Procure fazer essa experiencia comalgum colega seu ou, simplesments, pare para pensar honestamente em qual foi seu dltimo comportamento quando algaém questionou um de seas sltimos modelos. Por isso acredito que a preparagio para atuar em modelagem de dados deve, rambém, dar muita atencio 3 esse ponto. Algo que devemos acreditar ter sempre em mente € que: f doscobi algun ‘So om um procasso do valiéago nlo conseguir ‘porto falho,elguma anomaia ou algo a ser mehorado, deverncs ent ficar realmente preacupacos pois ndo lzemos a validardo corrtamenta! Certa vez ouvi ow li, em algum lugar, que “em modelagem de dados 86 podemos ter uma certeza: a de que nosso modelo nunca estard comple tamente acabado". Acho que esta¢, realmente, uma das grandes verdades a serem admitidas quando se fala em validacio de modelos. Assim, procure fazer com que o processo de validagio de seu modelo seja 0 mais eritico‘e rigoroso possivel. Cologue seu modelo a prova e veja se ele resiste aos 4questionamentos. Voc8 s6 zerd a ganhar com isto, conseguindo, © mais répido possivel, antecipar todas 2s falhas, anomalias ou deficiéncias que, tmais cedo ou mais tarde, cabaria por descobrir, quando entio seria tarde, 1, para que os impaztos fossem muito maiores. (0 ponto inyportante a ser considerad quando se aborda a vali dagio dos modelos de dados ¢ que o grau de conhecimento ¢ domfnio das técnicas usilizadas para a representagio des objetos que observames deve ser homagénco tanto na equipe de desenvolvimento como no grupo de usuarios que participa do processo. Ji presenciei algumas reanibes de validagio em que os usustios as- sistem passivamente i apresentagio es explicagées dos modelos de dados ue estio sendo validados. Ao final da apresentacio, sio impelidos a formalmente considerar“validados os modelos", considerando entdo 2 fase ‘como encerrads. Mas com que grau de entendimento esses usuitios tém, clesivamente, paricipado do processa? Pouco? Algum? Nenhum? Contos 7 Caso niv hajs conhecimento suficiente por parte dos usuérit. 0 pprocesso de validacio seré meramente formalizador do fechamento de uma «etapa, Nio teré qualquer fivalidade real de apontamento de falhas, s6es, interpretacées equivocadas, etc. Logo, a disseminagio das téenicas de ‘modtelagem de didos deve ser feta tambéma irea usuaria endo s6ao pessoal envolvido com a érea de desenvolvimento de sistemas. Objetivos do Modelo de Dados ‘A modzhgem de dados tem sido, basicamente, aplcada como meio pars obtengio de estrururas de dados que nos levem ao projeto de bancos dledaas. Cath ver mais, coma disseminagio de sistemas gerenciadores de Jnans ovale silos reli ionais (SGNDR), tem side exigido 0 formalisnio na ctiagao das estruturas de dados a serem implementadas. O efetivo aprovel- tamento das habilidades e recursos dos SGBDRs tem como ponto funda- imental a “obedi¢ncia” a alguns preceitos relacionais. Melhores ou piores resultados poderio ser obtidos em fungio de melhores ou piores modelos de dados. ‘A partir de agora iremos explorar, também, outros pontos que tém snorados quando se trata oassunto modelagem de dados em livros de projeto de bancos de dados. Vamos mostrar, como jé haviamos realgado anteriormente, que: sido ferramenta 86 para proto de bancos Sim, max para que mais poderlamos utilizé-Ia? As aplicagdes que itemos apresentara seguir n3o sio meras especulacGes ou suposicoes. Sio, antes de mais nad, resultado da aplicagio das técnicas de modelagem de alos em situagies do dia-a-dia, Muitas ocasides que mereeem nosso entendimento, memorizagio, representacao, explicacio on comunicacio podem ficar mais féccis de serem tratadas quando aplicamos alguns concti tos herdados da modelagem de dados. Dente essas aplicacoes aparecem, com maior destaque, nao neces- sariamente em ordem de importincia Representar um ambiente observado. Servir de instrumento para comunicagso, Favorecer 0 processo de verificagio ¢ validagio. ‘Capturar aspectos de relacionamento entre os objetos observados. Sew como eal ara gerade de cura de dos, clever coneeitosdnieos a parti de visdes diversas, 18 Cone Boon Representar um Ai ente Observado Frequencemente, estamos send defronsados com novos ambientes, scjam cles organizacionais, funcionais, pessoais, de hardware, de software, de redes, ec. Esses ambientes possuem caracteristcas particulares, apre- sentam aspectos dinimicos de relacionamento entre seus componentes, possucm regras de funcionamento e operagio, entre outras coisas ‘Agora pare e lembre! Qual era mesmo a definigio de um modelo? “Modelo €a representasto absirata e simplifcada de wm sistema real, coma ‘qual se pode explcarou eter tex comportamento, em seu todo ou om partes” Senos interessaretratar um ambiente (ou sistema, ou conjuntode objetos), fou parte dele, podendo apés isso explicar ow transmitir seu compor= aniento, por que nido usariamos iim mivtelo para issn? F por que nfo um modelo de dads? ‘Assim, para retratar com formalismo ou riqueza de detalhes, por cexemplo, um ambiente de descavolvimento de sistemas, com sas equipes disponiveis ou alocadas a projetos e a clientes, com dominios de técnicas de programacio e anilise diferenciadas e atuando em diferentes ambientes loperacionais, poderfamos usar um modelo de dados semantico, Obterfa- mos resultados tio bons, ou melhores, que urilizando-nos de diagramas,e5- quemas,tabelas, etc. que dizer entio dessa cécnica aplicada a0 mapeamento de regras de funcionamento de uma rede de computadores? E de um ambiente de con- cessao de eréditos bancérios? E de um conjunto de lojas de departamento associadas 3s suas dceas de aruagio ¢ fornecedores? Se vac# avalisr friamente verificars que, muitas vezes, dingramas, esquemas, descrigbes e tantas outros meios tem sido uilzados para repre- sentar,através de outras téenicas, 0 mesmo que poderfamos estar represen Lando usando as tnieas de melayens de dads, Pata exsnopliicar ape sentaremos, a seguir, o mesmo ambiente representado por ts téenicas diferentes ua decriva, uma esquemitae uma araes da modelagem captuot ” a ‘© Forma 1: Deseritiva ‘Acmprasa bipotética S.A, atua ne ram do ljas de departamentos através (2 uma cadea de lojas espatnadas por todo o taro nacional e tarts ‘om ljas na prinipais eaptaie intemacionak. Cada una das Ijas estd organizada om uma ostrtura herérquice que 8 ‘gerenciada por um departamarto da comoras conta, responsavel por um Conjunto de atvidades eapeaficas do negocio o conirstapo. ‘Subordnados a esse deparamento central esiao os demais departamertos {9 vanda que atuam cada um em semente um ramo de comercalzagao. [Esse rama de comercialzagdo ¢ dofnide apatirda agregepéo do uma sério 2 procutos cua inaiclage ou podieo-aivo tenham anaes. ‘Sous fomecedores so classifcados am funeo dos predutos que ropre- Sontarn e dos dopaitamentos de vendaafetacos por sua linha de produos. ‘Mutos dos feracestores sio fomacederes excusivos de um tnkeo depar- fament de vera, saa alguns, par sua vez, atondon a iiverave depate ‘motos do var, apresentandl predutos especitices pare cada um dels. ‘© Forma 2: Esquemstics TRE wpgTETCA co xe or aoe | see | aoe |] or ie 20 CCaneatos Bens Fess Servir de Inetrumento para Comunicago coe \Virios instrumentos tém sido urilizados par favorecer 0 procesto de comunicasdo, principalmente, no msio empresarial. Hoje, hf uma forte preocupagio com a preserracio do conhecimento adquirido pelos in- dividuos durante sua passagem pelas organizacoes. A roratvidade de pes- soal, naturale saudivel em muitos casos por oxigenat 23 organizagbes, nio pode ser motive de perda dos conceitos trazidos, ov obtidos internaments, pelos profissionais que venhama se afastar da empresa. Assim, aénfase na documentagao ¢ normatizagio vem sido, cada vea mais erescente, ‘Os modelos de dados, entio, podem ser aplicidos como meio para facilitar 0 entendimento e a transmissio de conceitos, especificagbes © regras, A visio que esses modelos sio capazes de repasear, pars alguém que capi + a também domine a nica empregada em suaclaboragio, bastante, isa, concis, objetva e com pouca, ou nenhuma ambigdidade. &.0 mesmo ndo podemos falar do processo descrtive, normalmenteaplicado a ese fim. Fniretanto, muitas pessoas tém se mostrado céticas quanto & possi bilidade de aplcayio abrangente desse tipo de téenica 20 ambiente empre~ sarial argumentando que “esta 6 uma técnica para a Area de informatica e rio para outras reas da empresa”. Para refutar essa opinio, podemos uuilizar o seguinte argumento: Hi alguns anos, no inicio dos anos 80, quando ainda se utilizava o FORTRAN como linguagem de programacio nas universidades, grande parte dos métodos de aprendizado de légica de construgio de programas era feita através de fluxogramas. Esses diagramas pareciam servie a uma finalidade bastante especifica: construir programas. Diagramas que ficavam restritos ao mundo dos programadores de computador, como se pensava 1m paca. Maso que acorteceu como passar do tempo? Para que finalidade tern 9 aplic ale esa tévmnica nos day de hoje? Preste atengdo e voce vers mnanuais le operayau de fornos de microoralas, videocassetes, impressoras, iiquinas de lavat pratos tantos outros explicando o mode de manuseio desses aparelhos através de fluxogramas! E poucas pessoas tém achado isso mais confuso do que paginas € paginas de textos explicativos! Os mesinos flaxogramas tém sido aplicados, por algumas empresas, como meio de documentacao dos procedimentos executados por uma determinada rca durante a busca de certificagio para [S0-9000. E, nesse «380 também, poucos tém achado que esta & uma técnica confusa ou que scia voltada 3 construcio de programas : ‘Com isso, podemos perceber que a aplicagio de técnicas de repre- sentazao grafica, que podem parecer voltadas 20 ambiente de informitic, tal comoa modelagem de dados,a finalidades que nio sejam propriamente di drea de informtica, nao s6 € uma possibilidade como também uma teniéncia, Assim também outras técnicas de diagramagio, como diagramas dle luxo de dadoy (DED), diagramas de cransigio de estado (DTE), entre soutrag, ponte ser apical, se mane nélva, a otras final clades que nto ade construgio de sistem de informagio. Justante b Favorecer 0 Processo de Verificacao Valldagao Associando as justificativas citadas, veremos que se buscamos um meio de representar (ou modelar) um ambiente, ese podemos disseminar ‘© conhecimento das téenicas aplicadss a esse fim para pessoas envolvidas com 0 processo mas que nio sejam da frea de informtica, teremos entio cobtido um meio fuclitador para verficagao ¢ validacao do nosso entendi- mento sobre determinado assunto. Teremos a chance de confrontar os conceitos que obtivemos pelt andlise e representazio dos objetos que captamos no ambiente observado com 98 conceitos estabelecidos por cada um dos componentes de uma Come dt isbn ‘equipe de validasio. J&_sstramos anteriormente que o processo de vali dagio € necessirio ¢ valioso e devemos, entio, buscar meios para que ele Acja feito do modo mais preciso ¢ fiel possfvel, sem que isso implique intermindveis sessbes de trabalho. ‘A objetividade, precisio e concisio conseguidas através dos modelos dedados podem, c dever, ser buscadas como faciltadores de todo o proceso de verificagio e validagio. Capturar Aspectos de Relacicnamento entre os Objetos Observados ‘Como yeremos, mais a frente, 0 processo de modelagem de dados & interessante por nio se fixar somente aos objecos existences em um ambi- ente observado, mas por também dar grande énfaseao relacionamento entre «sses objetos, Omapeamento do tipo de rlacionamento existente entre os dobjetosécapazale nos iostrar caracterftie ais comes re desses objetos, regras de evolugio, regras de preservagio, associagées pos- siveis, associagées proibidas, ntimero de participantes nas associagoes de ‘objetos, grau de hierarquia existente entre os objeros, entre outras. "Tenulo-se um melo para mapeat os objetos, e podendo wtilizar-se desse mesmo meio para mapeat os relicionamentos entre esses objetos, pode-st atingic com maior grau de confibilidade uma representacio dnica que seja consistence na representagio de diferentes aspectes de um mesmo ambiente Servir como Referencial para a Geragao de Estruturas de Dados Como vimos anteriormente a representagio ou documentagio dos objetos e relacionamentos existentes em um ambiente observado pode ser ‘uma necessidade associada a qualquer outra finalidade que nio a de cons- trugio de um sistema de informagbes. Tagine que voc@ necessite, em un dado instante, representara estrutura dearendimento de uma rede de fornecedores de autopegas para as fabricas ¢lojasde pegasde reposigioespalhadas nas diversasregiées do pas. Imagine sinda que cada regiio tem escritérios centrais com equipes pr6prias mas que podem atender também em casos de emergéncias a clientes de outras regides. Como vocé mapearia sodos esses objetos e relacionamentos, suas regrs, participantes, excegées, ete. Como jd vimos,a modelagem dedados seria uma boa opcio para ober e representar todos esses objetos. Se voce avtilizasse, obseria um mapezmento bastanteapropriado paracontcr todos estes detalhes Mas, e se voc8 decidir, fururamente, implantar sistema informatizado para manter todas estas informagdes de modo automdtico? Qual sera seu ponto de partida? Como construria seu bunco de dados? Caso tivesse realizado, em algum instante, um trabalho de modelsgem de dados, mesmo Copii 2 ‘que nio visando a qualquer finaidade associada & érea de in) dtica, tnstariam apenas agumas complementagoes e seu banco de dados estaria quise pronto Isso demonstra que, além de uma ferramenta apropriada para diversas finalidades fora da informatica, também se waduz em investimenco qual- quer esforso realizado para obtengio de modelos de dados, pois estes, 3 qualquer instante, podem acelerar sensivelmente 0 processo de obtengao de estruturas de dados, ou de bancos de dados, 24 Conca cas Niveis de Modelagem Definigao de Niveis Durante 0 ciclo de desenvolvimento de sistemas, convencional ou orientado a objetos, os modelos de dados passardo porniveis dstintos, cada qual com suas caracteristcas e particularidades A estratégia de utilizacdo de diferentes nfveis de projeto ¢ repre- senragio dos modelos de dados tem origem junto 20 grupo ANSI: SPARK ainda na década de 1970. Jé naquele instante, com a disseminagio dos primeiros sistemas gerenciadores de bancos de dados, comecavam a surgir dificuldades quanto & implemensagio de bases de dados e, paralela ‘mente, a busca de padres que pudessem regrar o ambiente. O padrao basico de definigio e especificago de pardmetros elemen- tos que compunham um banco de dados, incluindo os aspectos conceituais, lgicos e fisicos,estabelecia 0 uso de schemas (esquemas, como alguns tra- dhtores ni preleride). Essex schema, na verdade, eran unidladey de especificagio que serviam de mapeamento para as estruturas de um banco de dados. Esse mesmo conceito continua sendo aplicado até hoje na implementacao dos mais recentes SGBDs. ‘As dificuldades existentes, antes do estabelecimento da arquitewurade trds niveis de schema, residiam basicamente em dois pontos: 1, Um mesmo modelo de dados, concebido para uma aplicagio, a0 necessitar ser implementado em diferentes SGBDs exigia a geracao de diferentes schemas com transformagbes significati- vas do proprio modelo original. Isso ocorria pois cada schema dependia das caracteristicas de implementagio de cada sofeware. Assim, sea implementacio fosse feita em um SGBD hierirqui- co ou em um SGBD relacional terfamos schentas bastante particulares reflexos bastante signi dados para possibilitar o estabelecimento das estruturas neces: sdrias entre os dados, ieativos no modelo de 2. A implementagio de um mesmo schema em um mesmo SGBD poderia ser percebida, ou disponibilizada a0 ususrio final, por diferentes visbes (views). Estas visdes seriam dependentes de Copia 2 25 restrigbesde acesto imitagbeslisicascaractefsticas ax .mbiente de manipulagio, ete. ‘Com essa realidade, um mesmo modelo de dados, gerado para uma aplicagio poderia necessiar de um grande niimero de diferentes schemas para comportarvariagoes de modos de implementacio e de visbes externas a serem disponibilizadas aos usuitios. Para ser mais exato, esse niimero ppoderia ser obvido através da seguinte expressio: “Gide, de schomas para ume aplcagie (concotual) Qtdo. de modes de implemontapio de. de cferenias visies Se innaginarinos, por exemyplo, wins situagio em que um modelo de thas canceitual original precisasse vir a ter sen schema definide para «quatro clterentes modos de implementagao convivendo com cinco difere: W000 | woo ‘wcoo | ‘000 S74 Do] RC waio] [ vsio | [wsto | [sto] [ vsto Ca una das 20 interligagBes mosteadas representa uma possivel cominagau dle caracteristicasespectficas de um modo de implementacioe dle uina viste a set disponibilizada ap usuttio, Para cada uma delas devert ‘mos redefinir nosso schema e nosso modelo, onde terlamos, ao inal, exacos 20 schemas, e modelos, endo mantidos para possbilitara implementagio flexivel de nosso banco de dados. Vocé consegue imaginar essa situagZo em nnossos das se algo no tvesse sido feito at€agora para mudar essa situagio? AAs dificuldades advindas da administragao e manutengio de toda essa variedade de modelos fizeram com que o grupo ANSI-X3-SPARK pro- pusesse um padrao onde a ideia bisica consistia na definigao de niveis para adefinigio de schemas associados a um modelo de dados. Cada um desses 2a vse Modelanen niveis deveriaisolara. -aracteriticas especificas quelhe diziam respeito em tum schema préprio. Sintaxes e modos de tratamento seriam definidos pata cada um dos niveis e haveria grande isolamento entre ces, fazendo com que rmudangas em um nfvel causassem nenhum ou pouco impacto nos demais. Os schemas de cada um dos nfveis seriam entio combinados entre si para que pela wilizacao combinada pudessem vira formar o conjunto de espe- cificagdes antes obtidos em um s6 schema. [rreraeeenos | SS eae Assim, a quantidade final de schemas, ¢ modelos, necessérios 2 serem mantidos para uma aplicacio modelada (schema concritual) passaa ser ndo mais calculado pelo produto da quantidade de modos de implementagio (schemas internos) census a quantidade de visbes a serem disponibilizadas 40 usuario final (schemas externos) mas pela sua somatéria ‘Qiao. de schemas para uma aplcacio (cencattua) (tae. de modes de implementacéo ido. do eforonts visoos No exemplo anteriormente dado, uma aplicagio poderia vir a ter quatro modos de implementacia ¢ cinco visbes. Pelo proceso anterior, nnecessitivamos manter 20 schemas distntos. Agora baseando-se em uma arquiteturs de tas niveis de schema teremos somente nove, ou seja, um ganho bastante significative Esse tipo de abordagem passou a ser definide como “arquivecura de trds niveis de schema”, representando a existncia de um nivel de schema conceitual, um nivel de schema interno ¢ um nivel de schema externo. Veremos mais a frente que esse padrio passou a ser bastante compativel captuoe 7 com a proposta dos modelos conceitua, L6gico e fisico apregs.dos pela abordageut cntidade-relacionamento (E-R) de Peter Chen, ‘A abordagem E-R defende, basicamente, a elaboracio de um modelo ‘que represente os objetos observados, € seus relacionamentos, inde ppendentemente de preocupagies com implementagées logicas ou fisicas. Entende que os aspectos légicos ¢fisicos devem ser agregados a posteriori, pois sioalhcios a estrutura inerente dos dados observados em um ambiente ‘ou conjunto de objetos. E, porranto, uma técnica que tem total aderéncia aos padres definides na arquitetura de trés niveis de schema do grupo ANSI-X3-SPARK e, através desua aplicacio, nos evar, durante o ciclo de desenvolvimento, 3 convivéncia com trés tipos distineos de modelos de dado: 6 mnadelo canceitual de dados (MCD}, 0 modelo l6gico de dados (MLD) ¢ 0 modelo fisieo de datos (MED) Modelo Conceitual de Dados (MCD) Define-se como modelo conceitual aquele em que os objetas, suas ancteristicis ¢ relacionamentos cém a represeniagao fie! ao ambiente ‘obseruedo, independence de limitagées quaisquer impostas por tecnologias, técnicas de implementacio ou dispasitivos fisicos. Nesse modelo, devernos representar os concsitese caracterfsticas observados emum dadoambiente, voltando-nos simplesmente ao aspecco conceitual. Esse modelo deve ser 0 modelo a ser utilizado para o nivel de conver- sagio, entendimento, transmissio, validagio de conceitos, mapeamento do ambiente, ete, Neste nivel devem ser ignoradss quaisquer particularidades de implementacao, bern como desconsiderada qualquer preocupacio com qual sera o modo de implementagio futura, Assim, nosso modelo voncei- tial de dados (MCD) permanecers inuutével tanto se vier 3 ser implemen 1 nn SGI relacional, como ens tm SGBD hierSrquico. Na verdide, essa establidade € o grande diferencial na utlieagio de uum medelo conceitua de dados. Devemos deriuar diferentes estruturas de implementagio a partie de um mesmo modelo conceitual, e nio crif-lis e tmant@-as separadamiente, Assim, a partir de um MCD poderemos, a qualquer instante, derivar um modelo para implementagio em SGBD re- lncional Se, faruramente, nossa necestidade no for mais de um modelo relacional, descartaremos o modelo derivado, voltaremos 20 modelo con- cenual original, aplicaremos outrasregras de derivagio e poderemos ter um ‘outro tipo de modelo novamente derivado. Junto as mecodologias de desenvolvimento de sistemas ¢ implemen- tado por ferramentas CASE, esse modelo surgiei sempre associado is fases de andlise¢ nuncaas fases de projeto. Isso porque nesse nfvel de modelagem de dados ainda nao temos interesse em modos de implementagio ou outras, caracteristicas de construgio, Mais especificamente no easo das ferramentas CASE, modelos dessa naureza se destacaria no segmento de UPPER CASE, ou seja, nag _s que atuam em etapas que antecedem.o préprio. ciclo_de desenvolvimento de_sistemas. Assim, ferramentas CASE que atendam as etapas de planejamento ¢ anise estardo implementando esse tipo de modelo durante seu trabalho de diagramagio. Nocaso de projeto de bancos de didos, deveremos estaratentos a ndo construirmos nossos modelos jé como modelos légicos de dados. Apesar de isso ser possivel, ¢ até muitas vezes induzido por algumas ferramentas CASE, devemos, mesmo que num primeiro instante nao nos pareca ne- cessério, construir os modelos conceituais de dados que antecedem a fase de projeto dos BDs. Caso passemos direto 3 construcio dos modelos, logicos de dados estaremos nos limitando a utilizar no processo de mode- lagem somente os recursos disponibilizados por uma ou outra tecnologia de implementagio, Ouito ponto importante, que jusiifica o investinento na crigan do modelo conceitual de dados, € que o esforco feito para sua geracao ¢ igual ou, muitas vezes, menor que o realizado para gerar o modelo légico de dados. Nio precisaremos, durante su elaboragi, estar preocupados com, aléma de conhecer, entender ¢ representar 0s objetos observados, respeitar as regrasclimitagées dessa ou daquela tecnologia. Poderemos nos concer trar puramente no aspecto conceitual obtendo mais e melhores detalhes sobre os objetos que nos interessann naquele instante. Se desejarmos, por outro lado, aplicar a modelagem de dados a outras finaldades quenioa de projetsr bancos dedados,obrigatoriamente deveremot rcs utilizar de modelos conceituais de dados. Regraselimitacoes de tecnologia ‘no nos interessam nesse caso ¢, por isso, deverdo ser descartadas. Modelo Légico de Dados (MLD) Define se con modelo lgico de dados (MLD) aul objetos, suas caracieristicas e telacionamentos.t2u.a representagio. de acordo com as regris de implementacio ¢ limitantes impostos por algum tipo de tecnologia. Essa representaga0, por sua vez, € independente dos Aispositivos ou meios de armazenamento {fsicodasestruturas de dados por dla definidas. Esse modelo deve ser 0 modelo elaborado respeitando-se eimplemen tando-se conecitos tais como chaves de acesso, controles de chaves duph «cadas, itens de repetigio (arrays), normalizagio, ponteiros, headers, inte- sridade referencia, entre outros. Estas sio preocupacoes necessidades somencé relevanies a0 MLD, jamais 20 MCD; portanto, devem ser abor- dadas somente neste instante. Durante o processo de desenvolvimento de sistemas eimplementado por ferramentas CASE, esse modelo estard sempre associado a fase de projeto. Muitas ferramentas CASE que atusm somente no nivel LOWER- CASE implementam somente esse tipo de modelo, nio favorecendo 0 em que on copie 2 29 cs desenvolvimento de um modelo conceitual ov tentando fazé-le._.ravés do proprio modelo logico. O madelo ldgico ¢ bastante voltado& implementa~ ‘10 sob o ponto de vises de sistemas de informacio, nio sendo, portanto, indicado para aplicagdes que extrapolem a rea de informitica, como ja vimos. ‘A-obtengio do MLD se dari pela aplicagio de regras de derivagio solve um MCD jf vonsteutd, Hxsas eyeas serao devidamente tratalas nos préximos capftalos. Este ser4 tipo de abordagem de obtengao do modelo Iogico que defenderemos, baseados no fato de que, como pré-requisito,jé ‘stabelecemos a necessidade de elaboracio de um modelo conceitual Muitos autores e metodologias que nao prestigiam 0 papel do mode- lo conceitual de dados tm definido que 0 método para a obtengio do modelo Idgico é 0 pr6prio processo de modelagem criatva. Através desse ‘outro enfoque, partimos para a observacio dos objetas ¢ jé no primeiro instante quando uma representagio seja possivel utilizamos os conceitos € restrigies do modelo légico escolhido para construir, entio, 0 suposto modelo de entidade-relacionamento, Devemos lembrar que esse modelo rio estaré somente preocupado com a representagio dos objetos observa- ddos, mas também com a representacio de conceitos necessirios a imple- mentagio tais como chaves, métodos de acesso,formatos de campos, etc. Isso significa, em gltima andlise, que do ponto de vista formalde definigio «ly ahotaagem entidade-relacionamenta, proposta por Chen, esse modelo sao se enguada fielmente como um modelo EK. Modelo Fisico de Dados (MFD) Define-secomo modelo fisico de dados aqueleem quearepresentagio dos objetos € feita sob 0 foco do nivel fisico de implementacio das ‘ocorréncias, ou instancias das entidades e seus telacionamentos. O conhe- wento do modo fisico de implementagio das estruturas de dados é ponto bisico pata o dominio desse tipo de modelo. Cada diferente SGBD poderi definir um diferente modo de in rmentacio fisica das caracteristicas€ FeCUES0s necessarios para o armazena- mento e manipulagio das esiruturas de dados. Em alguns casos, um mesmo SGBD em diferentes ambientes de sistema operacioral poderd ter diferen- tes métodos de armazenamento e manuseio de suas estruturas de dados. |ss0 ¢ [sell de ser constatado quando analisamos um SGBD que tenka sua imple por cxemplo, emambiente DOS, UNIX ¢ VMS, Ein cada tum desses ambientes, existiio diferentes estruturas de armazenamento, ‘enderecamento, acesso ealocacio fisica. Isso significa que, em alguns casos, uum mesmo modelo logico poderé estar mapeado de diferentes modes em, cada um dos sistemas operacionais, No modelo fisico podem ser incudos dois nfveis de representacio. (© primeiro deles diz respeito as ocorréncias ou instinciss, seus relaciona~ ps a Malone J mentose disposigi ica de elementos. O outro diz respeito Lalacagio de «spagos fisicos nos diversos niveis de agrupamento posstveis:tabelas (: quvor) locos inhas (regisros) ccolunas (campos). ~s = Integragio da Arquitetura de Trés Nivels com a Abordagem E-R Pelo que jé pudemos definir aié 0 momento, pode ser verificada que tuma incegragio entre aabordagem de modelos conceittal,l6gicoefisico ¢ 4 proposia do grupo ANSL-XS-SPARK € possivel se forem estabelecidos os nveis de projet conforme o diagtana a seguir ye Assim poderd ser constatado que, partindo-se de um mundo obser sade, compost porscus objeto elibonanents paleeino divi modelo independente de tecnologia (relacional, rede, hierirquica). Este mo- delo poders ser derivado para Wa eedo egico que ae : vez serd dependente de modelos fisics de implementagio. ‘A cada um dessesniveis de modelagem serio associadas téenicas de representasio grifica e métodas e de especificacio de schemas. Este tipo Corhuo:2 1 dle esprvializagan para cada im dos nfeisfaré com que sejam necesstios Caanfecinicntas espectlivos pata o entendinente € munipulayto dos ele mentos envolvidos em seus escopos. [Nos préximos capitulos estaremos desenvolvendo essas habilidades através do watamento de cada umm dos nfveis em profundidade 5 Modelo E-R ‘A Abordagem Entidade-Relacionamento Em margo de 1976, Peter P. Chen publicou um trabalho intitulado “The Entity-Relationship Model: Toward the unified view of data’," no qual definia uma possivel abordagem para o processo de modelagem dos, dados. Esse trabalho, ap6s sua divalgacio e ampla acetagio, passou a ser considerado como um referencia! definitivo para o processo de modelagem de dads, A abordayen eutidadle-relacionamenio € compesia de uma t6e nica de diagramagio e deum conjunto de conceitos que devem serentendi- dos e respeitados, A técnica de diagramagio € bastante simples ¢ serve como meio de representagio dos proprios conceitos por ela manipulados, Utiliza, basica ‘mente, um retingulo para representar as entidades, um losango para repre- sentar os relacionamentos e baloes para indicare alocar os aributos. Abordagem Eniidade-Relacionamento emoave 1 ENTIDADE 2 ‘abu 2 © Embasamento para 0 Modelo E-R ‘A proposta original de Chen, que se estabeleceu e mantém-se extre- rmamente atuaizada até os dias de hoje, baseia-se em um principio que a ‘tora ao mesmo tempo completa einquetionével:aformalizagio do ébvio, Aparentemente, esse pode parecer um meio um tanto simplista de sedefinir todo o embasamento conceitual no qual se baseia o modelo de entidade-re- lacionamento, Entretanto, é justamente por apresentar essa simplicidade e crptuos 33 ‘objetivicude que a abordagem entidade-relacionamento possi ta fle- aibilidade ¢ adaptabilidade, Ao contririo do que possa parecer, essa & sua maior qualidade. ‘Aoobservarmos o modelo proposto por Chen, podemos verificar que basicamente o que ele define, em outras palavras, €0 que chamaremos de A Lei do Mucndo: "A Lei do Mundo (© mundo esté chelo do coisas que possuem caracieristcas priprias © ‘qua se relacionam onira si Extremamente simples, mis, a0 mesmo tempo, extremamente cor- reta, Ninguém, em tempo algum, seri capaz de demonstrar algo contr isso, sea no mundo microseépico ou macrosc6pico. Chen, ébem verdade, pprocurow nao usar o termo “coisas”, 0 que tornaria sua proposta muito informal, preferindo substitu(-lo por “entidades’, que denota de modo igual os objetos ou elementos observados. Chen teve a chance de observar e enunciar aquilo que todos jésabiam mas estavam incapacitados de aplicar de modo concreto ao processo de modelagem: “Observamos, manipulamos, reproduzimos ou simulamos coisas, seus relacionamentos ¢ caractersticas e, portanto, assim devemos representé-las!” Reconhecimento dos Elementos no Ambiente Observado Utilisando se ch “Lei do Manda, que representa © embasamento sirico panto niodelo de entidade-telacionamento, iremos procurar iden- tilicar ¢ conceituar alguns elementos de nosso interesse: as entidades, os relacionamentos ¢ os atributos. Futuramente, reremos que outros clemen- eae ee Vee codes caplcaua se sodalo BL clement farao parte de extensdes do modelo proposto por Chen ¢ estario sendo utilizados com a finalidade de agregar mais semantica a0 modelo a ser construido, Esses novos elementos servirio, também, de meio parauma representagio voltada ao ambiente orientado a objetos, dentro do enfoque informagio. Jinimos, 0 processo de modelagem pressupéea existéncia 1 ambiente, a ser observado. A fase de especificacio de prio processo de observagio acabario por definir que nivel taré sendo utilizado, Entretanto, independentemente de »nossa visio sobre um objeto ou sobre todo um ambiente confrontados com os mesmos elementos de interesse ode mondelager, Modo ER Dentro doenun loque definimos paraa “Leido Mundo”, passamos entio a identiicar os seguintes pontos de ineresse: 'O Mundo Esta Cheio de Coisas” Define que dentro de um universo observado (O Mundo) estaremos reconhecendo objetos (Coisas). Esses objetos estario sendo percebidos como elementos individvalizados mas, ao mesmo tempo, poderio ser en- 4quadrados em um conjunto ou categoria em funcio de suas semelhancas. Esse conjunto, fururamente, dependendo da abordagem dada ao processo de modelagem, poder vir ser definido como entidade ou clase. Eo ‘Ao observarmos um ambiente de produyio de uma fébrica, nes defrortaremos con: ‘¢ Miquinas de predugio de pogas. ' Funcionérios operadores dessas méquinas, © Conjuntos de ferramentas ulizades dara operar as méquinas. ‘© Procodimenios do operagdo a serem executadoe. ‘= Procedimenios de verficarao de qualidade das peras procuaicas. Miquinas recuporacoras do pogas Funsiondros responséveis pela vritcagie da quaidade das pogas. (© Pecas produzides nos mais dversos frmatos. DDentte esses elementos cbservacos, poderemcs perceber a exstencia de Vitios conjurtos distintes de elerontes, eno oles © MAQUINA. Que roprosonterd todas as méquinas obsarvadas, indopen: ddentomento de suas cferentos apc ayen, ou dea quem aa opr. '* FUNCIONARIO. Que representard todos 08 luncondrios, Indopenden- ‘omente de suas fungées ou das maquinas com ae quaie eeteja anvowvide, '* FERRAMENTA. Quo reprosenterd fodas as feriamenias exstontes, indo: Pndantamante de sua finaidados ou uso, © PEGA. Quo reprocontard todos 08 tipce de pozas produzidos om qualquer ‘ipo de maquina, por qualquer tunconerio e por qualquer processo. 2. “Que Possuem Caracteristicas Proprias” Define que para os objetos identificados em nosso universo, em nfvel individual, estaremos percebendo caracterfsticas comuns que 0s levario a ser enquadrados em conjuntos particulars. Essas caractersticas so ine rentes 2 todos os objetos de um mesmo conjunto e assim deverio ser repreventadas, Todos os objetor (elementos individualizadon) que poxsuann opto 3 35 uma mesma caracteristica serio denominados, si do conjunto ao qual pertencam “Canseiho Regional da Medicina’, *Conselhn Regional de Cdontoiogla®» *Or- ‘Jom don Advoyauton do Bras warto objtoa, ou olomanios Indvidualzados, postoncontes a coajunto danominade ORGAO NORMALIZADOR. "Jodo", Pedro, "José Maria” o"Ana’ serdo objelos, ouelementos indviual- 2ndos, portoncenias a6 conjunto deneminado FUNCIONARLO. wer Motors do Bras no se enquacraré nom como ORGAO NORMAL- ZADOR rem como FUNCIONARLO, pis possu caracterisicas dlereciades {ue 8 fazom portencor 20 conunts quo engioda 8 objetes do tipo FABA- Canre. 3. “E Que Se Relacionam entre Si* Define que entre os objetos, ov entre 08 conjuntos, existirio inter-re tos (Se Relicionam) particulates estabelecidos em fungio de ‘wus pripriay caracceristieas, Eases relacionamentos sao inerentes aos ebje vos le un da conjunc assim deverae see eepresennados, Os rel mentos poderio estar sendo observados entre elementos individualizados de diferentes conjuntos ou entre elementos individualizados de um mesmo "oto 6 crodonciado polo Censelhe Regionale Medizin’ é umrelacionamento tentte elementos incvdualizados (030 @ Conselho legional de Medicina) ce dtorontoe corjuntoe (FUNCONARIO, ORGAO NORMALIZADOA), “Jodo 6 substiuto de Pedro"é um rlaconamentoestabelacid arte elements indviduaizados (Joo © Podro) de um mosmo corjunto (FUNCIONARIO), "Consotho Regional de Odontologia roporta-se ao Coneetho Regional do ‘Nodicina" & um rolacionarnanto erire elamantos Indlvidualzados (Conselho eqicnal de Odontologia @ Consalho Regional da Medina) da un masmo ‘oft (O1NGAG NOH MALIZADON). Partindo-se desse ponto ¢ aplicando-se © principio da abstragio, poderenios chegara elaboragio dos conceitos necessérios dentco da abor- ddagem entidade-celacionamento: a6 Medio ER Coneeito Basico na“L.. | Abordagem do Modelo ‘do Mundo” EAA (Modelagom do Dados) Conjunto de otjetos, ou Entdades elomartes Indivuaizados, somolhanten Indviduatzagdo do Inoidnclas ov Ocortncae| dptoo ‘objatos ou alementos, Caractersticas prprias ‘Atributos Avibutos Intersalacionamento de | Roacicnamantos, Assocaeéos objotos Entidades Identiticagao de Objetos (Entidades ou Classes) Dentre as diversas estratégias para reconhecimento e idemificagio de cobjetos pars sua posterior slocagSo em conjuntos (entidades ou classes), vamos apresentara proposta por Shlaer & Mellor no livro Objec-Oriented Systems Analysis, Modelling the World in Data Hissacatradyia define que deverennus prox urar reconecerobjetus, eat elementos individualizados, através da observagio de cinco grandes grupos de elementos: © As coisas tangiveis. © As fungdes exercidas por elementos + Eventos ou ocorrénciss Inceragées. © Especificagbes Shlaer & Mellor procuram deixar claro que essa abordagem nio.ne- cessariamente implica a definigio formal de um processo de classificagéo de objeros. Parafins didsticos «para nivelamento com exteatégias de outros autores, chamaremos essa separagio em grupos de clasificegto. Outros autores propoem outras classificagées possfveis ¢ apliciveis de maneira similar, Basicamente, o resultado final da aplicagio de wma ou fora esiratéyia deabard por nos evar ao reconliecimeats dos mesmos elementos, Na verdade, ap6salguma experincia com o proceso de mode- lager, esse reconhecimento passaa ser intuitive, ndo necessitando mais de tuma busca de enquidramento em uma chssificagio formal qualquer. As classificagdes propostas tém como objetivo servir como umm meio de discernimento para casos nao facilmente enquadriveis ou mesmo para verificagio e validagio do processo de modelagem. captso3s ar [Ahordaremos cada um dos cinco grandes grupos, procutando cant serid-lose exemplifici-los, Ao final dessa exposicto, voot seré toda a infor. magio necessiria para ientifcar e agrupar os objetot em seus conjuntos, Colsas Tangivels Como o préprio termo define, tangivel & tudo aquilo que pode ser roeado. Assim, o grupo de “coisas tangiveis” engloba todos os elementos que terham existéncia concreta, que scjam manipuléveis, que possam ser Tocados, que ocupem im lugar no espago, ou qualquer outro tipo de visio {que nos leve a consideri-lo como fisicamente exisiente. Conjunto (enticadele. Objet0s Que Pertencem ao Conjunto UTENSILIOS ‘a gariafa, ammesa.otelefone, os vidios, 0 Tro,» pis, a boracha, © quadro, © dlsquste, a chavo, a mala, eo cerisns, ‘canoea do dnhoito, agenda ANIMAAIS ‘cavalo, os elolantes, o cachorio PRODUTOS. ‘aio, 0 automével, os computadores, a maquina do oserover Por outro lado, um nivel poderia ter observado virios a abstracio extremamente especializado ics, virios automéveis, virios envalos ¢ astim por diante e ter criado 0s seguintes conjuntos \Umaviaoajato,um cavalo puo-sanguo, um iwode feq, umagarraa térmica, tin chavo dh posta do ona, olan proto, eu borracha usa, 08 compu tadotos da rode, o dlaquoto de damorstao, un quadio-negro, eva méquina ‘ce acerover, 0 cachorro dabarmann do vito, a mesa de taba, o tletone Sobre a mesa, a mala que transporta seus rertences, as camisas manvadas tintuaia 0s del vidios do compota quo quedraram, uma carrera do dinhoito ordi, sua agenda de compromicaoe, 0¢ olotantes do cleo, sou automvol ov. ete © agrupamento desses ebjevos em conjuntos (entidades ou classes) dependeri do ponto de vista adotado pelo processo de modelagem. O nivel de absiracio a ser adotado para o agrapamento podera ser de maior ou menor grau, © que nos levari3 formagio de diferentes conjuntos. ‘Com um nfvel de abstragio maior, ou seja, desconsiderando maiores dotalhes, poderiamos dentre os objeios apresentados definir os seguintes conjuntes: Conjunto entidadalctavse) | Objotos Que Pertoncom no Conjunto MEIO DE TRANSPORTE ‘aviio, « aulomével ANIMAL cavalo, os eleantes, 0 cachorro UTENSIIO DOMESTICO a garafa, a mesa, 0 telefono, 08 vidros UTENSILIO ESCOLAR Colivro, 0 lapis, a borracna, 0 quacro, © Sequote EQUIPAMENTO ‘ce computadoros, maquina do eserever PEATENCE PESSOAL ‘chavo, a mala, as camicas,acartira de ‘meio, aagenca Outro nivel de abstragéo, mais generalist ainda, poderia simples- finido os seguintes conjuntos: Mati Conjunto (entidadelel Objetos Que Pertencom ao Conjunto AVIA todos 08 examplavos de avioos observadon Irdivdualmorio AUTOMOVEL, tedos os exomplares de automéveis, ‘bservados independentennte de sua ‘area, mogolo Ou tbo CAVALO {edos 0s exernplares de cavalos observados, indepondentomerte do ua rape Com esses exemplos, pode-se verificar que mesmo dentro do grupo de COISAS TANGIVEIS, que seré aquele que teremos maior facilidade ‘em identificar, existem possiveisniveis de abstragio a serem aplicadas a -efinigao dos conjuntos de nosso inceresse (entidades ou classes) Esse nivel deabstragio, que nos levarda difecentes niveis de agregagio dos objetos, deveri ser definido em funcio da abrangéncia definida no pro- cess0 de especificagio dos requisitos. Veremos, mais a frente, que conjuntos que demonstrem general acts de objetos, tl come UTENSELIOS que define no ultimo exemple, qualquer tipo de uienstlo seja ele doméstico, escolar ou pessoal, poder vir 2 ser melhor explorados com a utilizasio de recursos adicionais junto aos elementos basicos da abordagem entidade-relacionamento Fungées Muitas vezes percebemos os abjetas, ou elementos individualizades, através da fungto por eles exercida, Nesses casos, um objeto que, muito provavelmente, estaria sendo caracterizado como uma COISA TANGIVEL passaria ser enquadrado na clssificagio de FUNGOES. Por FUNGOES, definiremos todo o tipo de papel, aribuigio, casi «ago, capacitagio, ou outrs caracteristica qualquer que, para um dado ele- awit 49 men, perign noone max wa angio no ah «em ue (0 médico cirurgito, um engenteiro naval, um departamento de compras, seu profescor de inglés, 0 autor do um lv, a gorércia de supers técrico, a focepcionisa do hotel, um méckce podietra, a se50 de despachos do material © gpionte do hotel, um paciorta que 6 aloncdo, 08 alunos da uma escola, et. Pode-se perceber que, nesse caso, existem FUNGOES sendo desem- penhadas por pessoas (0 médico, 0 avtor, etc.) ¢ por Orgéos funcionais (0 epartamento de compras,a geréncia de suporte técnico, etc.). Esse tipo de visio deve ser mantida em mente, pois serf bastante freqdente 2 aparigio desses tipos de objetos, ‘Também com relagio i formagéo de conjuntos, nesse caso, deveremos levar em consideracio o grau de abstracio definido na especificagio dos requisitos da modelagem. Se essa abstragio for, por exemplo, de ako nivel, poderemos definir os seguintes conjuntos: Conjunto Objetos Que Pertencem ao | COISAS TANGIVEIS (entdadeictaess) | Conjunto Mapeadas como FUNGAO ESPEGIALISTA | ombdcocinrgido, omédco | PESSOA | ediatra,« engentiare naval, 0 wutor dom io @ | ORGAO FUNCIONAL ORGANZAGAO | um departumenio de compre {gerencia ce suport ecco, Sepio da despachos de ‘morsedoriae | ATENDENTE ‘o professor de ings, | Pessoa 2 gerente do hota | a recepciensta do hotel CUENTE os alunos, opacienta PESSOA Nesse caso, vimos que grande parte das fungoes detectadas foireativa 2 papéis exercidos por PESSOAS. Essas pestoas, caso tivessem sido ma- peadas como COISAS TANGIVEIS precissriam, eventualmente, em al sum instante, ser qualificadas como médicos ou pacientes, professores ou alunos. Desse modo, aexplictagio de suas fungies jf um primero instante ‘lamoalebgem pode ser vista, conceitualmente, como um hom recurso para solienn ae dle maior semdntion ans todo. Caso no cxemplo anterior procursssemos utilizar uma abstragio de nivel mais baixo, poderfamnos ter definido muito mais fungBes. Nesse cas0, “ Modtlo ER teriamos muito mais ( _nentos semanticos em nosso modelo conceitul Devemos, entretanto, etaratentos 20 nivel de abstracio desejado para no Poluir nosso modelo com elementos desnecesséries. Um exemplo do que poderiamos terobtido se nosso nivel de abstracdo fosse bastante baixo sera: Conjunto, bjetos Que Periencem | COISAS TANGI (entidade/ctasse) | a0 Conjunta Mapeedes como FUNGAO, MEDICO ‘omécieo chug PESSOA méico pediava ENGENHEIRO Co angonheir naval PESSOA AREA DE COMPRAS | 0 departamento de (ORGAO FUNGIONAL compras PROFESSOR © protessor de inglés PESSOA AUTOR © autor do iro PESSOA AREADE SUPORTE | agerénciadssunerta | ORGAO FUNCIONAL Eventos ou Ocorrénclas EsPosA fis um MAPIDO a @ casa com una ESPOSA ,tanbi, una ‘80 esiard casada com um MARIDO. ee oss Os telacionamentos de grau 1:1 sio bastante dificeis de ser - terizados, pois qualquer mudanca de interpretaci ou visio pode fazer come que facilmente eles sejam questionados ¢ até re si los. Nos pre ‘xemplosdidos, alate poderalevamarpanten tascam, Promos Caytnlos a Percebs que também no caso dos relacionamentos 1:N teremos que ter claramente observadas ¢ mapeadas as regras de associagio entre os ele tnenos, Pequenas mas diferentes interpretagées poderio fazer com que um felacionamento do tipo 1:IN possa evoluir para um relacionamento M:N. No ultimo exemplo dado, o que aconteceria se: 1. Uma turma viesse a ter uma professora assistente durante um certo iimero de aulas em que fosse executada uma atividade tapecial que demandasse atengao de mais de uma orientadora? 2. Uma turma tivesse uma professora no primeira bimmestre ¢ outea no restante do perfodo em fungio de troca de contetdo progr rmitico, ou especialidade de ensino? No caso de migragio de um relacionamento 1:N para M:N, além das transformagBes semnticas que isso implica, reremos também mudangas radicals nas estraturas de armazeramento de dados caso, no futuro, pense- tmos em utilizar esse modelo para construir uma base de dados. Assim, € bastante importante que se estabeleca corretamente o grau de associagio entre os elementos. Convém frisar que, em fungio de umapossivel evolugio Uo rclacionamento, pode ser importante prever jesse relacionamento com fogeau MN, entretanto estanao deve ser uma regra. Muitos relacionamen- {os sio ¢ sero sempre do tipo 1:N. Mapes-los como MAN, apesar de pos- sivel logieamente, seria semanticamente incorreto. Conceltuagao de falaslonamentos MN Um relacionamento entre objetas que apresente o grau M:N repre- senta uma associagio de clementos onde, teoricamente, nio hé restrigio ‘quanto As possiveisligagbes « serem estabelecidas entee os conjuntos A € B. Quando nos referimos 4 nfo-restrigo entee as associagdes estamos, na ‘verdade, nos referindoas restrig6es jé apresentadas nos zslacionamentos de gu 1-1 ¢ L:N, Num relacionamento MAN, por definigio, um elemento {qualquer de um conjunto A pode se associar a 0 (nenhum), 1 (um) ou N (virios) elementos do conjunto B. Por sua vez, um elemento qualquer do conjunto B pode st associa, também, a0 (nenhurr), 1 (em) ou N (varios) elementos do conjunto A. ‘Em termos de estrutura genérica de represemtagio de elementos, po- demos considerar um relacionamento de grau M:N como uma associacio ‘matricial, onde nas colunas temos os elementos do conjunto A.cas inkas ds element de-conjunto B, Cada una ds intersegies, neste caso, denota «un possivelrelacionamento cntie A eB les [a [os [oe bt x te « v3 sie | bs x bs x x be. : alsa Caso observissemos os dois conjuntos Ae Bsob outra representagio, terfamos que 4 cada elemento do conjunto A associarfamas N elementos do conjunto Bque, por sua vez, poderiam estar associados a varios elemen- tos no conjunto A. Assim, a matrizanteriormente wtlizada para demonstrar as associagbes entre os elementos do conjunco A e B poder ser vista como: ‘conn & contunTo 8 ercebs que nio hf obrigatoriedade de que todos os elementos do con- junto A tenham varios elementos do conjunto B associados a ele. Alguns podem nfo ter nenhum, outros ter somente um, ¢ outros terem vitios. O imesme {ato é valido com religio 20s elementos do conjunto B. O que define 0 grau M:N em um relacionamento € 0 nimero mdximo de asso- ciag6es, ov seja, podemos ter até N elementos associados, mas devemos lembrar que Oe 1 também pertencem 20 intervalo de niimeros N validos, que teoricamente varia de zero a infinit. utra consideracio imporsante a ser lembrada €0 porqué da denomi- nagio de um relacionamento desse género como M:N e nio MM. Utili- zam-se diferentes letras para que explicitamente fique denotado que as duas grandezas sio totalmente independents. Iso significa que, por exemplo, Se um elemento do conjunto A pode se relcionar com até 10elementos do conjunto B, um elemento do conjunto B, ndo necessariamente, precisara também se rclacionar com até 19 elemencos do conjunto A, Uni elemento do conjunc B poderia se elacionar com, no miximo, somente 2 elemen- tos do conjunto A. Nesse cso, terfamos M=? e N=10, anne a x jue om cevorre do mais de ura moselidade rio pod sex pratiado For poie um ATLETA pode dedicares & price Peon (or axa, 2) riba in dado Po" fdversos alletas 4 ig ‘Auno Nesse telicionament, pademos reconhever vitios elementos ites 20 entendimento do telacionamento mapeade: # Sahemos que existe uma escola ‘+ Sahemos que existem alunos. + Reconhecemos que “uma escola atende a virios alunos”, ‘* Reconhecemos que “um aluno € atendido por uma escola”. Mas, e quanto as perguntas adicionais que poderiam nos ser feitas ‘+ Toda escola tem que obrigatoriamente atender pelo menos 2 urn aluno? ls : + Alguma escola pode nio atendera aluno algum? ‘¢ Umaluno deve obrigatoriamente ser atendido por uma escola? ‘* Algum aluno pode nao ser atendido por escola alguna? Perceba que, para as perguntas apresentadas, 0 modelo mapeaito nav apresenta respostas. Pior que isso, as respostas podem depender doambien- piso 9 ‘- ‘* te observado © mapesdo, Para uma pessoa que imagine uma - 1agio, a8 respostas podem ser uma, e para outta pessoa, com idiase visoesciferen- tes, 8 respostas podem ser ourras, Precisamos de algum modo enriquecer nosso modelo fazendo com ‘que dle deixe de apresentar possbilidades de diferentes intexpretagécs. star a semdiniva de nosso modelo fazendo com que 38 Previnans respostas 3s perguntas [eitas nko dependam mais de interpretagto pessoal nas sim de observacao do modelo, Paraesse fim, serd tlizado o conccivo de rclacionamentos condicionais eincondicionais. Relacionementos Incondiclonale Nos relacionamentos incondicionais nfo sera denotado nenhum tipo de opcionalidade quanco partcipagio de elementos nas associagbes. Nesse tipo de representagio precisaremos de informagBes adicionais para reco- tthecer se o relacionamento sempre segue o grau descrito (1:1, IN, M:N), 0u se, por omissio, existem regeas de excegie nfo qualificadas Os relacionamentos apresentados nos exemplos, até o momento, se- guiam esse tipo de representagio, nio por ser esta a mais adcquada, mas para fins de facilitagio do entendimento, Esse recurso foi utlizado para possbilitara progressivo aumento de detathamento doassunto ¢assegurar unis melhor fixagio dos conecitos hisivos, Ressaltamos, fovtemente, que «sve tipo de representagio tem baixo valor semantico e deveserevitade pata fins de modelagem conceitual Relacionamentos Condicional A representagio dos relacionamentos condicionais garante ao leicor do modelo que 2 incerpretacio do modelo possa ser 2 mais fiel possivel Nesse tipo de representacto estaremos, graficaments, demonstrando quan- do um ou ouero elemento permite a auséncia de associagics. ars ext fim deveremo ntrdiir mis um cone importante ma qualificagio de um relacionamento, Até agora jd havtamos visto 0 conceito de grau do relacionamento. A partir de agora, devecemos expandir esse con- «cito e pensar em dois tipos de grau minimo e méximo. ‘Ogque denominamos de grau miximo parafins de detalhamento, nada 4 € do que 0 conceito até agora utilizado, ou seja, a determinagio de Ieicionamentos conto associagées 15h, LIN € MAN, O que estarenios in- troduzindocome nove conceit ser4 grav nino, ou sj, qualé 0 menor valor possivel de participagio dos elementos do conjunto A e B no re. hocionamento. ‘Assim, um relacionamento, por exemplo, de grau 1:N, tal como o de “ESCOLA atende a ALUNOS”, poder ser qualificado como 1,l:1,N. Graficamente, terfamos: - Models 6-8 ‘uintes carscvertsticas: A do elemento do eon 1 do conjanto A (ESCOL, B(ALUNO) seo gr mining een (vitios Fespostas 4s perguatas antes fetas serior auwno | = Semanticamente, podert 105 Podertamos inespretr esse relacionamento como: Uma ESCOLA atende de 1 aN A} S lede 1 aN ALUNOS Um ALUNO € atendido por 1 on ESCOLA Ou através de outro modo de leitura Uma ESCOLA deve acen ese ader a pelo menos 1 ALUNO ¢ atéN Um ALUNO deve seratendido por umae sé uma ESCOLA Ou, sind: Uns ESCOLA orig Um ALUNO shrgorsente se a EEN OS Todas essas interpreta «So feitas baseadas na observagio d ow m1 masine ‘9a minine pea nora ech fe te FePresrnao, estaremos sempre partnde de um : A) dein junto a0 conjuneo ‘renhum aluno), 1 (um aluno), ou N exemph entio, qe ilo dido, entio, pode-se pereeber que as ahinos). Pata o ¢ a aluno? pete enced tern que cbigaroriament® ayender a pus menos um SIM, grau minimo 1 (11:1N) Jo aender a alu algun? 1 (1: LN) Jen uno deve obrgavoramente ser stendide Por Un 1 (AEN) guna escola pode R: NAO, grav minimo escola? P: Ru: SIM, grat minimo i Algum aluno pode nio secatendie por escola alguna? KL NAO, grau mainimo € 1 (ih1eDN) sso 0 ambiente por nos abservade Fosse oUtos poderfames ver di- c representagoes ferentes casos © todo aluno # Ua ESCOLA pose tenders PN ALUNOS, mas ar atendido por una ESCOLA (110.N)- «Uma ESCOLA pode tender de aN ALUNCS 02 nem ALUNO serdatendide por uma ESCOLA (@1:0N) «tian BICOLA deve ender de TaN AUUNOS. 8 * orden por uma ESCOLA (1:4N) re toda vex que nos intere ‘lemento em um relacionament iz asxociacio serd 0. Por outro 40 obrigatéria de um imo o valor 1. todo odo Pode-se perceber, portanto, qu sse qualficat aopcionalidade de partiipasio de umn 10,0 rau minimo 2 9eF Tido, sempre que qveira lemento nas asosagees aeribuido A participasio smos denotar a participadé eau mini ‘devernos utilizar como Traate do ate particpacao ou opcionalad. Dros a pos cl page 1 idk a obrietanio ‘omo grau mi ve podemos utilizar Nalores diferentes de 1. Neste seat ritamente precsosquantods (aasde valores aceitiveis am por um ad pode ae bastante inereuas Fo aes rape, as que, por oto lado, pode Te Cara clo muito suscetvel a mudancss. Ese Uo ide notacio é bastante fafrequente, apesar de semanticamente com coy poranto, podeserutizada doves de um mo- Dra fins semanticos, eventualnet imo, para denowr a obripatoriedades em urna associaGiO, © caracterizara eal situa tras, com certeza, causara bastante cstranhera. 208 ODSerVa dela que siga esse padrio. Modelo ER dorota que uma ESCOLA, ‘tence ao miimo: pee er ae eran etc eee gegen i camp ieee om me ini teenie ain enero ovrN cho ae ea aon a seams = Nal does aaa ee eee i mec (stato AHO denota que uma ESCOLA ; otrotau rs fo aai a a ane ee eee Es 5s tipos de notacio também si sew lace eerie aces ie re annoy ses can eae eee eee fie racine: arate 1 fara he vales fone deg ili ice Gatien eevee Gira cueaeeeircanrWeceel: ago s6 podem assum valores 0 | copie 3 0 wltanea de Relacionamentos Jos dados que um objeto pode vic + o com diversos outros, Esta c2rac- sera preciso, pa fins SemANticD®y fo impacta, ou impede, 2 ‘ouanto & Existéncia Sim Javimos através de alguns exe atabeleverrelacionamentos simltinen sea levisnos ama sivusgio na ql efiir quando esieténcia de uma 2#72%% txisténeis de OUT ‘Dentro desse enfogs de associagbes existentes entre objetoF 1 poderoscaacterzar, basicamente, wes tiPet «e Relacionamentos indepenidentes: ty canine ES fe Relacionanient mente exclusives © Relacionamentos muta olaclonamentos indepandentes ‘Aclasse de elacionamentosque se enquain) COPY dotipo indepen- genes caracterizada por agruparcodo ¢ quake elacioramento que POSS den ariel sem que bla necesiade de svaliagio sinulténes de ve 1 eocarnrasl Tinea de coven WETS ppodendo ser ¢st2- Puleeidos tanto entic eatdades diferentes comey também, entreas mesmas entidades. Um exerplo em a ‘dades diferentes pode sF CME NAL DE TY exibe PROGRAMA” € PR oc FORNECEDOR”. Prcebs que cso ‘da assaciagao entre PRC eda associngio entre roe INe CANALDETV évotalmenteindepens PROGRAMA c FORNECEDOR. Fodemos er PROGRAMAS sem p> Fracinio, que continuario a ser exibides noe CANAIS DE TY, e também THRO RAMS cnn pate que por 2 “ehorivio, nio serio exibi- dos em nenhum CANAL DE TV dessa mesma clase de relacionamentos, podera oF se ee FORNECEDOK Imagine que sum CLI JRNECEDORES” mas que, paralelamen'sy ‘om varios FORNECEDORES”, estabelecidos entre as Ouro exemple, cstabeecido entee CLI ENTE € visitado por ' varios FOI han CLIENTE faz cotagto de preses sean. at dis ipos dstntos de relaionanentos, ides nas cotalmente independentes tsendo eonsukados para eotagio de preys yess ‘odemos ter FORNE- CEDORI ‘tanto por cerert ou Maelo ER visitado o CLIENTE i vii no por indicagie de terceiros. Tambéim podem SS GCEDORES antes eas aan um CLIENTE a sejam ineluides no processo de cotagio de pregos eka cuenre 28 tap rornces on <> on Pode-se perceber queo fit perceser que o ato de dois, on mais, felacionamenten se ecules se Pet etic edicrah 3 pti CRVlee ns Kvar cnclusf de que cs sam independents, Por auto ee amentos entre as mesmas entidades também m dey as me re Sica gene cu oeecee te dugters saw. Foley vc Gpanduiins oct heen mento denied dire o igi. eee = omen ino para x eninge de eliconamen- s2sindpendet ei cones doe linarena. Asoc spec moo cies Aree Se se isiret eaten cate tere ee Tembre-se, entrtanc, de que, em s eee eae cin miei vrerenplo-PRODUTO paps impono INSTITUIGAO™ e"PRODUTO € sero Oat is ucieaaie pines ela wast Ul rome deren npn Rca che fie cxclsiodeesiecagtea Sempre uePRODUTO rion yom INSIT- ssid as preg (0 relicions-secom ee ee te shcananet ceeds ea abordagem mas fii oedema efi prs erica de independ cxee linac sine deride do hermes sive de inerdependinca ees, Poem, ns, de> Seecsciariscpuasne ac eon sae os needs See absewado est pase aerirvincle de dependénciacom our re Relacionementos Contingentes ¢ racionameatos que se enquadram na dasse de contngs tty so penaéncia uns com os outros impoem 0 estabele- Jes entre os varios elementos cnvol acho entre dois ow mais re- yas a8s0ciagOes ¢, TA- mmais de umn relaciona aqueles que, tendo de Gimeno simuleineo de associng Nes eos, teremos estabelesido uma corte hee aon avarés da nse da semana de 1 teen. reremos defirido que, como reg do nepssioy reneo deve ocorrer em wm mesmo instante cero de cecogi € bastante tpico om astociagbes Ue PT cam coun avs anes inalidade, mas que envolvem deere diferentes. Suporha que esteamos modelando um sistem, de *Controle da Quali dale”. Em um dado instante, identificamos que °° PROCESSOS exesv- dare, devem sequir NORMAS 150-9000 e, umber CRITERIOS DE SEGURANCA. Sabernos que as associagOes entre PROCESSO € NOR- Tee Te. 9000 iro ocorrerconcorrentemente As ast0ciG0es Cte PRO- ASSO © CRITERIOS DE SEGURANGA. mas, Por S157 clementos ore arc, ato podemot agrapar was cxtas snsoringtes fOm0 Te 6 diferencias, acabaremos or er um model similar ao eaibide Hide se considera, para fins de esclarecimento, que ners ¢S0PE ‘eade ebahrejanon dene male lorionamesiod COR 2 So. onde cat earando de relacionamencos contingentes, Relacionaet ee ok comes ods Ve contmienies Crane so cs iguais podem ndo ser. Como exemple, pedemos tt 0 SA onde noes iu Be pmaprs am PRODUTO® e paralelamente, “um 1° ENTE compra AGOES da companhia”. Perecba que ¢ nome.e o proprio siynifieado do relacionamento “comprar 0 similares mas que no eiemos estabelecer como obrigaténo o fata dé ue “todo CLIENTE, S RODUTOS também compre AGOES da companhia", 00 Mod ER 6 PRODUTO om. on Con gho rer No ong doo ak Como exemplo do plo do caso contriri, onde relicionamentos tows wcrc an PROJETO ten ues ENGENHEIRO lad 0 Pasklanere, «de mode coningens a "PROJETO stende aura REGIAO da cdide™ que nunca teremos um PROJETO com ENGENHEIRO 4 a REGIAO da cidade, Podemos até definir, em instantes dls oa sets Now uo cemst cen eon ee jum ENGENHEINO e umaREGIAO deatendimento, prover y-—?*-*——$fencennen} tN ara echo Aqui, mais uma vex, 0 pont Se ee ee eee ei oe oa alr 0 aed represen cee rn. Reamer ge deat ate tironamente de ee eee cestabelecidos opcio. Relaclonamenios Mutuamente Exclusivos: Dos, ou mais eh ADE a sicionamenion exaelecidos ent os oes de no $9 modelo podem, em fungo de craters propria do ambien cbrerado carcesizarpor seem muamenserclsines. Esse § a ee i rs for estbeleci foeoncron te poled ee da anats de un dos reacoramenos nfo poder Captlo 3 oT aexclusividade st ocessa em for conjuntos de elemertos de vA um elemento al estabelece relagio comum el io poderdestabelecerrelasio vrynnanelementa ct doconjunte Ce "sautr elemento do conjanto A. Por ) ESTAS >| BaD ‘erie pa (ental tha) A representagio de atributos tambem ni re ‘no modelo Cee cand serene ago de speciayesalsonaietasemmeio descr caer screioal Nie er data éafcessionescaractertcas semanas aclercspeciiagha tivo convencional: «,portanto, elementos ais comoestruturasde gente ‘ut agregayao nao existian Mae taelmente,algumas ferramentas CASE, assim como para outras rotacées, implementam recursos grficos ¢ semintices para representagio ile elementos tas como entidades fracas ¢ fortes, entidades associntivas, ‘opsionalidade de relacionamentos, subtipos, et. Esse recursos sio char trados deextensdes das notagaes otigimas. Eles podem ou nfo estar dspo: Iiveis em uma ou outra ferramenta especifca e, se presentes, poderdo disponibilizar mais semintica aos modelos gerados. ‘Aiquns elementosadicionaiseicorradosna metodclogia deBachmen presente ‘Gm uma das foramenias CASE disponvel ne mercado (na verdade, antago futerenciada como Bachmen naeoa foramanta 6 a nctacio de setas cue voramos no primo topo). oa Se sraindatncs italy ade asscnvaratcnnon wpa HoER 146 Me Notagao de Setas Essa notagio € derivada da notagio apresentada no tépico anterior & muita vezes, tem sido denominada também de notagao de Bachman. Nio encontramos na literatura alguma eferéncia que awibua essa derivagio a0 préprio Backman nem tampouco a quslquer outro autor. Alguns autores ¢ ferramentas CASE utilizam a denominaao notacao de setas como um cnominagio formal. Porsanto, utilizaremos aqui também, este termo para diferenciar essa representacio grifica da notacio original de Bachman, © tratamento dado a representagio das entidades e dos aribusos ¢ bastante préximo de todas as demais noragées voltadas a modelos ligicos. Sio apresentados os atribucos “dentro” das entidades, acompanhados de indicagées de chaves primirias ouestrangeira. A idensificagao dos critérios de dependéncia de existéncis ou dependéncia de identilicador no é co- mumente feita, apesar de algumas fetramentas CASE, por jé terem esse recurso implementado para outras notagdes,aplici-lotambém nctagiode seas. (© grande diferencial dessa noracio esté na represeniarao grafica da cardinalidade dos relacionamentos. A indicagio de graus minimos e méxi- mos também nao sera comumente vista e fara a cargo éa implementacio de uma ou outra ferramenta CASE. A cvolugio na represcntagéo original sedeu damaneira: Grau do Noiapio Orgina! Nong do Setee Relaciramante ge Bachan — << “Também nessa notacio, apesa de setratar de uma evolu da notagio ‘original de Bachman, nio existem, em principio, elementos de caracteriza- ‘go semintica adicional (estruturas de generslizacio-especializagio e gre #¢20), Continuam, entretanto, vilidasas observacdes ji feitas vm trlagio = recur especilicos possivehncnte exisentes cnt unna vv outa ferranten. 3 CASE. Cepiics pe Notagiio “Pé-de-Galinha” (Crow's foot) 4A notagio conhecida como pé-de-galinha, ou no original Crow's foot (pata de corvo), nao abrange, na verdade, todo um conjunto de elementos srifices para representagio de modelos de dados, Els somente trata, em txpecial, da notacio utilizada para a representagio dos relacionamentes, James Martin incorporou essa nowaglo junto a outros clementos¢ disseni ‘nou, através de seus trabalhos sobre Engenharia da Informacio, essa nota- {Go que hoje muitas vezes€ tida como 2 notacio de Martin. Na verdade, a otaco de Martin (que veremos a seguir) € muito mais completa, pois incorporaa notagio de pé-de-galinka edi-ihe elementos de semantica adi- cional. ‘Em seu modomais elementar, a notagéo pé-de-galinha wiliza somente duns simbologias grificas para denotar o grau de um relacionamente: ‘© A cardinalidade 1 é representada por vima linha sem terminasio. ‘© A cardinalidade N € representada por uma linha com um pé-de-ga- linha. Rolacionamarto 1:1 A 8 elacionament 1:N s }——~< 8 poe ely (a Notagao de Martin (Engenharia da informagéo) [A notagio proposta por James Martin vem sendo atualizada, com 0 ppassar do tempo, atavés de seus diversos trabalhosj6 publicados, A cada nova edigio, novos meios de representagio vim sendo apresentados. Martin, um dos precarsores edisseminadoces da Engenharia da Infor~ rmacio, sempre deu grande énfase & nevessidade cao papel dos modelos de ddados. Assim, praticamente desde o inicio, jf vlamos em seus modelos clementos de'semintica adicional. Caracterizagbes de graus minimos € méximosde elacionamentos, opcionlidades,subtipos, contingénca ¢exclu- 146 Medio EF sividade de relicionamer__¢ outros elementos jf estavam presentes em sua propostainical, Nio havia muita €nfase a criterios de dependéncias de idercifcaor, chavs ering, chaves prindrias © outros ements voltados 20 modelo ldgico, 0 que demonstra uma boa aplicabilidade dessa notagio para os modelos conccituais. O Gnico ponto a ser considerado ‘como mais ligado 20 modelo I6gico do que 20 modelo conceivusl & 0 fato de que relacionamentos com atributos tém de ser mapeados através de entidades associativas obrigetoriamente, o que, de certa mancirs, desvirtua a semintica conceitual, Apesar disso, com cerceza, esta tem sido uma das rnorages mais tilizadis nos thiimes tempos. Entided O tratamento de encidades é bastante simples, imitando-seauma éni- ‘a representasio. Nao ha distingio entre encidades fortes e entidades fracas em represenigio de modo diferensndo pan as enidades associative, mente um retangulo € utilizado para denominar graficamente qualquer tipo de entidade: ie Se “<8 e Le t (a encod ono acs) ‘Atributos Os atributos nfo sao representados no modelo grafico, fcand lista- dos & parte. Em algumas ferramentas CASE, 0s atriburos podem aparecer ‘enumerados dentro do retangulo representativo da entidade: x z t—~< ioate 81 stibate 02. Esse recurso pod o pode aparecer em outras noragdes. Quase sempre essa ae esta Se a0 editor grifico da jerramenta CASE. Se cle permite alocar os atsibuces para uma das notagies que ws, permit também para as demais Serene Relacionamentos A notagio bisia wlizada para relacionamentos é de pé-de ‘ek form sicionator denn de carsartzaglo do per niin do Capnso 3 a felacionamento (relacionamentos condicionais), elementos para de" isd de contingéncia exclusividede e subconjuntos . (| EH “sa a ee ee ee Sic Ne ee 3 saacenanent co stcernlo Os concetosde relacionamentos exclusivose contingentesfforamapre~ sentados anteriormente, m6 0 canceito de relacionamentos de subconjunto € novo. Esse tipo ée relacionamento ocorre quando entre duas entidedes podem serestabslecidos dois ou mais relacionamentose entre esses telaciona- ‘ments existe uma associagio de subconjunto. Vejamos um exemplo: poss Jronwecr DOr an FIUAL 6 ropresontada [esse caso, pademos perceber que entre FORNECEDOR ¢ FILIAL nentos distintos. O primeire indiea todas 28 csistean dois relaciona que um fornecedor possu. O segundo, queé um subconjunto do primero, indica quais flias sio represertadas pelo proprio fornecedor. O sentido de subeonjunto fica assim estabelecido: “de um gropo de filiais percencentes «um fornecedor podemos obter um subconjunte de filiais vepresentadas por ele” ‘Em alguns trabalhos, Martin apresenta alguns padrées diferentes de notacio, Passi seradotada uma representacio diferenciada para rlaciona: mentes contingentes ¢ mutuamente exclusivos entre entidades compar: tilhadase ndo-compartlbadas. Tambéma representacao derelacionamentos de subconjuntos muda de um cireulo para uma let“. 148 Moceb ER cwomumremocire envaco [rasa | eactr_|| —> ownntrrnnene oxo Estrutura de Agregario ar de nio se poder aribuirexatamente a Martin a representagio ue netcatonars reyir par evrvurss de agree ems ina ssa te pon cna centarese poe damage em meds 1m o padtao de Martin. E um tipo de representagio que wtliza ctr darsoprimc ip de nvagio most parn esos de generalizagio-especializacao (entidades desenbadas “dentro” de ourras entidades), Modelo -8 Entre eles temos: ES sy ah, cotiacetaca —iltenly area atuncina age sae Dentre esses elementos grificos, a representagio de entidade associ ativa €a mais frequentemence encontrada, apesar de nao pertencer, origi- nalmente, A notagio da Engenharia dh Informagio. As demais, apesar de aplicéveis, enquadram-se nas facilidades adicionais disponibilizadas por ‘uma ou outta ferramenta CASE, como jd mencionamos anteriormente. Notagio de Peter Chen Emseu tabalho original, Peter Chenapreseruava umconjunto de clemen- 105 voltados somente representacio de entidades, atributoserelacionamenton. [Nio existiam elementos adcionais tis como estruturas de generalzacio-espe- cializagio ou agregagies. Por outro ldo, bastante énfase ra dada aos aspectos de dependencia de existencia © dependéncia de identificador, pois, apesar de voltada 3 representagio da estruturainerente dos dados, 2 visio de Chen vislumbrava uma esteitaligario com o projeto de estruturas fisieas de imple- -mentagio desses modelos, fossem as estrutas relaconais ou ni, Entidades Chen foi o responsével pela introdusio dos conceitos de “entidades fortes” e“entidades Ircas”. Como j vimos esses conceitos antcriormente, capido S 151 oc ‘como um relacionamento, sem a necessidade de cria- do, ainda, representado, ainda, m code uma “entidade associative para cntidades eram: dade fore cemivade fraca tints . eragio dos sexsi propor crgnment por Chen par aepesnato do ss peste tum nid pus aia pasta ln A ears esen agua diel de representacio. “ao coRRIOA ce car DODVEDED aS ecializada pela empresa de Hoje, mesmo a ferraments CASE com a mis iia essa noraglo,adotando © mésodo de slocagho d atrituitos “enero” da entidade, CCORRIOA if ‘CARO. oS cone fa < fora re ‘wmnpo cass Sivoo ilinagio da notagio sumas ferramentas CASE ainda permitem a uiliaag ores possibilizando, adicionalmente, a caracterizagio do tipo original de Chen, ote ips 2 ‘ipo de balio diferente par SEIMRe nro ustsrbnt da hives prima, oso pre stbutosque Mado 182 sejam chaves estrangei( outro para atribucos que sejam multivalorads¢ ‘outro para atribitos que sejam: abxidas por derivasao (eleulo u proces. sanieato) em tempo de avesso: TANG epee ae sre drones “he Relacionamentos Chen foi o introdutor di utilizagio de um losango (ou diamond) co: smo elemento grafico para a representacio de um relicionamento, Atual mente, uma “nova” metodologia para modelagem orientada a objetos (0 método FUSION) passou a incorporar também essa notagio para associ agdes (conceito equivalente a um relacionamento, como jé vimos). [sso demonstra que, apessr de pouco difundida e, 3s vezes, até considerada em “desuso", como cita 0 manual detuma ferramenta CASE bastante difundida no mercado, essa nowagio € bastante adequada para a representacio de ‘bjetos¢ seus relacionsmentos. [Nao ha diferenciacao na representacio grifica de relacionamentos de sgrau 1:l, Nou MIN. A nica variagio, em termos de representacio gri- fica, sedi quando representamosumrélacionamento queestabelece vinculo dé dependéncia de existéncia ou dependéncia deidentficador, No trabalho original de Chen, eram utilizadas letras espectficas para denotar umae outra dependencia, A letra “E" denominava dependéncia de exisiéncia eas tras “ID* denoraram dependléncia deidewtifvador, Una seiaindeavaa diveyan th dependéncia ¢ entidade depenlente era sempre umma entidade fraca Atualmente, tem-se adoiado outro padiio de representaydo para denotar dependéncia. Esse novo padrio foi, basicamente, resultado da necessidade de se uilizar um ouiro tipo de indicacio de dependéncia que ‘no um texto inserido dentro do losango: ae 153 aureMoven surowores| uttadifercnga que pode ser observada na notagio de relacionamen- oad apc to ete esente der d losango,Orginamente, Chen inilizava nesse espaco somente im cexto representativo das entidades que furticipavam do telacionamento ou as leras E e ID (como vimos ante- Tormente). Com passar do tempo ¢ com a tentativa de agregar maior Semantica 20s modelos criados, passou-se a adotar o padrio de repre- Sentagio do signifieado ou da finaidade do relacionamento no espaso exiente devo do lsgo, Como s rata de wm to «nfo de um deer ee RSE cistente no mercado, A eoha do conteldo dese texto passou 2 serum ctterio pessoal oua depender do grau de semincica desejado no modelo: Autor Katy uvao Noto Ona {oom soso) AuTOR sere va Nota Alem {com semanica) Estrutura de Especializapdo-Generalizagao Em sev trabalho original, Chen no tratava esse tipo de elemento semntico. Entretanto, as evolugbes introduzidas em seu mérodo de repre- sentagio acabaram por “se aproveitar” da notagio uilizada para relaciona~ ‘mentos implementar um tipo especial de estratura: 0 relacionamento do eninge, un 154 Meio ER. Acestritura “IS A‘ abelece 0 vinculo de especializagio entre a en- ‘dade generalizada eas entidades especializadas. Também pode ser utiliza- da a notagio tradicional (um triingule) para a representagio de uma ‘expecializagio. Essa ¢, inclusive, a notagio atuslmente uilizada pela ferra- menta CASE da empresa de Chen. rire — [ fearon [ Estrutura de Agregagio. Nio hi tratamento especifico para esse tipo de estrutura. Chen ‘mostrara em seu tabalho original exemplos de relacionamentos temmirios, tratando-os simplesmente como extruturas de relacionamento. PESSOA rungao Mca pnovero Qual a Melhor Notapao? Dentre as ferramentas CASE existentes no mereado podemos encon- twar aguelis que sio voltadas a uma nica técnica de representacio grifica, ‘outras que permite um pequeno conjunto de técnicas e outras que permitem uma grande variedade de representagées. Deve-se evar em con sideragio que aquelas que permitem o uso de varias técnicas de repre- sentagio, algumas vezes, acabam por lberar o uso combinado de elementos detecnicas distintas em um mesmo diagrama. veprlit ote ‘sree das cists ied de igo de uma nove representacio particular (0 que nio nos parece uma grande necessidade possbilidade de wtllago indevida de smbolosnovsiogrmss ae : 155 [Algumas vezes, a possiblidade de personalizar uma notagio i 4 re incluit a semintica necesiva ou tente poderdsignificar a diferenca ent ‘s perdé-b. Por cutro lado, deve-se ter em mente q ra cjotartes svatoerie decade de rproveogtc sexless rae cress pode ara eres o6 rere ou 20 deco Mancina dayton des ints jos Psst corta, estaremos criando uma sitagio onde um novo Jalen ues sr apreyedoa ums lngta jt disseminadae conhecda por ivios povos. O que sso pode causir? O “Efeto Torre de Babel’, on sea, cada um falando sua propria lingua e nfo sendo completamente compree dido por todo os oueros. ; a FEscolher entre uma ou ou nto dependr de ition ii tades impostos pelo proprio ambiente de desenvolvimento. Enfo prs, framers dspnivn ran de conbesinen de una ou st sevirios outros pontos noslevarioafazera escolhaporum ow outro (Rateds de represeeagi. ©. pomto. mais importance a ser destacad, todavia, € que i as dove potas una ravage aad a tt ado ovr sa caparte Go OM CM ‘com @ linguagor do outro ou ‘coms, sea com sua pripria inguagem, ‘16 através do uma tercoa inguagem comm a amoas. s. mos garantinda que a adogo de uma forma de comente assim estare adoro de uma foma de representacio grifica sirva como elemento para comunicagi diem mais sie sem ambigidadeso gus alta, € objetivo maior da ‘modelagem conceitual Referéncias Bibliograficas CHEN, Peter P. The Entiy-Reltonship Mode: Toward the vifed view of dat mae 1976 SMARTIN, James. Tinks Esme € CASE, Sip Palo: MacGrav Hil, 1991 156 Medio ER 4 Derivagao do Modelo Légico (A etsto deum moe lsticoapanir de um modelo conciual pode er feta pela aplicagio de um conjunto de regras bem definidas. Essas regras atuario, basicamente,em dois grupos distintos de elementos: as es- tuuturas de relacionamento, agregacio ¢ especializicio de um lado e as entidades ¢ seus atributos de outro. Veremos que, através de técricas bastante objetivas, poderemos, par- tindo de um modelo conceitual, obter o modelo l6gico desejado. As regras a serem apresentadas visario 3 geragio de um modelo logico baseade na abordagem relacional. Também existem regras para aobtengio de modelos baseados na bordagem rede-codasyl, Eniretanco, ssas tegras no serdoalvo de nossa atencio em funcio de sua restrita aplicagio no mercado e da cons tante intengio de ado procurar apresentar conceitos desnecessirios aqueles que se iniciam nas téenicas de modelagem, Passos para a Derivagao do Modelo Légico Muitos autores, em suas abordagens sobre o tema modclagem de dados, ém direcionado o processo de modelagem diretamente para o nivel l6gico. Partem, desde o inicio de seu processo, para a construcao de um modelo forremente dependente doambiente onde sersimplementado. Isso tem levado A obtengio de modelos elicientes mas bastante dependentes da tecnologia que 0s orienta Dentro da proposta apresentada nos capitulos anteriores, vimos que a geragao de um modelo légico deveria sr antecedida pela obtencéo de um modelo conceitual, Esse modelo conceitual deveria ser independente da tecnologia disponivel, procurando aproximar-se 0 miximo possivel do ‘mapeamento fiel do ambiente observado, ‘A grande vantagem dessa proposta éque apartir do modelo conceitual getado, podetemos splcar regras predcfiniday em fungio da tecnologia a scrempregada e, ass, abter os modelos necessris, Isso fard cons ae partir de win mesmo modelo conccitual possamos gerar modelos logicos para bancos de dados basesdos na abordagem rede-codasyl, ra abordazem “relacional” ow até mesmo em novasabordagens,tais como hancos de dudos oricntados a objetos, capuo4 a SL aque o processo de obtencio de un {Iso sim, podemps definir ‘ aie al sepiue os seguintes passos: lege paride win modelo eoneei 1. Obter 0 modelo conceitval Define o tipo de implementagio (rede-codasy|,reacional,0-O)- ‘Aplicar a regras de derivagSo espectias “Adaprar o modelo as necessidades. Pereeba quedentreospassosaserem sepuidos exe em imo 9g, ‘uma arvidade extremamente imporsante para 2 geracio de um mode Toyo aplcivelefesvamente solsdo de problemas priens do daa ‘Adaptagdes no Modelo Légico Derivado adaptacio do modelo obtido pela aplicagio dos passos 1 2 3 visa a cia mae Se mentgio ge tend tras expecta des Feeaares laey aaa vev mais aspectos com deseimpedt, exile, iMTepondénciaesegaranca tem sido impactanes na delinigi dos moleles (bgitos a serem construfdcs. A insercio propostal de pequenas doses de redundincia, a desnormalizagio, ¢ seccionamento de modelos, a insergo de elementos adicionais para ‘controle ¢ favilidade de recuperagao de dados fm sido, entre outros, 0+ “artifcios”inseridos nos modelos adaptando-os para os aspestos priticos do dia-a-dia, = e "A imperfeio € 2s TimiagBes da cecrologia a ser alicadn na imple mentagdo dis estoturas de dados geradas nesta aividade fazem com que mr necesr apr deri a execu destes ste aio, Ot fato importante a ser considerado, entretanto, que esses ajustes devem Soe ‘to somente na fase final de ee dos en ‘Consi- Pater Meviamenve, eveneualmenteaté no modelo conceiual, sriaextre- cage dasa por inserit elementos nao inerentes a0 modelo desne- cevsariamente “Outrs juatifcaiva para adaptagées aos modelos gerados€ 2 recente ssidadles ce informagies ana enandla por estruturas que ateradam 2s recess r sen (agrupadas,seccionada, paricionadas etc) ou 2 sistemas de infor snacdo gerencal (SIG). Essas novas necesidades tem levado os projerstos Je BDe sadegio de nova estcatépias para definigfo das estuturas logics dos dades. Goncitos como sts warehouse (depuis cera lc dhados paraaplicagbes nic estroturadas) ¢ OLAP (on-line analitical proces- Sing — processamento analtico de grandes volumes de dados feito ¢m wing obline) rém impactado de forma bastante sigrificativa os paradig~ Tray para concep das esratras lca de armazenamenco de dade [Nao bordaremos ests estretgis nest vr por setrxtarde elementos dt tnaior complenidade que requerem, ro minimo, maior vivenca na fra de 158 Dragan co Model Lilo modclagem."Também _ssiterlamos explorar,nesse caro, conhecimentos espectfics sobre recursos etéenicas recentemente disponibilizadas ma srea de hanco de dados, Come ndo podenos assumir estarcm esses conhieei mentor disponives a cada um dos leitores, ¢ como nfo haveria sentidoem cexplorar aqui cada um deles, omitiremos esse tratamento. Conceitos Utilizados na Derivagao de Modelos Relacionals Por sera derivagio do modelo l6gicoforcemente dependentedos con- ccitos eda tecnologia de implementacio ser utilzada, iremos abordar, de ‘modo bastante objetivo, os principais conceivs envolvidos na abordagem relacional. Nao esgotaremos 0 assunto, pois para isso seria necessério um trabalho bastante extenso. Como 0 objeto deste livro nio & a sbordagem relacional, e sim a modelagem de dados baseada no modelo relicional, indicaremos na bibliografis outros livros pars sua consults. (© modelo reacional, propostojaima década de 70 por Edgard F, Codd, fei concebido a partir da associagio estabeecida entre os conceitos¢ regras {que norteiam a taria dos conjuntos ¢ 3s posses estraturas de manipulagio de dadlos até entio uclzadas, Conk pereeben, naquele instante, que sia posse apliar as operagées conhecidas na matemtica, pars manuscio de conjuntos, sobre estruturss de dados. Essa abordagem garantiris, partir da, uum mérodo formalerrigoroso para tratamento, até entio desestruurado, das estruturas de dados, A criagio, manipulgio, combinagio, selegio ¢ tantas ‘ontras operagées realizadas sobre arquvos de dades poderiam passar a ser demonstréveis e comproviveis pelas operagdes da teoria dos conjunces. ‘A visio basica estabelecida era de que registros de um arquivo asse- melhavam-se 2 tuplas de uma relacdo, Uma relagao, por sua vez, asseme~ Iava-se a um arquivo onde cada uma de svas wuplas, contendo elementos cde dominios distntos, gregados de forma predefinida, podia ser entendida ‘como um registro e seus campos. ‘Assim, uma relagio R, definida sobre os dominios DI, D2 ¢ DS, seria formada pes plat representivs dot dominios Di,D2eD3eexpresia através de um conjunto: Re {dlndetdsty di2d22d325 3,023,433, d14d24,d345 } Por definigio, cada elemento da relacio R deve sertinica (ndorepetido za relagi) eter todos os dominios instanciados (nie aceitando, por exe plo,aausénciade d21 conseqiente geragio de umna ocorréncia“d! 1,431"). Por exemplo, poderfamos ter quatro dominios, nao necessariamente distintos, cada um deles com uma série de elementos. Ao definicmos a relagio R como 0 conjunto formado pelo agrupamento desses dominios, poderiamos obter algo como: Captu ¢ powiun or powinon2 ——oowlioDs woul o* ‘waa sacar cabs ot Na storie Comverse vito no exenplo acim cuca uma das tupls da relagho AeminsanilsosdemtiosI,DJ D3 eDéaneat denon. rmente nessa ordem, Como a pr6pria relagio € definids como um conju re Tatras i obdgatoredade no erabelecmenta de uma ordenico jas mas simem sia presenga. retanto, para fins de faclitagio de visualizagio e entendimento, anata see nebese por representa uma regio om modo abut ot plano, Isso faz com que sua aparencia se aprozime bastante daquela que briginalmente temos em mente quando tratamos a questio de layouts de tcquivos. Vamos representar agoraa mesma telacdo vista anteriorments sob ‘0 modo tabular Relagio R Demiieot | Domiaioo? | Comnioos__| bominio Ds Nee de Pessoa | Local de ‘Corde cabelo | Numero de CPF Nascimento Ss i nena rr) News Nuvo 04 Mara salvador Prete 08 | Joao Manaus Preto cot Jos ‘So Paulo tows | 03 Perceba que se analisarmos, agora sob o ponto de vista de estrutura dle dados, rome uma seqléncia de elementos (registtos), cada um deles ‘composto por uma seqigncia de domfnios (campos). Como foi possivel Cstabelecer essa associagdo entre conceitos, também ficou provada a possi- Dilidade de execucéo das operagoes de manuscio de conjuntos sobre as cestruturas de dados ae F 6 ‘Partindo-se dessa premissa, Codd elaborou o que se denomina hoje deabordagem relecional ou modelo rlacional, erabalhando primeiramente 160 Drago do Modelo Légico sobre os axpectos concé ise formais do assunto e, depois, buseando a Jimplemencagio através de software de seu modelo. Apesar de matemati- ceamente perfeita, sus sbordagem esbarrou, enttetanto, em um problema significasivamente s€cio: 0 desempenho das implementaghes de softwares relacionais. [sso se devia basicamente& necessidade do tratamento de gran- des volumes simultineos de dados. Como 2 abordagem da teoria dos conjuntos nao esté limitada a resirigbes de tempo, espago ¢ volames, quando entio podemos manusear, vsualizar einvestignr todo um conjunto lependentemente de seu tamanho, passou a ser necesséria também essa visibilidede para os sofewares que implementavam a teoriarelacional, E ‘brio que isso 56 poderia acabar, na década de 70, implicando sérias ces- trigdes de desempenho 3s aplicagées que devessem manipular elevados volumes de dadlos sinmultaneansente ‘Com 0 passar do tempo, entretanto, a disponibilizagio de novos re~ cursos computacionais de larga escala fez com que 2 ceoria relacional passasse também a ser visbilizada. Hoje, falamos em micros com 16 megh- bytes de memériapata execugao de aplicagoes mond-tstsrias baseadas, por exemplo; em’um software gerenciador de bancos de dados relacional do tipo MS-Access. Hi 10 anos, muitas dae grandes miquinss do tipo msin- frame (processadores corporativos centralizados) nao chegavam sequer a ter essa capacidade de meméria paraatender aredes com divers0s usuitios. Imagine entio hi 29 anos... Miquinas com menos de 1 megsbyte de me- maria sendo cogitadas para um ambiente de processamento relacional realmente seriam um desfio a0 bom senso. Codd, par sua vez, no desist de sua abordagem. Elesabiaestarcerto dasidgine que defendia e por eas lutou, durante mais de 10 anos, contra 03 fornecedores de software, contra o mercado e contra o préprio governo americano, que sempre teve muita fora no estabelecimento de padrdes na tea de informitiea, lisse € 0 depoimento do prdprie Ceald ern seu siovo livro cm que apresenta o Relational Model 2 (RM/2), uma nova evalugio sobre o modelo relacional. Felizmente, a evolugio de hardware e software bisico fez com que, hoje, 0 modelo relacional tea reconhecido como a “solugio” paraaabordagem de bancos de dads. Ainda existem deficiénchas ‘mas, com certeza cada da estamos mais perio do estado-da-arie necessério para a implementacio eficiente do modelo relacional. Méquinas com pro- ‘essamento paralelo macigo, processamento simétrico, sistemas operacio- nais multitarefa, discos de alto desempenho, memérrias de alta capacidade, processadores miais velozes e tantas ouras novidades nos aproximam do «estigio tecnoldgico necessio. Implementagao do Modelo Relacional De acordo com a visio estabelecida por Codd, o modelo rslacional assou a implementar as estruturas de dados, independentemente de seus Capo 4 a tipos, através de uma tinica visi: tabelas. © conceito de abelaerg) iso tabular ou plana representativa de uma relagio. Da, inclusive, 2ovem 0 termo “relacional” que nfo tem nada a ver com of telacionamentes esti- belecidas entreas diversas tabelas, mas imcomaimplementagio de relagBes através de wina estrutura de dados relacional. ‘Uma tabela, seguindo adefinicio de retacdo, seria composta de linhas cou tupks, cada uma delis, por sua vee, endo obtidaa partir dainstanciagdo ‘le dominios predefinidos coma formadores da relagio, Esses dominios, para o modelo telacional, sto tatados come columns, ‘waeuat wma Coneeltes 4, Chave Candidata ¢ Chave Primaria (PK — Primary Key). So- mente utlizando a estrurura bisica de linhas e colunas para a construcio de tabelas nao teremos zinda todos os elementos necessérios para aimplemen- tagio do modelo relacicnal, Como vimos, um dos conceitos bisicos que delinem uma relagio € 0 fato de que “no poderto existit dois elementos iguais dentro de uma rclcio”, Mas o que caracteriza um clemento de uma relagio? Resposta: 3 instanciagio de todos os seus dominios. Assim, no exemplo [é utlizado anteriormente, podiaros ver 0 nome JOSE ins tiando duas vezes o dominio NOME DE PESSOA, mas por estar acom- panhado por valores diferentes nos demais dominios isso nto caracterizava tum elemento repetido na relagio. 162 Dominio 01 Nome de Pessoa Dominlo 04 tamere de CPF Preto Preo Lowe | sto Pauio Como essa condigio de néo-existéncia de elementos repetidos em uma tabela é uma necessidadebasica a ser cumnprida para o estabelecimento cum modelo rdlacional rementeaderenteaos concritas de “celagao”, foi incroduzido o conceito de CHAVE IDENTIFICADORA de tabela, Sabe mos que se 0 conjunto total dos valores instanciadores dos diversos do- iminios que compdem a tabelanio sc repetem entZonnio temes linhasiguais ou duplicatas. Entretanto, analisar todos of valores de cada um dos do- tminios pode ser, em alguns casos, bastante complexo e demorado. Codd estabeleceu uma simplificagio que visa a facilizar essa anilise. Se, por andlise préviae conhecimento do ambiente que esta sendo mode- lado, formos capazes de idemiificar dominios nos quais sbemos que a existéncia de valores instanciados ndo seri repetida, podemos eleger esses dominios, ou colunas, como CANDIDATAS A CHAVE. A simples anilise e comprovagio de diferenga dessa coluns, comparando seu valor comm os demats valores existentes nas denias Hinhas, fd com que seja pssfvel garantira nic duplicidade de toda uma linha Veja em nosso exemplo o caso da coluna NUMERO DO CPF, Sa bemos, por defiicio, que “nome de pessoa”, “local de nascimenta” ¢ “car ecabelo” si colunas que podem “potencialmente” terseus valores repeti- dos em diferentes linha. Pessoas com mesmo nome io comuns, nascimen- 105 no mesmo lugar sao esperados ¢ cores de cabelo repetidas um fato normal. Jf se analisarmos a coluna NUMERO DO CPF veremos que, por Aefinigao (paraa Receita Federal, 10 menos), niodevem evistirduas pessoas com 0 mesmo CPF. Em outras palarra, se analisarmos nossa tabela ¢ pereebermes que duas linkas contém CPF diferentes, entdo serio obriga- toriamente linhasinteiramente diferentes. Pereeba que a chave, ao mesmo tempo em que facili a anilise € diferenciagio, também impBe restrigbes, Se desejarmos que duss pessoas compartilhem 0 mesmo CPF (marido e mulher, por exemplo), deveremos mudar nossa chave para que, além de CPF, conste também o NOME DA PESSOA como formadora da chave, Assim, 2 dupla de colunas deveri sempre scr analisda e, mesmo com CPF repetidos, nig estaremos caruc- terizando mais uma duplicidade, desde que os NOMES DE PESSOA sejamn diferentes 100 ——— Durante aandlise de uma tabela poderemos encontrar diversas colunas CANDIDATAS A CHAVE, Bast que existy mais de im dominio que synesete a actos de nao reper ses valones durante a instances pata todas as lias ds tabes. Dentee essis vias colunas deveremos escolher ‘ma ¢ elegé-h como CHAVE IDENTIFICADORA ou CHAVE PRI- MARIA (PK — Primary Key) da tabela cm questio. Jé que qualquer uma das cohunas CANDIDATAS podeser eseolhida, nio haveria sentido manter mais de uma como chave, Isso somente aumentaria 2 complexidade de anise ‘durante o processo de idenificagio de possveis duplcata. Assim, basta que seju excolhida uma das CHAVES CANDIDATAS eatribufda a eb a fungio de CHAVE [DENTIFICADORA. Vamos analisar um exemplo de uma tabch de ELEITORES concebida junto a0 ambiente do Tribunal Regional Fleitoral. Nessa tabels,poderiamos tera segunte situagio: = COLUNAS: Nome do Eleitor, Dara de Cadastramento, Junta Eleitoral, Segio Eleicorsl, Niimero do RG, Nimero do CPF, Numero do Tiealo de Heitor, Data de Nascinient, ete * CHAVES CANDIDATAS: Numero do Titulo de Eleitor, Numero do RG e Namero do CPF ¢ CHAVEIDENTIFICADORA ou CHAVEPRIMARIA (PK — Primary Key): Nimero do Tilo de Eleicor esse exemplo, assumimos que o Némero do Titulo de Eleitor seria a chave candidata escolhida, pois € natural 20 ambiente no qual seréuti- lizada. Isso implica que devemos garantir unicidade de valor desse nimero em todaa abel de ELEITORES a ser criads. Isso poder! ser feito através de recursos do proprio gerenciador de bancos de dados ou, até mesmo, através deconsisténciada prépria aplicagio. claro que deixarssa restrigio 2 cargo da prdpria aplicagio nio & uma solugio recomendada. Como 2 propria implementagio relacional obrigaa unicidade de chave prima, os, ‘préprios SGBDRs (Sistemas Gerenciadores de Bancos de Dados Relacion- ais) implementam essa restrigio de mado avtomético durante a definigio ala eseruura de ma tabela © conceito de chave primiria nio deve ser estranho para nenhuma dlaquelas pessoas que tenham tido convivencia com sistemas haseados em técnicas de recuperacio convencional (arquives indexados, por exeraplo). Isso facilita o entendimento do conceito de chaves assumindo valores ‘inicos mas, por outro lado, acaba induzindo, as vezes, 20 estabelecimento deuma analogia ndo verdadcira. 164 DethagBe do Veda Lge ‘A chave primar en. om arquivo indexado, por exemplo,é um recurso ‘que, além de garantir unicidade de valores entre dois ou mais repistros, poosibiliao aceaso dircto a umna infornagan desejaa, Apesar de sabetnios que esse acesso na verdade nio & direto, mas sim feito aravés de um me canismo de indices € uma posterior busca seqiencial,traduz-se 2 funcio- nalidade de acesso direto durante sua utilizagio, Assim, © so da chave primiriaé estabelecido comoomodo pararecuperagio de dados especificos dentro de um arquivo convencional Jem uma tabel, que €a estrutura de implementagio de uma telagio, nio se pode pretender estabelecer vinculos com métodas de acesso. Se a tabela € a implementagio de uma relagio, ¢ a relacio, por sua vez, € um conceito genérico associado a uma colegio de tuplas, formadas por sequén- cias de valores de dominios, nio hi por que estabelecer métodos de acesso para uma rclagio. As cuplas de uma relagdo simplesmente existem e s40 imanipuléveis.Sio locaiziveis por qualquer um doe valores existences em cada umm de seus dominios. Assim, se tivermos algo parecido com a tabela a seguir, poderemos recuperar qualquer uma das tuplis por qualquer wim dos dominios existentes: paca | cor__| Potinela_| mouelo | Anode Fabricecto | aami0i0 | cia | 96HP | SL 1985 ace-sast | Proto | soHP | cL 1994 asc7ase | Au | 7sHP | SL 1996 ‘Todas as buscas lstadas a seguir seriam vélidas: “Recupere o carro produzido em 1995” traria a tupla nimero 01. “Recupere o carro de cor azul” tratiaatupla némero 03. *Recupere o carro de placa ACB-3431” traria atupla de ntimero 02. “Recupere o carro de modelo SL" wraria a tupha de ndmero 01 ¢ 03, A localizagio dos registros seta feta independentemente de a coluna ser definida como chave primfria ou nio. Esse ¢ 0 conccito relacional que tanta flexibilidade trax para o processo de tratamento de estruturas de dados. Com isto se conclui que a finalidade da chave priméria, no modelo relacional, € desvinculada do fato de podermos vir a recuperar linhas, ov ias dc uma tabebs através de sua utlizagto, Como ji vimosachave primia serve, basicamente, para estabclecer « unicidade de uma cupla dentro da relacio. No t6pico a seguir, veremos que essa chave servrs, também, como meio para o estabelecimento de relacionamentos entre tuplas de diferentes relagbes. capito4 165, a atc tees ee a ee rece ercyem clan ier a re aie cma nnn ee ee ee fore’ Levfaticas importantes: ‘© Hla éuma chave e, portanto, identifica de modo dnico uma tupl «Elan estéem seu local original (local de origem), mas sim er um local para onde foi migrada (no esteangciro). + Ela tem um local de origem e i possi suas caractristicas originals (Gama chave priméti). is S, shave ereebs que, pelas caracteristicas anteriormente descritas, uma ¢ estrangeira, os ‘mais € do que uma chave priméria de uma tabela que Jarece reperida em outra. spat eremos mais adiante que, resumidamente, sie € 0 método para 0 estabelecimento derelaconamento entre duss belt, Basta que se pegu achaveprimiriade uma das tabelase a 2gregueem outra. Essachave, quan criada em outra tabela, passard a ser uma chave estrangeira, Se para alguns o termo “chave estrangeira” soava estranho até hoje, falves agora passe 3 Lazer sentido © pracesso de migraqao de chaves €0 responsavel por esse termo, tornando-v justilicavel, racy, orcotukdds mere fomedwatonhanes madd Carats dum process lor, Kercanas ena ta come: ELETOR UNIDADE DA FEDERAGAO (Estados ¢ Tomitiros), ortre cuts. Canes as rus ss ron reps, dunes Gano hav pre cee Crt Soha ERO DOTTTELODE ELETTORecond chore in f2bou UMDADE DA FEDERAGAO ecole SILADA UF enicamos pelo modelo que xem ditions ent entidades. O primeito diz respeitoa UNIDADE DA FEDEI onde GELEITOR wora O segundo dztespito i UNIDADEDA FEDERAGAO onde o ELEITOR nascea. 166 Detvagao do Maaso Logco Neste caso, obteciamos as seguintes tabelas a implementar (jé com seus atributos, chaves e relacionamentos): ‘¢ Tabela UNIDADEDA FEDERAGAO. Chave Primévia (PR) SIGLA-UL Colunas Nome, Area-m2 © Tabela ELEITOR have Primatia PK) NUM-TITULO-ELEITOR Colunas CPF, RG, Nome, Estado-ciil have Estrangeira (Fk): SIGLA-UF-VOTO Chave Eswrangeira (FK) _ : SIGLA-UF-NASCIMENTO. Assim, podemos, pelas chaves estrangeiras SIGLA-UF- VOTO ¢ SIGLA-UF-NASCIMENTO, relacionar a tabela ELEITOR com a tabela UNIDADE DA FEDERAGAO, Se quisermos identificar 0 nome da vunidade da federacao (Estado ou Territério) ondealguém vota, poderemos acessar a tabela UNIDADE DA FEDERACAO 3 partir do conteudo existente na coluna SIGLA-UF-VOTO. 3. Dominios de Atributes, O conecito de dominio de um auribuco, ou de uma coluna, é fortemente associado 20 conceizo de dominios de relagées, A idéia principal € que existe um conjunto de valores distintos que podem ser atribufdos a viva coluna (urn cada tupla), Enuretanco, sabemos que pela diferente natureza de cada uma das colunas poderemos ter dle tentes valores sendo vilidos 3s instanciagOes. Observe nocaso da abela de UNIDADES DA FEDERAGAO como cada uma das colunas pode receber valores bastante diferentes. A coluna SIGLA-UF, que por acaso € a chave primiria da tabela, somente pode assumir valores preestabelecidos. Cad unidade da federagio, quando é «riada,recebe umn nome, tem sua érea delimitada e passa a ter uma SIGLA ‘ou abreviatura para ser utiizada, por exemplo, no enderesamento postal Para a coluna SIGLA-UF, portanto, poderiamos atribuir uma das seguinte siglas: RS, SC, PR, SP, RJ, MG, BA, ... até MA, RO, RR. [sso 60 que chamamos de um DOMINIO DISCRETO, Sabemos previamente «ual € 0 conjunco permitido de valores inclusive em suas quantidades. bance) 167 nd are para coluna AREA-M2, podertamos ter valores variand, aera cdrados Poderfamos detrminar ovilorde Natravésde uma idade da federagdo nunca ter um tert Giior ques maior regio do pa. Independentemente de no estbelse- thosagora qual sero exato valor de\,ssuiaquc exis ror incl eee alot fina” vildo para a atribuigio 2 coluna AREA-M2. Perceba, «a antes sie, apesar de sabermos os mites minimo € miximoy nfo sr cnnon tne squtetios, tar aa mn ho posse valores existe ears earacerizam uma faina contfoua de valores. Seria desnecessirio viticar cada um dees, Iso caracteriza um DOMINIO CONTINUO. ‘parentemente, seri sent sas duas modilidads de dominios Togo sersdseretoe vice-versa eN metros qua cestimativa do tipo: uma w asexistentes.Se um dominio nio & continu rs Entretanto, existe, para fins de modelagem Logica rlacional um outro tipo ide dominio que nos interessa. Ele é responsivel por grande parte das dlscussbes c problemas gerados quando 0 assunto discutido se refere a “dominios” : Estamos falando do DOMINIO NULO. Se estabelecermos uma correlagso com a seoria dos conjuntos, um dominio nulo seri repr taro de algo como um conjunto vaio. Sabemos que sehi um conjunto Eforguteoscanee, ee seneios eval Pot cu ao, Sesumimos como verdadeiraa condicao de que um conjanto pode ser vazio. pe pene tbs en coluras eo eu dominio definide como NULO, O valor aplicével para 2 instanciacio desse atriburo é “nulo Pence que ito estaniosfalando em um valor © (eer) ow * * (bance). iisce €0 grande ponto de importinsia quando se procura caracterizat Um valor nul: ; a ao Travan HULO roa goala 0 foreyou*(ranco ov espaol, re nso gualanacs,plssinpleserte ni crt! No posers ‘Shera em clemorto exitenie a ago gue efevarente ex fl ome umcaractor" rano) ove nner (200) Isso leva a uma série de implicagées priticas do ponto de vista de uratemento em nivel de ingaagem de programacio, gerenciadores de ban- os de datos, comparagoes de strings, comparagbes de valores, ete. Pars Ahultas situagbes de projeto deestruturasl6gicas erdextremamente impor tante reconhecera existencia€ 0 significado de um valor NULO em uma cesta coluna de una tae, See face (proposta por Codi) tem tatado indistimaments dois tipos de NULIFICAGAO (existéncia de um valor NULO), Na nova proposta de Codd para a tcoria relacional (o RM/2— Relitional Model 2), i passario a ser distintos esses dos tipos de NULOS. aa Deivagdo de Mosel Lica Apesardeaindanioe! nos sobs normasdo RM/2 ser§ important, para nosso processo de derivagio de modelos Iogicos reconhecer que podemes ter dois tipos de valores NULOS: 1. Nulos Inaplicéveis. Sio 03 valores NULOS existentes em uma colunaem fungao dando aplicabilidade dessa colunapara linhaemquestia, Isso significa que termos uma coluna, tepresentativa de um atributo de um ‘objeto, que ent algumas linha (tuplas) ani tem si cincia, Nio pune ser valorado, pois simplesmente nio se aplicsa esse elemento que est sendo instanciado. ‘Supontia quo tonhamoe modelado um ambionte onde pereebemos a existencie {de EMPREGADOS de EMPRESAS. AS EMPRESAS lem seus atrbutes, assim ‘como os EMPREGADOS. Dentro eles pederames car EMPRESA: (066, nscrigdo Estacual, Razac Social, Nome Fantasia, Enderee, Tipo EMPREGADO: AG, Noe, S2x0, Data Nascimento, Ode. de GeetagBee, Endoropo Perceba que alguns dos dominios sio diseretos (Tipo, Sexo), outros sio contiauos (RG, CGC, Data de Nascimento) ¢ outros sio NULOS INAPLICAVEIS para algumas instincias (Inscrigio Estadual ¢ Quant dade de Gestagies} No casocspectlico dis EMPRESAS isentas de Inscrigao Estadul, no hhaverd um valor a ser alocado a coluna referente a esse atributo quando se estiver armazenando essas ocorréacias. Também no caso de EMPRE. GADOS que sejam do sexo masculino, nfo haverd sentido manter a coluna QUDE. DE GESTAGOES com qualquer que sejao valor. Nesses doiscasos,apesarde seremnuméricos os dominios das calunas INSCRIGAO ESTADUAL ¢ QTDE. DE GESTAGOES, no seria cor- eto deixé-ls com o valor 0 (zero). Isso representaria que o miimero de INSCRIGAO ESTADUAL de algumas empresas seria (zero), oquealém de errado faria com que mais de uma empress tivesse 0 mesmo nimero, ‘Também no caso dos EMPREGADOS do sexo mascling, ieixa QUDE. DE GESTAGOES com o valor O (cero) representatia que “ele” ‘ao engravidou nenhuma vez. erg que um dis ainda engravidars? Apesar ddos avancos da medicina, parece ser realmente um dado inaplicivel.Perceba que o mesmo valor O (zero) na mesma colura, quando 0 EMPREGADO. for do sexo feminino, passard a ser vélido e representarécfetivamente que Cape 169 dlesenvolveu, ainda, uma gestagio até 0 sento Marae aaa, por opcio u 3cas0, nfo virem munca a desenvolvt-Ly 2 ‘rag (nenbuma ge Jecorretaa essasinsiincias. ieuei00 (nenthuma gestscio) passaa seraplicsvele 5 re dnco de vita de modelo de dados ceneinah eae ia fedenotat 3 exisiéncia de catidades sem a devida especk sir poke eh spc), eros EMPRESAS BENTAS TAIDRESAS NAO ISENTAS de INSCRIGAO ESTADUAL, lve isso EEA a cerrra de expecliaro fs recomenda So ar oasuago. Se tes EMPREGADOS do sexo mato “ino e queremos paracletdiferenciaratributos aplicaveis dooce neon ambem waar ua estrurura de Generali sada v3 uma empr a forma pelo que determimiva a primeit so mais a frente), n30 deveriam existir Je uma RELAGAO. Isso eta bastante 5 acio das tabels, civo ¢ criava situagbes complexas para a implementagéo Flojesrealdade€ utr. A convivénca com valores NULOS em colunss de uma tabela jf ¢ possivel até bastane narual. A prépriasincaxe de dlefinigic. das tabelas (SQL) jA prevé uma clivsula para » definigio de olunas que acetam ou ndoaceitam valores NULOS. Ssbe-se que, do ponto {evista prdtieo, no averia sentido implementar sempre uma tabela para EMPREGADOS MASCULINOS e outra para EMPREGADOS FEMI- ININOSs6 porcausadscxstencia de um ou outroatributoexclsivamente aplidvel urna on outra situagio, Assim, o que acabaremos por ter final. teente seri uma Unica tabela EMPREGADOS, onde 2 coluna QTDE. DE GESTAGOES poderd assumir o valor 0, valores diferentes de zero ou © valor NULO. Do ponto de vise légico, normal anteriormente (veremos is valores NULOS em uma tupla de 2. Nalos Deszonhecidos. Ones smagio onde poderemos encontat saloces NULOS em cohunas de tabeas € quando um certo valor “ainda pio for conhecida.Perceba que frisamos bem o termo “ainda” Significa {ue essa coluna nfo teve um valor estabelecido até o momento, masque el exisee e€aplicével r 170 ‘evapo do Model Lica Essa situagio pi ser caracterizada quando, por restrgoes de dis- ponibilidade de informag6es, nto pudermos estabelecero valor devido para uuma dada coluna dusante seu processo de stualzagio. Vamos utilizar 0 proprio exemplo anteriormente referenciado, Dentre os atributos identii- ‘ados para a entidade EMPREGADO tcmos o ENDEREGO. Suponha, enteetanto, que um EMPREGADO que scabou de ser contratado pela EMPRESA esteja em processo de recrutamento ¢ nao saiba informar, no instante de seu cadastramento, o enderego no qual estar habitando. Pode serum fato atipico alguém no saber o nome da rua onde mors, mas para alguém que recentemente mudou-se para uma nova cidade isso pode seraxé compreensivel Deixando de lido 0s motivos que podem levar alguém 2 ndo saber 0 endetego onde mor, voltzmos ao que nos ineressa © fac relevance é que, quando do cadastramento do EMPREGADO, rio teremosainformacio do enderego para fornecer como valor a ser alocado a coluna ENDEREGO. ‘Teremos duas alternativas: ou nie eadastramos o EMPREGADO até que le tenha todos 0s dados para nos fomecer oa cadestrimos somente os dados de que cispomes naguele momento. Se optarmes por cadastrar um EMPRE- GADO sema informagiode seu ENDEREGO, teremos nesss colina ovalor NULO. Esse é um tipo de NULO que caracteiza NULO DESCONHE- CIDO. Veja que o dado ENDEREGO € aplicivel a todos os EMPRE- GADOS, mas que para alguns deles ele pode ser DESCONHECIDO. Alguns gerenciadores de bancos de dados j tém dispontveis recursos para que possamos caracterizar na base de dados uma coluna que contenka tum valor NULO DESCONHECIDO, Pode-se, em alguns casos, definir tam string a ser alocado como default sempre que nio se tenha 0 dado correioa seralocado a uma coluna, Esse stting pode ser uma seqiéncia de caracteres predefinidos, uma palarra, espacos em branco, o valor 0, etc Deverse escolher, caso se deseje utilizar esse recurso, um string que nao Seiapossivel de ser fornecido como dado pelo priprio processode obtengio de informayées paracadastramento. Isso poderia levar aconfusio pois, apes certo tempo, nio siberfamos se o string foi forecido pelo procesto de obtencio de informagoes ou gerado automaticamente pelo gerenciador de bancos de dados para indiear um valor desconhccido, Hoje, elas regras de definigao de cohunas adoradas pelo padrio SQL, sodas as colunas, com excegio daguela, ou daquelas, que formam a chive principal de uma tabela, podem assumir 0 valor NULO. Quando desc- Jarmos quetuma columa ni possaassumir valor NULO, devemos inser iss0 a0 gerenciador de bancos de dados. Regras de Derivagao Come citamos anteriormente, a obtengio de um modelo l6gico de- vera ser feta a partir de um modelo conceiual prevamente gerado, Para Capito es tanto, deveriamos cispor de uma série de regras de derivacéo’ = fossem aplicadas sobre o modelo conceituale que o transformassem, cin fungio da qpologia de BD usada, em um modelo relacional, rede-codasyl ou até hierdrquico. \Veremos, «partir deste instante, portanto, essa regras. Como nosso objetivo, nest livro, €explorara derivacéo de modelos relacionais, teremos, durante o provesso de derivagio, a ulizagio de uma série de conceitos © determinacGes impostas pela teria relacional, Os conceitos necessirios, tais como tabelas, linhas, colunas e chaves identificadoras, jf foram apre- seniados neste capitulo. Outros conceitosadicionais que sejam necessirios serio apresentados devidimente no instante de suas aplicagoes. © proceso de obtengio de um modelo relacional € baseado na execu de res asividasesdistinnas: normalizagio das estruturas dedhdos, dletivagto day apreyagoes € das yenctalizaxdes-especializagdes « derivagao dos relacionamentos. 1, Normalizagio das Estrunuras de Dados, Esta atividade, imposta pas regias de eonstrugio de estruturas relacionais, muitas yezcs tem sido vista como elemento complicador do pracesso de modelagem légica. Ela depende de crtérios pessoais de interpretacio eavaliagio das estruturas de dados, € mesmo que alguns prodatos digam poder faz8-l, automati camente,nio pode ser, def2to, realizada de modo automstica. Os produtos que dizem fazé-le automacicamente somente automatizam algumas das atividades bragais execuradas durante + normalizacio. A stividade mais importante critica, que €aandlisee definigio de pertinéncias dos atributos a cada uma dhs tabelss, continuars a depender integrakmente da intervengio ‘manual do modelador. Vendo mais 2 frente o pracesso de normalizacao voc# entender melhor o que estamos afirmando, 2.0 Derivagao de Estruturas de Agregagio ¢ Generaliragio-Es cializagao pode set {eits, sob certos aspectos limitantes, d= modo av- tomitico. Se desejarmos, entretanto, er maior liberdade sobre a delinigio de estratégias de projeto, deveremos executar, também, essa atividide imanualmiente, Assim, poderemos anaisar questdes subjetivas, que muitas vezes poderiam passar despercebidas emum processo automitico,¢definir 0 tipo de derivagio caso a caso, sempre buscando a geracio de estruturas mais adequadas 3 fuzurs implementagio. 3A Derivagio de Relacionamentos é bastante simples ¢, caso oot tenha a possibilidade de aplicagio de alguma ferramenta CASE, paders ser fcita automaticamente. Apesar disso, abordaremos sua execucio do ponto de vista manual pois, 20 menos, deveremos ter consciéncia do que, comoe por que, algumas derivacoes sao feitas pela ferramentas CASE, 12 Detvacdo de Node égico Normalizagao © processo de normalizacao tem sido visto por muits pessoas apenas como um formalismo necessirio implementagao de estruturasrlacionas Esse formalismo, quando nao compreendido em sua finalidade, acaba por twansformar-se mais em um fator complicante do que em um fator otimi- zador durante 6 projeto de bancos de dados. Deliniivamente a normalizacao nio € ago simples de ser feito se nio tvermos controle sobre as atividades que estejam sendo executadhs, se ni0 soubermos 0 que, como € por que estamos agindo. Quando esses pontos massa a exer clre eco pasa» ftranente eater proceso ie normalizacio como mz aavanca para o processo de construgio de ban- cos de dado ee ‘ O prineite ponte importante aserdefinide paraque se enbaacorteta visio desse processo é de que: Anormalizapio nao um processo com fnaicadarestitva mas sinicon caraterorganizavo. Enearar a normalizagio como imposicio de regras que simplesmente restringem nossa liberdade no projero de bancos de dados € ter uma visio ito timplficeds do que tepresnt ene proceso, Aci de wo, a normalizagio propoe uma sétie de passos a serem seghidos para que tenhamos um process devriieagior algo juste ds entotis de ddados que porventura tenham sido observadss, modeladas mas que ainda apresentem distorgdes quanto 4 redlidade. Durante a madehgem coneeitual poderemos estar trabalhande sobre ‘nto normalizalas, Essa Gum caracteritiea que muitasvezes tem passado despercebida por algumas pessoas: ni hi qualquer resiricio sobre 6 fato de que uma entidade conceital nio se apresente normalizada, Lem- bre-sede que falamos ematribatos referenciais,citando que esces indicavsm pertencera outras entidades que nio aquela cm questdo. O fato de cxistir ‘um atributo referencia! indica claramente que estamos trabalhando em um ambiente nio normalzado. “Tambémo fato de muitas vezes termos necessidade de representar um ambieme de escopo bastante grande (um modelo cotporativo, por exem plo) nos levard obrigatoriamente a trabalhar com entidades no normali- zadas. Normalizar um modelo corporativo acabaria por transformé-lo em Jum modelo de propors6es incabtveis fazendo, entio, com que ele acabasse por perder sua finalidade que € a de espelhar de modo geral um grande «scopo attarés de um reduzido ndmero de elementos. Lembre-se de que Bie €posiveleprtenar 0 mapa do Brasil com oda as sas rns, quads elotes, Ccaptde 4 173 ‘Overo fato que tem nos chamado a atengio é 0 fato de qui sitss pessoas cana ne a normalizaggo & um processo que é realizado S0- mente apés definidas as provaveis tabelas: de ‘um sistema, hirctiasienss men te on come un meno pote 20 Pr a te one tra ae Cos verdade. A normalizacio pode ocorrer cma trés instantes distintos: 1. Durante o processo de concepgio do modelo conceitual. 2. Durante a derivagio do modelo légie. 3, Apés a derivagio do modelo logico. ‘Vejanwos cada um deles, em detalhes: Normatizagdio durante o Processo de Concepgao do Modelo Conceltual i dissemos claramente neste mesmo capitulo que o modelo concei- val ere Sbapuoriment estar normalzad, Isso enrtanon80 {quer dizer que ele nao posse estar normalizado em alguns casas. grau de Airmalizagio que ele pode apresentar dependerd de varios farores como, por exemplo: «© Abrangéncia do modelo. Quanto mais abrangente (em termos de scone) for umn modelo, mais chances, caso ele tena sido ade- aquacamente concebido, havers de que ele tenka um baixo geau de ormalizagio. Por outro lado, quanto menor for o escope, quanto inais restrvo for o ambiente a ser modelado, mais chances havera dle que tenhamos um moilelo mais normalizado, Assim, vemos que, variando entre esses duis extremos, teremos diversos graus de rrocmalizagio possivsis exisindo em um modelo conceitua, Isso fark com que, em muitos casos, durante o pracesso de derivagio do modelo conceitual jaestcjamos partindo de urna realidade normali- zaia, tendo entio “antecipado” esse processo na fase conceitual + Facilidade de absteagio e compreensio. O correto entendimento dos elementos presenies em um ambiente a ser modelado poder nos levar mais facilmentc a concepgio de um modelo normalizado, ‘Quando mis interpretagées ou abstragOes indevidas esto presen ter durante a fase de modelagem conceitua, acabs-se por produzir tnindlin «jue nto atendrao 2 segunda ¢ texeeta Formas normals Felizmente as regeas definidas para a segunda ¢ teresa formas normais nos levaraoa perceber as anomalias existentes por ident ficagdes indevidas de atributos ¢ entidades. Através da aplicacio dlsias tegeas poderemos sana as deficigncias existentes no proprio modelo conceitual, separando-se entidades dstintas que extejam 174 Dea do Model Lica ‘mapeadas como { unica entidade. Lembre-se de que, como vi- deficigncia de modelagem mas sim um elemento criado intencio- aalmonte ‘* Conhecimento prévio do ambiente. O faco de que jf temos co- hecimento prévio do ambiente s ser modelado, eassim do préprio resultado a ser obtido, tanto no nivel conceitual como no nivel logico, nos induzirs, por mais que nao queitamos, a previamente “enxergar” o ambiente de modo normalizado. Isso poder’ em alguns casos ser benefico ¢ em outros nem tanto. Caso 0 escopo scja resttito teremos, de certo modo, o beneficio de j& partirmos para um modelo conceitual préximo do modelo normalizado. Se 0 escopo for abrangente, correremos o isco de tentar introduzic clementos em demasia no modelo por estarmos jévisualizando esse “grande ambiente” de modo normalizado, Em ambos 0s cis0s, entreranto, deveremos tomar cuidido com o fato de que a seman tica conceitual ndo devers ser sacrifcada em troca de excessivos elementes légicos (normalizados) introduzidos durante a fase de smodelagem conceitual. Essa € uma tendéncia de todos agueles que tém uma visio muito “orientada a banco de dados" durante processo de modelagem conceicual. Portanto, tome cuidado: Uti- lize seu conhesimento prévio mas nio seja conduzido por ele Normalizagio durante a Derivagio do Modelo Légico Caso vocé tenka concebido seu modelo conceitual e agora pretends transformé-lo em um modelo légico para implementagio em ambiente relacional, voc® devers ter certeza de que cle respeita os preceitos da tecnologia relacional. A existencia de estruturas de dados normalizadas € um destes preceitos e nio poderd set violado, sob riseo de colocar em cheque toda a furura implementacao. A prépria derivagio de um modelo concsitual para modelo I6gico enfoca 2 questio da normalizacio. Obrigatoriamente deveremos atuar, durante a derivagio, sobre as escruturas das entidades e dos relaciomamen tos, ajustando-os paraa implementagio relacional, Caso voc®, intencional mente ou nio, ainda nio tenha feito qualquer tipo de normalizaczo sobre asestraturas dedados das entidades, esta seria hors. Veremos,maisadiante, 48 regras a serem aplicadas nesse processo. Pode-se dizer que deinar a preocupagto com a execugio do processo de nonmializayao para esse instante é 0 ideal. Se nos preocuparns anteci padamente estaremos, possivelment, introduzindo dificuldades adicionais 1no processo de modclagem conceiwual; se deixatmos para depois, teremos tum processo de ajuste das estrururas dis tabels dconcebidas que também levatéa preocupagées adicionais, opnso 4 ee Normalizagao apés 0 Processo de Derivagao do Modelo Logics ssa terceira opgio, na verdade, nao se caracteriza como uma opsio sistemitia. Ela 6 muito mais, um processo corretivo. Isso significa que, favo vocé nio execute 0 processo de normalizagio em um dos outres dois instantes j4 abordados, acabaré por eriar tabelas cuja estrutura nio esti ormalizads, o que results em deficiencias ¢ anomalias de projevo que, mais cedo ou mais tarde, terdo de sofrer os ajustes necessérios Veremos durante a abordagem das trés formas normais que 0 fato de uma tabela nfo se encontrar normalizada tradu, sob o ponto de vista de sistema de informagSes, anomalias que comprometem processos, integri- dade, dsponibilidade deinformacio, etc. Assim, normalizar uma tabela ndo 36 uma possibilidade mas sim uma necessidade se desejarmos ter sistemas, omenos, “bem comportados”. Acteditar que sepodeconviver com tabelas nfo normalizadas de modo sistematico ¢ uma ideia equivocads. Seus sist mas de informagio terio pouca ou nenhuma chance de sabreviver sem csiraturas de didos normalizadas. Hi de se ressiltar um ponto: Quando falamos en *desnomuaizar tabelas™ para fins de desempenbo, ajuste ou ‘outta finalidade qualquer, nJoestamos falandoemangonormalizar Estamos sim falando em ap6s termot normalizado uma tabela,regred-la,intencio- nalmente, a uma forma nto normalizada. Perceba que desnormalizarim- plicaanves normalizar, Existemeasos onde isso € possvel, dentro de limites ¢-contoles seguros, Nao & uma operacio simples ¢ requer conhecimento para que possa ser executada; portanto, tenha crtérios ¢ use o bom senso para aalinrem que situagBes se justifica esse procedimento. Beneficios da Normalizagao entre os virios pontos que poderiam ser citados como beneifcios direxos do processo de normalizagie podemos citar alguns que tém exem- plos priticos a serem apresentados e que, com isso, podem demonstrar sua cfetividade. 1. Patabilidade do Modelo Logica, 4 implementagia de tabelas nie nnormalizadas faz com que a estabilidade do préprio modelo Kbgico repre- sentativo dessistabelas vers: er comprometida. Por estabilidade enten- demos a capacidade de um modelo manter-seinalierado face a mudangas {que veniam a ser perccbidas ou introduzidas no ambiente que tenha sido modelado. (Caso as mudangas percebidas ou ocortidas no ambiente modelado venham a se refletir sobre o modelo légico e, por conseguinte, sobre as tabelas dofinidat para sua implementacio, teremos reflexos em diversos ives. Do ponto de vista de sistemas de informagio, poderemos eerimpac~ tos sendo causados sobre caminhos de navegacio eacesso a tabelas,origem eedestino de itens de dedos, métodos de obtencéo de informacoes, etc. Jé 176 eta do Modelo Logo do pontode vista deban— j dados, teremos impactos sobre as estruturas de armazenamento, alocaguo de espagos, previsio de taeas de erescimento, «etc, Todas essas mudancas acabarao, em menor ow maior grau, por afetar 0 desempenho e a produtividade do processo de desenvolvimento de apli- «agGes, Sabemos que hoje buscam-se meios para isolar as aplicagbes de ‘muadangas ecorridas no meio externo, ertando comisso cbter o maior gray de estabilidade possivel durante o ciclo de desenvolvimento de sistem ¢, assim, evitando os efeitos indesejaveis de um processo ciclico do tipo waterfall, Imagine um caso bastante simples onde um modelo (¢ suas tabeas) le ee Mesmo que vocé ainds nao tenha conhecimento exato da “Primeira forma normal” asruma que ca, em seu mais simples ¢restrito formato estabelega que “uma tabela nao deve ter itens de repeticio". Veremos maisadiante que ‘existem outros pontos envolvidos mas, por hora, nos basta para exemplif- caressa definigio resumida ne ie i seni as una isabel eu oe, em ged tea ‘Tabela FUNCIONARIO Colunas: Nome Data de Nascimento Enderego Valor de Contribuigio Sindical (repetindo-se $ veees) Valor do Salirio Basico Telefone Ramal O fato de mane “item de io” ic sermos um “item derepetigio” (0 valor decontsibuigio sindical) na estrurura da tabela faz com que essa tabels nfo obedega 2 ee chs resttigiey impostas pel prineita forma normal 180 por si 56, se analisado isokdamente, podetia nio nos dizer muita coisa de prdtico. Enirtant,vjamos coma estailidie gies de dose proceso pode ‘* Impactos sobre a estabilidade Igica das aplicagées. O fato de possuirmos cinco repetighes de um mesmo campo teria de ser Imapeado logicamente por uma aplicacio utilizando algum recurso ispontvel na linguagem de manipulagso, Esse recurso normal- mente € um vetor. O vetor € um elemento no qual coexistem diversos elementos, cada um alocando um espago dentro de uma estrutura de dados logicamente contigua, todos tendo um mesmo apie 117 nome cada um sendo referenciado por sua posigéorelatiy’ sntro dlesa estrutura. ‘vetor do cempo VALOR DE CONTRIBUIGAO SINDICAL valor (1) valor (5) [ator var (3) valor (2) 178 Imagine que um yetor, previamente definido para ter cinco ocorrtncae,« que tte sendo manipulado por uma série de apli- ceacoes distintas, precise ser expandido ou reduzido em suas dimen- '35es. Isso poderia acontecer se, por implicagées leguis, fosse ne- cessirio manter dados das dex tltimas contribuigSes € nfo somente das thtimas cinco, “Muito provavelmente, caso cuidados adiionas nio tvessem sido tomados, 0 algoritmos de manipulagio dos campos poderiam sofrerimpactos.Issoaconteceria também se 0 nmero de ocorténcias viesse a diminuir. Sabemos que alguns atificios poderiam at¢ isolar ‘esse tipo de impacto, mas considerando implementagées rotineiras, podemios considera esse exermplo como vildo. ‘© Impactos sobre a estabilidade légica dos dados. Considerando ainda © mesmo exemple visto anteriormente, vamos analisar 0 impacto gerado sobre as estruturas de dados pelo aumento ox diminuigio da quantidade de elementos do “item de repetigio”. Considere que tenha havido uma diminuigio de 5 para 3 anos na necessidade de retengio dos dados dos valores de contribuisio sindical. O que aconteceria com a estrutura da tabela? Teria de ser ajustada para “exclusio” das ocorréncias numero 4 ¢ mimero 5 dentro do vetor. Isso implicaria, dependendo do gerenciador de Inanecos de didos utilizado, maior ou menor esforgo, mas de qual- {quer modo haveria um reflexo direto na definiglo da estrutuca da tabela. ‘Ao mudarmos a esteutura ds tabela, acabarfamos também por refletiralguns impactos, maioresou menores,novamente, na esteu- ‘ura légica dos programas. Todos os programas que estivessem referenciando a ocorréncia de niimero 4 ou niimero 5 de um yetor desse tipo, apés a alteragio da estrutura da tabela,teriam de passar por algum tipo de ajuste. Poderiamos nos alongar mais em exemplos que mostrassem a instabilidade impostaaos modelos égicos de dadose.0s provestos, ‘quando esirutaras no normalizadas sio utilizadas. Veremos mais alguns desses impactos quando mostrarmos as anomalias envolvi- das em cada wma das fases de normalizagio de tabelis. Isso com ccercers Ihe dard mais elementos para avaliar esta questao, ‘Dovaco de Model ico 2. Flexibilidade. Ca caracterstica que pode vir a ser obtida como processo de normalizagh. Jas tabelas€ a flexibilidade, anto de processos como de utlizagio das estruvuras de dados, Por flexibilidade entendemos a capacidade de adaptacio a demandas diferenciadss, expansio e reducio, 2 omissdo ou presenga, etc Se, em uma estrutura de dados implementads, ndo tivermos a devida flesibilidage estaremos impondo restrigdes de usoe tornandoasestruturas de dados ¢ de processos dependentes de limites tigidos. Isso fard com que se tornem, por conseguinte, instiveis 0 que nos tra implicagdes jf sbor- ddadas no topico anterior. ‘Vamos considerarainda oexemploutlizadona segS0 “Impactos sobre a Extabilidade Logica das Aplicacoes”. O fato de termes definido de modo rnio normalizado a estrutura de VALORES DE CONTRIBUICAO SIN- DICAL faz. com que tenhamos de definir um niimero especifico de ocor- séncias a screi mantidas na tabela. Sej esse nmero 1, 2,5, 10 ou 100, teremos sempre uma estrutura inflexivel. Percsba que sempre 0 valor escolhido poderd ser excessivo ou insuficient. Se optamos por uma tnica ocorréncia para 0 vetor poderemos precisar de uma segunda ¢, cnt, ni0 teremos como armazeni-la, Se optarmos por 100 ocorrtncias no vetor podetemos precisar de 101 ¢ também teremos 0 mesmo problema, Por outro lado, se tivermos 109 ocorrénciasprevistas novetor eum funcionério recem-admitido com somente uma contribuicio, estaremos tendo uma éstratura que nos forgaré a manter 99 ocorréncias do vecor sem valores armazenados. O mesmo poderia ser verdadeiro se tivéssemos somente urna ‘ocorréncia no vetor ¢ um funciondrio fosseisento de contribuicio sindical. Para esse caso, mesmo havendo somente uma nica ocorréncia previst, cla nunca seria preenchida mas continuaria estando sempre presente na estru- tura da tabele Isso reflete uma estrucura inflexivel, ncapaz de se ajustar a variagbes, excegdes, etc. Ums tabela que esteja na primeira forma normal ‘io apresentard esse tipo de comportamento, sendo capaz deapresentar-se de modo bastante flexivel num exemplo como o citado anteriormente. 3, Integridade. As estrucuras de didos obtidas pelo processo de modelagem necessitam de recursos para que os dados a serem nelas ar ‘mazenados possam ter “qualidade”, A qualidade de um dado est vinculada a diversos fatores. Entre eles podemos citar acualidade, veracidade, fdeli- dade, acuracidade, integridade, ee. ‘A questioligada a integridade dos dados tem sido bastante iscutida ‘quando ligadaao ambiencede bancos dedados relaciomas. [sso muitas vezes temlevado a maioria das pessoas a pensar somente nos aspectos puramente lbpicos da questéo. Se uma referéncia de uma tabela um valor de outra tabela é satisfeito, parece estar satisteita a questio de integridade (pelo ‘menos aintegridade referencial).Entretanto, o préprio termo “integridade referencial” jf foi introduzido com o complemento “eferencial” para tomnar distinto seu conceito do simples conceita de “integridad Coptic - ‘A ineegridade” de modo genérico diz. espeito 3 qualidat ‘0 dado. Se um dado sobre certo objeto aparecer mapeado em mais de um local de modo diferente, com valores instanciados de modo diferente, poderemos ter inicios de que no hf imtepridade ene eles Isto nem sempre srd verdadeiro. Existirio casos onde esse dessincronismo ser& proposital, in~ Tencional, desejado ou até obrigat6rio. Fntretanto, em tantos outros casos Jrso serd realmente uma falta de integridade entre os dados existentes. TFsse tipo de anomala € algo que a normalizagio das tbelas procurard coibir, As segunda e terceirs formas normais nos induzirio a corrgit Slgumma anomalia que permitaa existencia de dados repetidos desnecessaria- mente ¢, ssim, sujeitos& falta de integridade (no necestariamente “refe- rencial) i Vamos imaginar 0 caso de wna tabela onde aparegam dados relativos as incriges de anos em um dao curso, Esa tbe poder te sido modelada, sem normalizaco, da seguinte maneira: ‘Tabela INSCRIGAO_ Colunas: Cédigo do Aluno Codigo da Disciplina Nome do Curso “Telefone para Contato com o Aluno Data da Manifouk, ad sca tabla sera alimentada por um processo de mattfeulas ond aluno indicariaque disciplinas de curso pretende cursar durante 0 présimo qemeutre, Cao oun no fosse aceto para cutsar ests dscipina por fa dle vagas. pre-tequisitos, ou por ter um fudice de apraveitamento escolar muito baixo, ele deveria ser contactado pata ser comunicado do cancela- ‘mento de sua inscrigio. efi een ger=| Sens] em* [ss fan foa [owe [eran [ie oon [oo | eames | seas | sro gous [oo [Ome | sm | cis owns [ou [rues | am | cas coe [ose [eee [eam | ris 180 Dernage do Modo Léico Perceba que, py “io estar devidamente normalizada, a tabel presenta uma deficiéncin bastaute ébvia. O telefone de cortato com 0 aluno para comunicagio de cancelamentode sua inserigio aparece de forma desnecessiia repetido ei cala uma das inscrigdes que ele tenba feito. Ese aluno mudar seu telefone? O que aconteceria se alguém atualzasseo tlefone em somente uma de suas insctigdes? Teriamos fata de integridade. Nio falkadeintegridade referencial mas simplesmente falta de integridade na informasio contida na tabela, Se consutsssemcs seu telefone em uma das inscrigdesterfamos mn rexultado, se consulissemos em outra terfamos outro, 4. Economia, O aspecto economia, quando se aborda o tema normal zasio, tem sido visto, basicamente, sob o prisma da economia de espago para armazenamento. Mas seria este 0 Vnico motivo? Nio temos visto 0 barateamento, cada vez maior, das midias de armazenamento de massa? E sesivermos apa de soba? Mesmo assim deverams esse aspect sob consideracio? A resposta € sim, Os custos de armazenamento, gerados pela re- [or] [aera E certo que o nimero do telefone também poderia ser desmembrado em PREFIXO DA CENTRAL MILHAR, Vamos simplificar essa estra- tra deixando-a somentc com esses dois atributos atBmices, por enquanto. © importante é perceber que PREFIXO DDD € um atributo distinto em relagio NUMERO DO TELEFONE. Eles traduzem informagées dife- ences, tom carecteristicas diferentes, regras de validagio diferentes, domt- ries dstintos, ou seis, so coisas diferentes e devem ser tratados separada~ Poderio surgir situagées em que atributos compostos possam ser ‘transformados cm um Gnico atributo arémico, pela perda da identidade de ‘eda um dos elementos anteriores. Vejamos o exemplo a seguir. O atsibuto NUMERO DO CGC ¢ o atribuo CONTROLE formadores do CGC poderio seragregados dar origem a somente um atributo chamado CGC. Teremos que, 1 partir desse instante, tratar sempre esse atriburo como _aGmico, Caso desejemos revuperar todos os CGCs com nimeros iguais & tum certo valor eeremos de, através de recursos préprios, endo os do SQL, cfetuar algum tipo de verificacao para recuperé-los, pois o NUMERO no weezeate |[ coorso | —> [s2azsnauooor-0 3. Em Cada Tabela Eliminar Grupos Repetitivos Gerando Novas Linhas, uma para Cada Ocorréncia de Item Repetitivo, Mantendo os Valores dos Demais Itens. A execucio dessa atividade, isoladamente, poxleri nes parecer bastante estranha Ao olbarmos aestrutura tabular que temios antes e depois dessa atividade, seremos levados a acreditar que tfnhamos antes uma estrutura bem melhor do que depois de sua execucio. Isso se deve 20 fato de, parentemente,estarmos introduzindo um grat de tedundincia bastante grande natabela normalizada, De fato, se parSssemos 20 final dessaatividade, nao dando prosseguimento asegunda forma normal (GEN), este seria realmente 0 resultado obtido: a geracio de um grav cle- ado de redundancia em nossstabela ‘Vercmos, mais a frente, durante a execucto da normalizagdo na se- sgunda forma normal (2FN), que voltaremesa obteruma estratara bastante ‘timizads, corrigindo, de certo modo, a redandincia aparente introduzida nessa atividade. Alguns autores, bareados no aspecto pritico do processo de normal zagio, mudam a especificagio dessa atividade, enunciando-a come: 190 Dovagde do Model Lica [Ehunclade alten 70 para complementagso da 1FN: ara cada laboa,lininar es grupos repoives garanco umanova takek, ‘na qual cea un! dos ions repetilias dart ongem a uma nova nha e na {qual a chave priméra sera 2 concatenagao da chave da tabele crginal am uma nova colina que identilque de moco univoeo a lirha Esse enunciado realmente nos evardao mesmo resultado da aplicagio ddo enunciado original seguido da aplicac3o da segunda forma normal. Po- de-se pereeber que © que se pretende com cle € ser mais objetivo no processo de normalizagio, “chegando mais rapidamente aoresuliado final’ Apesar de esse enunciado nao ser, fielmente, aderente a0 processo de normalizagio, baseado nos conesites matemiticos de relagio, le 6 cfeti~ vamente, correto ¢, portanto, vilido, Durante 0 exemplo que daremos a seguir, procuraremos apresentar 0 método corvencional, mesmo que tenha- mos que aguardar até segunds forma normal para restabelecer a estratara otimizada da tabela, Quanda mostrarmos o exemplo de normalizagio na segunda forma normal, voltaremos a apresentar essa questio, rdativa a0 ‘enunciado “alternativo” para a primeira forma normal e, ent30, voc@ veré que 05 resultados obtidos realmente sio idénticos. Exemplo de normalizagio na tFN Vamos imaginar um processo de madelagem de uma empress que é composea por varias filiais, Cada uma das filiis, periodicamence, eferua pedidos 2 seus fornecedores diretamente. Cada um dos pedidos percence a Somente um fornecedor, mas um pedido pode requisitar mais de um produto. O pedido utilizado pela filiais tem o seguints aspecto: (cur) Cs eae Gane ca inoson | voweoomome — [aoa meconTing| oa | os ow Sa | eoke & | ace wal | Sse % | Sem || Caphde4 191 Durante fase deandlisede dadose eaborago do modelo foram percebidas somente as seguintes entidades, atributos ¢ relacionamentos: Fa = }}-———9_PEDIDO PILIAL Envidade: Auribucos: | ccc. | RAZAO SOCIAL i ‘TELEFONE, ENDERECO BAIRRO CEP, Entidide: PEDIDO Aurbutos: NUMERO DO PEDIDO DATA DE EMISSAO NOME DO FORNECEDOR \ CGC DO FORNECEDOR, ENDEREGO DO FORNECEDOR, PRODUTOS (ATE 10) CONTENDO: = CODIGO DO PRODUTO =NOME DO PRODUTO QUANTIDADE PEDIDA - PREGO UNITARIO- erceba que durante 0 processo de modelagem somente foram iden- tificadas das entidades: FILIAL ¢ PEDIDO. Voc, com certeza 6 ria oa utra crnidadesdsinas tas como PRODUTO, FORNECE- DOR, etc Entretanto, vamos partir de um modelo NAO NORMALI- ZADO para, também, mostrar que 0 processo de normalizagio faré com {Que arom, espontancemente, at entdadesainds nao modeladas. ‘O primeiro passo necessério paraa normalizagdo cm 1FN ¢ obter uma forma tabular de representagio dos dados. Isso implica dispé-los em for- rmato de linhas e colunas. Para facilitar esse entendimento, e também a visualizagio do processo de normalizagio, iremos montar uma tabels con~ {endo lihas ecolunas que servirio como exemplo, Esse procedimento nio um passo obrigat6rio durante a normalizacio. Ele serve somente como meio pata facilitar a visualizacto do proprio processo. “a ‘Dei do Modelo Leo Oprocessod _rmalizacao deverd ser feito para cada uma dis tabelas existentes no modelo jf obtido. Iremos tratar,entretanto, somente a tabela PEDIDO (que jf sabemos de antemio nio esti normilizada). A tabela PILIAL podra ser validada por voc? posteriormente, Observagto: Iremos incluir na tabela do exemplo outros pedidos executedos para outros forecedores, a fim de poder dar uma visto mais abrangente do possivel contetido de uma tabela de PEDIDOS. TABELA PEDIDO NAO-NORMALIZADA jp \/z., } Mom, [262 [Ente [rnoouros mama ida. prego fre poe ox om fan esa seman [econ [amr foe Joos To Ta tes (nec | 3 | Sen om fern [ecasttmare |eocas6z0 lar locas feorer | ce | senco eae later | Se | “oe 1 fervor Jeompwotn |reseesozs |reyorz2 |imaa loos | se | 1100 fast (asc | $6 | to 76 |reatsr feastonaie |eoeroaz fives foam fw | ve | sono teno_ [ever _| te | “oro ssa € a primeira representagio possfvel, em formato tabular, da en- tidide PEDIDO e seus atributos (agora coluinas). Pereeha que transfor. ‘mamos, em prinefpio, nossasestrucuras de dados em um formato de inhas ecohinas. Temos uma tabela com 4 linhas © 6 colunas. Note que o pedido 003 est representado, por enquanto, por s6 uma linha. Note também que colina PRODUTOS um item de repecisao onde podem aparever a 10 produtos de um mesmo pedido, Podemos perceber, claramemte, que essa tabela ainda nio esté na primeira forma normal. Por qué? Porque para ter uma abela na primeira forma normal devemos: 1. Acabar com os itens de repeticdo, 2. ‘Transformar os atributos em atributos atdmicos. 3. Definr uma chave para que tenkamos unicidde nat lnhas da Vamos analisar cada um desses passos e executi-los sobre a tabela 1, Acabar com Itens de Repetigao, Seguindo as explicagies dadas anteriormente, deveremos tomar eada um dos itens de repetigio e com eles dar origem a novas linhas da tabela onde o conteido des demais colunas sero mesmo da linha origina. Fazendo isso, obteremosa seguinte abel: epio & 198 free on +r [evastctware [eoceonre [rvso _foxse _fzaer_| 0 | erso] te roe tt Poe : 023 fear cam sotmare |to1emeee fis 77 Jooau |core. | ot | 4sn10 xa |eosan cam sohwure feowmnae fixm77 |resi asc | 1 | 2s800 on fern lorsictewe leoaoin7e |ruso — fovaw cone. | ov | aso ox fern [erasers |eoaeio7e |iuco fosse Jzarr | 10 | e000 5 |erser lcorpstewna frezesoz |rwp ize fossa cos | so | 11000 as fersee |conpswiand |recetsozs |reiss2e Jue [ae | m | 11000 0 [rite [ostamewe |sooeo7% |mio foxx |m | 15 | xn00 ftsun [enn che fzenne0 ina fr77 fosta [os |[o | 30 lan |camSotam fzazae10 na |r77 fou |cores | or | uo lan |cava ota fzacmno |uapa |r77 fran [aac | 19 | 2sen0 fn Joonnatnt |rewasasa frois (oe fray er lecastatnre lecerca70 fou lio foc evar Jerastotware loos7e=970 |v [so fase fever | wo | ergo Jaren [computers [rezassia ro |r22 fossa loos | eo | 11000 jn 1s | 2mm ora 008 es ‘Transformar 03 Atributos em Atributos AtOmicos. Analisando os atributos existentes podemos identificar alguns que podem merecer cuidados adiciomas. Definitemos gue: # © atributo DATA DE EMISSAO sera tratado de forma atomica airavés de via coluna definida na tabela como pertencente 20 dominio DATE. Esse éum tipo de dado especial em que toda adata €manipulada como um item atomico. + © atribueo CGC ser4 tratado, também, de forma ardmica, nfo sendo separado em NUMERO ¢ CONTROLE. + © cédigo do produto seri trstado como atdmico, apesar de sua estrutura conter um c6digo alfanumérico, + 0 enderogo serd desmembrado em RUA e NUMERO DO IMO- VEL porsetratar de dados com naturezas completamente distintas, representando caracteristicas completamente diferentes Caso desejtssemos separar, por exemplo, © CGC em duas colunas distintas NUMERO ¢ CONTROLE, bastara representi-las de modo av- ténomo e prosseguir com as prOximasatividades. ‘Adoxando-se as estratégias citadas, acabarcmos por obter a seguinte abel: 194 Doivagto do Model Lica 3. Definiruma Chave para que Tenhamos Unicidade nas Linhas da “Tabela. Para adefinigio dachave da tabela, devecemos observar os atributos da abela eprocuraridentifcsraqueles que sozinhos, ov ssociados 2 0utros atributos, garantam a nto repeticio de valores em mais de uma linha, Normalmente esses ateibutos estarioassociadosa dominios definick CODIGOS ou NUMEROS, entretanto, esta nio é uma exigéncia de riterte6rico e sim pritic. No caso da tabela PEDIDO, um atributo que nos chama a atengio, ‘em um primeiro instante, & 0 préprio NUMERO DO PEDIDO. Se o¢ pedidos tém, originalmente, um nimero,¢ grande a probabilidade de que ele sirea como meio para diferenciar linkas dessa tabels. Para verificar se esse atributo serve como chave, deveriamos plicar algumas indagacoes sobre sua aplicabildade © Um nimero de pedido pode se repeti em uma mesma filial? ‘= Um niimero de pedido pode se repexic em diferentes fils? Por defini, em nosso ambiente observado, foram levancadas essas informagoes ¢ a resposta em ambos os catos foi NAO. Caso a primeira pergunta tivesse resposta positva, triamos de optar por uma outra chave identificadora para a tabela PEDIDO diferenciando dealgum modo, alvez ‘com a agrega¢io de algum outro atributo, dois pedidos que tivessem 0 rmesmo néimero em urna mesma filial. Caso a segunda pergunta tivesse resposta positva, terfamos que, 10 menos, agregar como atributo de iden- tificagao do pedido, © atributo de identificacio da filial, Isso tornaria dois pedidos dendmero igual, porém de filiais diferentes, distintos ent si. Caso as duas perguntas tivessem resposta posiiva, terfamos que agregar as cestratégias utilizadas em cada um dos casos isoladamente e, entio, obter ‘uma solugio global que atendesse is duas situagcs. JAsabemos, 2té 0 presente momento, que 0 ariburo NUMERO DO PEDIDO nio se repete para dois pedidos distintos. Mas seria isso sufi- captso4 195 ‘ciente? A resposta NAO. Precisamos tornar distintas duas linha tabela PEDIDO e isso envolve analisar toda a linha, Se observarmos, logo de inicio, aslinhas |,2¢ 3 databels, perceberemos que todas tém o NUMERO DO PEDIDO igual a 003. Também nas linhas 4 ¢ 5 temos a repetigio do NUMERO DO PEDIDO igual 2 004 e assim por diante. Fica claro perceber que somente com oatributo NUMERO DO PEDIDO nie con- Seguiremos identificar de modo distinto uma linha da tabela, pois dado o riimero de pedido igual a 005 poderemos identticar mais de uma linha simultaneament. Tss0 nos indica que, ou deveremos buscar outro identificador para 2 tahela, ou deveremos associar mais algum atributo ao atibuo NUMERO DO PEDIDO. Se analisarmos cada um dos atributos da tabelaisolada- Dado. AIUD. FPoderemos lenificar Quanta Linhas na ‘abela? ‘NUMERO D0 PEDIDO ‘Vata ina 1, 2 08 com 003) DATA DE ENISSAO Veta (nhas 4, 5,66 7 com 27~Jan) NOME DOFORNECEDOR | Véreslinhas 4 §, 8 € §com rastsotwae) ecCDOFORNECEDOR | Varies inhas 667 com 7932253-23) RUADOFORNECEDOR —_| Vie inhas 4, 5, 8 ¢ 9 com Rua) NUMERO DO VEL sis inhas 1,2 € 30m 777) 60160 00 PRODUTO ‘Visi (lina 1 6 com 633A) NOME DO PRODLTO ‘Vis (inhas 2 64 com COREL) ‘QUANTIDADEPEDIOA Varies (lina 5.9 com 10) PREGO UNITARO ‘ris (linhas 6 7 com 110.00) Isso nos leva a cousideray qus isoladamente, nenluan dos atsibutos databela é um CANDIDATO A CHAVE, Teremos,entio, que partir para associnghes entre mais de um atribato. ‘Como, para chegarmos 3 tabela auual, fizemos une “explosio” dos itens de repetigio relativos s PRODUTOS, ¢ bastante provivel, senio ‘quase certo, que encontraremos nos atributos reltivos a PRODUTOS 0 xtributo que, associado a0 NUMERO DO PEDIDO, nos levaré « wm identificador para abel, Deveremos, portanto,andlisar se, dado o NUMERO DO PEDIDO ¢ mais um airiburo do PRODUTO, obteremos um chave univaca. Ve- jamos: 196 Dotvegso de Model Lica ‘Obleremoe Quentas Linhae na NOMERO DO PEDIDO + C00IGO.DO | Soment inna com 004 @ O63) PRODUTO NUMERO DO PEDINO + NOMEDO | Somento 1 finha 8 com 006 @ ZAPT) PRODUTO NUMERO DO PEDIDO + QUANTIDADE | Visas (inhae 6 0 7 20m 005.050) PEDIDA’ NUMERO DO PEDIDO + PREGO Vins (iehas 66 7 com 005 6 UNITARIO. 116.00) Perceba que as combinagdes NUMERO DO PEDIDO + CODIGO DO PRODUTO e também NUMERO DO PEDIDO + NOME DO PRODUTO sio chaves candidatas da abel, pois nio definem potencial- mente mais de uma linha. Dissemos que sao potencialment: candidatas a chaves porque, simplesmente, essa €a regra atual do ambient modelado, Em outra situagio poderism nio ser. Em nosso exemplo, estamos as- sumindo que em um mesmo pedido nao aparecerio dss, ou mais veze repetidos © mesmo cédigo de um produto. Se alguém desejar pedir para 0 mesmo fornecedor duas vezes 0 mesmo produto em umm mesmo pedido, bastard mudar a quantidade pedida na primeira especificagzo ao inves de eFiar uma outra linha dentro do pedido. Isso poderia ser diferente em outra empresa e, entio, também, somente esses dois atributos associados nao mais seram suficientes Em nosso caso, como temos duas chaves candidatas, escolheremos ‘como chave da abel PEDIDO a associacio NUMERO DO PEDIDO + CODIGO DO PRODUTO, pois nos parece mais natural trabalhar, inter nape ‘no sistema, com CODIGOS do que com NOMES. Isso nio sig- nifica que o usudrio nio possa vir a ter outra visbilidade, associada aos NOMIS DE PRODUTOS, em seapliagi Com isso, obteremas a seguinte tabla: BE lee [Rome (IM es ee [Oo Jot feosn fon steve Joao Je fr Joos | or | non oan fron fas ste fees fae |r7 leone | 0: | ero tom loam soem leaned live [ror [asc | 1 | asm Jona Jerson fornsoneae Jenireve fiw jo» fconen | | sono Jorsa fersan [conpstetans |rsszsazs |rais |rz2 joos | 0 | 1000 jest [27am computa |roszasszs fro fizz asc | so | 11000 Joc |reame ferusonere lenaroezo fou foo ww | a5 | asco 88882888 alee z Joxsr [seams forstonee loosrnezo liu so _lzart__| 10 | ano epso & 197 ara fins de melhor visualizagio, colocamos as columas pert entes seh ert doee bela jms como as primes cones da bel Isso nio 6, necessariamente, um requisite formal. Pereeba, também, que tuilizamos os nomes das colunas sublinkados para denotar que ¢ssas colu- has #4025 chaves da tabela. Alguns outros autores uslizam outras notagbes Dosiveis, tis come: # Delimitar os nomes das colunas pelos simbolos *<* ¢ “>” como, por exemple, Fanon [sees ows [usm ooo [row |i. [aime Jone [ore iba [Boa> [Erie, [Fomcoaor | nce «© Prefixar o nome das colunis pelo simbolo “#*: ees = ae ee See ie ie CObreroagto: Alguns avcores utlizam o simbolo “#” simplesmente como substato pars NUMERO o CODIGO, sem associ 20 cone de have identificador. Isto poderd confundi-lo em alguns instant=s. Procure {dena bem qué notagiotiizada em eadauma ds feramentas CASE, téenizas de diagramagio ou representagbes existentes es livros, Exemplo: Je Jum Jone rome face |r [mes [nome Jone |e 4 Hsctever 20 hido do nome da coluna a sigh PK (Primary Key): [nan.Pea. [cde Prot [oat [Nem [eae mua |rimér. [Nome Jade [Prere leno [en emis. [Pomecesr |_| ros tn Tendo atingido esse ponto, eemosa tabela PEDIDO normalizada em sua primeira forma normal (IFN). Isso, com certeza, nio € o suficiente ‘Ainda temos, nessa situagéo, uma série de anomalins na tabela gerada Para sanar essas anomalias, deveremos busear a segunda formal normal (FN) Vejamos quis da os problemas existentes nessa forma normal ‘Anomalias existontes em ume tabela na Primelra Forma Normel (1) Ivewo sonar as anomaly existent na primeira forma nora divi dindo-as em grupos Esse grupos estario sendo definidos pels operagdes que poderiamos desejar efetar sobre a tabels. Se para essa operagdo existirem restrgdes ou deficéncias,entio teremos earacterizado uma anomali, 198 Desvego do Model Lica # INSERCAO: 86 € posstvelincluir um novo fornecedora partic de um pedido. Se nosso sistema fosse, nica eexclusivamense, baseadona abela apresentada até 0 momento, nio poderiamos cadastrar um novo fornecedor em nossa tabela, amenos que surgisse um pedido para cl. Assim, se desejSssemos incluir ofoenecedor SoftwareTech,bem como seus aos, terfanios que aguardar até que um pedido fosse yerado para ele, Pica claro que deverfamos ter, dc alguma maneira, uma tabela distintss6 para o armazenamento dos fornecedores. Essa tabela sur pita partic da aplicagao da segunda eterceira formas normais. Se incluirmos um pedido novo com CGC DO FORNEC! DOR = 8242888-80 ¢ com 0 NOME DO FORNECEDOR “Casa des Softwares", qual seri, no futuro, a denominagéo vilida para esse fornecedor? “Casa Software” ou “Casa dos Softwares"? Como a incluséo dos dados do fornecedor esti ligads « um pedido, nada impede que dois pedidos diferentes contenkam dades diferentes pars um mesmo fomeceder. Isso poders acontecer com qualquer um dos atriburos do fornecedar: nome, telefone, endereco, ete, Pareee também claro que iss0 0s aponta no caminho de uma tabela exchisiva para conter os dados do focnecedar. Uma tabela onde unit ver ctdastiallos os dados de um fornecedor 140 mais. pre cisSssemos repetir essa operagio. A tabela surged d aplcagio da segunds ¢terceira formas normais + ELIMINAGAO Se climinarmos 0 pedido 005, perderemos toda a informagio sobre o fornecedor *Computerland”, Nessecaso, podemosperceber que o favo deum pedido concer, em sua estrutura, os dados do fornecedor, vinculados diretamente 2 sua ‘xisténcia, pode nos levar a, simplesmente, perder esses didos quando ‘um pedido for ex:lu(do, Em nosto.exemplo, como o nico pedido onde 0s didos do fomecedor “Computerland” aparecem é 0 pedido 005, sa cxclusio fard com que também os dados do fornecedor se percar. * ATUALIZAGAO: Seadata do pedido 003 tiver de seralterada de 20-Jan, para 2t-Jany teremos que efetuar essa operacio sobre varias linhas da tabela. Capitso “06 © fato de stributos pertencentes, tinica ¢ exclisi rente 20 pedid, estarem associados a linhas da tabela que representam cada tin los prodttos lo pect, fxz.com que baja redundincia de dades. Hissa tedunudincia, como fdissemos, nos levard 4 necessidade de redundincia de processos, on repetigdes de processos sobre mais elementos do que as essencialmente nevessarios. ‘Veamos.em thes imerpretagio do enunciado “Fstd na primeira forma normal." dene Fart auesealique era daseguna forma normal sobre ms abla levese garantir, primeiramente, que ela este na primeira forma normal. Caso isso ndo seja feito, nio haverd sentido em se aplicar a 2FN. Se algum dado do fornecedor “Brasilsofiware” mudar, tere~ mos que atualizar diversas linhas da tabela, inclusive em diferentes = “cada uma das colunas ndo pertencentes 3 chave priméria .” ent eat dina cho queso analiar una abe, van a ve- sifiea a necessidade de normalizagio na segundh forma normal deveremos CGC, telelone, endereso, ov qualquer outro dado do fornecedor Shane SAT ae lee ee “Brasilsofeware” tivesse de ser alterado, veriamos que cfewser essa Se ee operagao sobre as inhas 4 € 5 (do pedido 00M) e rarabém nas linhas 8 » wie te cheern £9 (do pedido 006) Caso algum dos dados de wm fornecedor venha a mudar, sert necessirio processar a alteracio em cada uma dis linhas de cada um 140 for dependente parcialmente dessa chave.” steps Forma acme EW) A dyed pai de uu have se pose a hae p mii ela for or mais C we Ta eee Se ee eee rnonmal sobre urna ubela poderé ainda nao ser suficiente paraa geracio de ae ‘uma estrutura sem anomalias. O intuito da segunda forma normal (2) — @ avancar, ainda mais, na diregio de uma estratura de dados que nfo ‘contenha anomalias. Poderdo existir casos onde somente aplicando-se as bial weRA2 regeas da primeira forma nocmal ja venhamos a obter uma estrutura 2ca- GA] SB [Oe] a0 fore aa cana era ‘ada, © que isso significa? Que, na verdade, nossa tabela jf esté normali- zada, naturalmente, nas segunda e eerceira formas normais, Para constatar isso. teremos de tentar aplicar as regeas da segunda ¢ terceirs formas rnotmais sobre a tabela. Se verfesrmos que nao existem as caractristicas indicadas pela segunda e terceits formas norms na tabea, entio teremos Comprovado sua normalizagio natural, O mesmo caso seri verdadeiro em Fon ania som relagio 4 segunda forma normal, Muitas vezes bastard que venhamos apli- POOCOUNIOESTANNA GN ado as regras da segunda forma normal sobre uma tabela para que ela Lumb js esteja normalizada na tereita forma norm {ESTA AJTOUATICAMENTENA ZN Mas o que signifies exatamente dependénca pare 2 gina her egeal rnin eke age eg Definigao da Segunda Forma Normal seja determinado nio necessitarmos conhecer a chave como um todo, na sim somenteum oualguns de seus valores, Assim, cadacolum deuma tabela {gue no pertenga 2 chave e que possa ter seu valor determinado por um EE ‘pedago” da chave € dita como *dependente parcialmente da chav das calinas néo pertencentes chave primaila ndo for depencente parcialmente dessa chove. 200 Dut oe Lon o; ae 201 ———y cermobianrwrons fesse exemplo, perceba que o valor di coluna E +6 depende do valor an eae Peniheido, logo depend parcialmente da chave da TABELA A. [4 0 valor di coluna C depende completamente da chave Poderfames ter um exemplo concreto que representasse essa situagio do seguinte modo: ee a-acenm lor oie [ome | ato | daath | sim a ceferoGarme, bercAOECArANCAL Imagine uma tabela de INSCRIGOES de alunos em determinados ‘cursos. Ela ji estdrna primeira forma normal mas ainda nfo nasegunda forma rocmal. Temos claramente colunas que tém seus valores dependences de somente parte a chave, No caso do NOME DO ALUNO, podemos pereeber que conhecsndo o CODIGO DO ALUNO poderemos determi- thar seu nome mesmo que no tenhamos conhecimento do CODIGO DO CURSO onde se inscreveu. © mesmo € vilido para o NUMERO DA SALA onde o curso seré ministrado, Desde que conhecamos 0 CODIGO DO CURSO onde o aluno se inscreveu, poderemos determinar o NU- MERO DA SALA onde cle seré ministrado mesmo que nio ssibamos 0 CODIGO DO ALUNO que esti fazendo 2 INSCRICAO. Essas duas siruagbes denotam dependéncia parcial d chave paras colunas NUMERO DASALA e NOME DO ALUNO. ae Dora de Node Leo Por outro lado, ra que possamos deserminar a DATA DE INS- CRIGAO deveremos conhecer tanto 0 CODIGO DO ALUNO como o CODIGO DO CURSO, Isso porque se sé tivermos como informagio o CODIGO DO ALUNO poderemo: obter diversas DATAS DE INS- ‘CRICAO, uma para cada curso onde ele se inscreveu. Do mesmo modo se 36 conhecermos 0 CODIGO DO CURSO poderemos obter diversas DATASDEINSCRIGAO, umaparacadaalune que tenhaseinscrto nesse curso. Essa situagao denota a dependencia total da chave para a coluna DATA DE INSCRICAO. Processo para obten¢o da Segunda Forma Normal (2FN) 1, Tdentficar as colunas que nio participam ds chave primitia da tabels, 2. Para cada uma das colunas identificadas, analisar se seu valor € determinado por parte, ou pela toralidade da chave. 3, Para as colunas dependentes parcislmente da chav: © Criar novas tabelas onde a chave primiriaseri(io) a(s) colu- tra(s) da chave primaria original que detcrminou(aram) o valor a coluna analisada * Excaieda bes orga as colums dependents pacahmente chave. 1, Identificar as colunas que ndo participam da chave priméria da tabela. 0 iinico cuidado a ser tomado nesse passo & idemificar a notasio utligada para representar a tabela e sua chave. Nem sempre as colunas- chave estario agrupadas no infcio da tabela ou se estiverem nem scmpre utilizario uma notacio conkecida. A partir da idemtificagao das calunas que formam a chave, bastard ignori-ls durante o processo de analise ¢ 0 que restarf serdo as colunas que nos interessam. 2. Para cada uma das colunas identificadas, analisar se seu valor € determinado por parte, ou pela totaidade da chave, A identificagio da dependeacia parcial ou total da chave deverd ser feita coluna a cohuna mesmo que isso paregs um processo demorado pars saquelas cabelas que contenham dezenas de coluras Essa anilise poderi ser acelerada com a experigncia de cada um no dominio que estiver sendo modelado. Para alguns serd mais fill identficar se urna coluna & depen- dente parcialmente da chave ou rio. é para outros, tlvez seja necessirio Cte 4 208 algum apoio exicrno para essa idenificagio. De um mado ou d1tr0, 0 {ato importante é que iso deve ser feito e a hora é esta, Nem antes nem depois: Para identificar a dependéncia de uma coluna em relagio 2 chave deve-se indagat: ‘© Pera que seu valor seja determinado, qusis sto as colunas da chave que devem ser conhecidas? ‘+ Quul seri 9 menor “pedaco da chave” que me permitiria obter um valor paras coluna analisad? Se pars alguna dessas perguntas for possivel identificar um “pedago” de chave que determine o valor de agama coluna,reremos carscterizado uma bela que ainda nao est na segunds forma normal. Una boa estratégia é utilizar-se de exemplos com valores reais. Pense cm valores instanciados nas colunas eimagine como eles estio inteligedos. Como uns determinam 0s outros. 3, Para as colunas dependente parcialmente da chave, criar novas ‘tabelas onde a chave priméria ser4(o) a(s) coluna(s) da chave priméria ‘original que determinou(aram) o valor da colina analissda ¢ excluir da tabela original as colunas dependentes parcialmente da chave, ssa Ga fase ativa desse processo de normalizagio. Até agora somente tenvivamos identifcar se stabela precisara ser normalizada ov mao. Agora esraremos aginda sobre a tabela orginal, desmembrando-a cm novastabels ‘0 processo de normalizagio ds segunda forma normal dirs origem a novas tabelas, fazendo com que objetos nao observados distintamente © colocados juntos em uma mesma rabela venham a ser separados. Esse processo “garante” uma maior fidelidade a0 processo de normalizagio. E claro que essa fidelidade também estard sendo fortemente dependlente da correraidentificagio das colunas parcialmente dependentes da chave. Po- derio vir a existircituagées onde + compreensio equivocada de alguns elementos faga com que colunas pacialmente dependentes da chave con- tinuem associadas totaidade ds chave simplesmente porque mio as iden tificamos corretamente. ‘Aplicando-se essa regra sobre a estrutura da tabela INSCRICAO, vista no exemplo dis dependéncias parciais, passarfamos a teras seguintes Labels apds a normalizagio na segunda forma normal: 208 Dera do Made Loico TABELA SCN HORA ALUNO TASELAGURSS oz) ae] ne, |[ee| ox. [fee] ee Perceba que ja passamosater és tabelasdistintasao invés de somente ‘uma, Surgirim, pelo processo de normalizagio, as tabelas ALUNO e CURSO. Muito provavelmente elas deveriam ter sido percebidas i no instante da constragio do modo a ser explictadas por esse processo. Como dissemos, essa & uma das finalidades bisicas da normalzacao. ‘Vamos voltar a0 nosso exemplo completo em gue apresentévamos vim ukence BEDIDOS ro nomads No aise eto neler rmamos a estruturainicial dessa tabela em uma estratura normalizada na primeira forma normal, O resultado que obtivemos foi o seguinte: mesmo que nia fossem, passariam Fed [Bist [Ens amcnne [°° |" [inde [Pree |°* [trt? coo [sa [zon foussimen facanoen fume [rr Joos |» | 1000 cos fom leon fossazutor fecaso fis [77 foorer | 1 | s0on0 cor {sass [aan forasdivam [rarmaan liane |r anc | 10 | saa0 0 fron eran Jonsiesnace [enrae70 |v lar |oorer | 22 | 4son0 cos frase laren fonsecmae jerraoro fw lar fear | 10 | asso 05 fossa ern Jompuinind |naczioes frais |r:2 fos | so | 030 cos frais forse feats |rwcsven legs rsa fave | so | i000 dev aado-ae sobre ese tabel repr da segunda fom oma “Analisar as colunas no chave..” Essas colungs sio: DATA EMISSAO, NOME FORNECEDOR, CGC, RUA, NUMERO IMOVEL, NOME PRODUTO, QUANTI. DADE, PREGO UNITARIO. “identificando as dependéncias parciais..” Para cada uma das colunas descritas anteriormente, podemes identi- ficar as seguintes dependéncias: cepmuo 205 ‘cowra Dependéncia | Chave DATA EMISSA0 PARCIAL NOMERO PEDIOO Nome ronnrernon | PARGIAL NOMERO PEDIO esc PARCIAL NOMERO PEDIDO PUA PARCIAL NOMERO PEDIDO NOMERO INOVEL PARGIAL NOMERO PEDIDO NOME PRODUTO PARCIAL ‘c601e0 PRODUTO ‘quanninane TOTAL NOwenO PEDIDO + CopiGOPRODUTO PAEGO UNTARI TOTAL NUMERO PEDIDO + {C6060 PRODUTO Nao é muito dificil perceber que se mudarmos somente © NUMERO PEDIDO, independencemente do CODIGO PRODUTO, teremos de- terminado outros valores pars DATA EMISSAO, NOME FORNECE- DOR, CGC, RUA e NUMERO IMGVEL. Estes slo atrbutos que par ticipam como um “cabegalho" do pedido. Cada diferente PEDIDO tem cevses valores determinados por seu NUMERO PEDIDO. Para a coluna NOME PRODUTO estabelecemos que, em nossa ambiente modeledo, a reges existente & Sum mesmo CODIGO PRO- DUTO™ determina sempre um mesmo NOME PRODUTO independen temente do PEDIDO. Taso porque, em nosso modelo, o CODIGO PRO- DUTO 6 algo existente no dominio do proprio cliente, Algo como um “cadistro de seus proprics produtos, com sua notagéo prépria”. Pode- sfamos ter uma outrs realidade em outro exemplo. Poderiam existir casos ‘onde cada diferente PEDIDO 2 um diferente fornecedor utlizasse os tdiigos do préprio fornecedor. Af entio terfamos que estbelecer outras dependéncins diferentes das citadas anteriormente ‘Com regio 3 colina QUANTIDADE, fics claro perceber que para se conhecee “quaniasunididee" foram pedidas a um fornecedor énecesiro saber “qual pedido” e “qual produto’. Se s6 informarmos o NUMERO PEDIDO ccremosviriag quantidades, uma pars cada produto desse pedo, Se 6 infor- mnamoso CODIGO PRODUTO teremos vias quanidades, uma para cada pedilo once aparega este produto [sto denota dependéncia tora Paraacolana PREGO UNITARIO, novamente, deveremos estabele- cer qual ¢ 2 regra vilida para o ambiente que esté sendo modelado. Para Simplificar nosso exemple, assurmiremos que esse valor € uma cotacio de preco do produto feita pelo fornecedor para um pedilo especial eque nfo {emos em “nosso eadastro” o prego associado permanentemente 20 pro- dduto. Se tivéssemos o prego associado permanentemente a0 produxo de- ‘veriamos dizer que a dependéncia da coluna PRECO UNITARIO seria parcil para a chave CODIGO PRODUTO. 206 Deivago do Node! ico «.,criando novas_zlas com as colunas dependentes parcialmente das chaves, e exeluindo essas colunas da tabela original.” Aplicanul essa reg, obteremos as seguintes tbe: TABELA ORIGINAL (colunas dependentes totalmente da chave) ‘Si, tee. | Progo Unt. 0398 Cy nem ot 148 13 ove 2 nse 10 0338 50 148) 0 ona nse TABELA OBTIDA POR DEPENDENCIA PARCIAL (chave “NUMERO PEDIDO") Mim, | dete | Nome cae. Fun | Nim. Ped. | emiss._| Fornecedor mov. 00s | 2ovan | casa sonware| ezazaeeso | Lapa | 777 oor | zrvan | rasisonware | evsrace70 | 1 ry 0s | zrvan | computerana | raszess20 | rojo | 122 005 __| 14var_| Brasisorware | eos7aee-70 | my a TABELA OBTIDA POR DEPENDENCIA PARCIAL (chave *CODIGO PRODUTO") ‘cod.Prod, | Nome Prod. aA bos coz COREL 4 ABC ssp Bet 20k win capo 4 207 | ‘Anomalias existentes em uma iabela na Segunda Forma Normal (27 J4 vimos na primeira forma normal que, mesmoap6s realizado 0 pro~ ceesso de normalizagio, continuavam a existir anomalas ma estrutura de ddidos obrida. Na segunda forma normal poderemos idenificar que algumas fnomalias foram corrigidas, outras reduzidas ¢ ovtras ainda preservadas. Isso nos evaré a ter de buscar mais um nivel de normalisagéo. ® INSERCAO: $6 6 possivel incluir um novo fornecedor a partir de um pedide. ‘A anilise dessa anomalia a foi feita na primeira forma normal “Temos aqui ainda presente, a mesma anomalia Se incluirmos um pedido novo com CGC DO FORNECE- DOR. = 8242888-89 e com 0 NOME DO FORNECEDOR “Casa dos Softwares”, qual sera, no fururo, a denominagio valida para esse fornecedor? “Casa Software" ou “Casa dos Softwares"? ‘A anilise dessa anomalia js foi feta na primeira forma normal ‘Temos aqui, ands presente, a mesma anomalia, © ELIMINAGAO: Se eliminarmos 0 pedido 005, perderemos rods a informagto sobre o fornecedor “Computerland”. A anilise dessa anomalia jé foi feta na primeira forma normal “Temos aqui, ainda presente, mesma anomvalia, TUALIZAGAG: ‘Se a data do pedido 003 tiver de ser alterada de 20-Jan. para 2i-Jan, teremtos que efctuar essa operagio sobre virias linhas da tabela, ‘Essa anomalia aparccia na primeira forma normal e agora, ap6+ ‘6 processo de normalizacio da segunda forma normal, foi corrigida, nto mais existindo. ‘Se algum dado do fornecedor “Brasilsoftware” mudar teremos ‘que atualizar diversas linhas da tabela, uma para cada pedido onde ele aparesa 208 ‘Deri do Model Lica Anteriormente, 4 sensio das atualizagées era muito maior do que agora. Diminumos consideravelmente o nivel de redundincia na tabel, tas ainda temos de awalizar diversas linhas da bela se 0 dado de um fornecedor lor slterado, Pertanto,aanomaliafoireduzida mas ainds existe. Toresira Forma Normal (3FN) Visando a transformar estrutura dedados obtida atéa segunda forma normal em uma estrurura isenta das anomalias constatadas, deveremos buscar a terceira forma normal. Como jé dissemos na primeira forma normal, nem toda tabela precisaré ser transformada pela aplicagio dos pastosds 2FN e3N, Algumas tabelas poderiojs, ap6s aobtencio da2FN, estar automaticamente na erceira forma normal. Para verificar se ela jase encontra na terceira forma normal deveremos analisar tabela com base na definigto a seguir Defnicio da Terceira Forma Normal coluna ndo portencerte & chave fica determinade tansiivamerte por esta, “Se esti na segunda forma normal...” ‘Também nesse ponto é importante garantir que os passos anteriores (IFN € 2FN) jt foram realizados devidimente. Sem executé-los prev ‘mente nie havers sentido em aplicar a 3FN. se nemhuma coluna ndo pertencente a chave.." Esse enunciado deita claro que nessa atividade 6 deverio ser anali- sacas as colunas nfo pertencentes chive. Independentemente de se nossa chave é composta por uma ou diversas colunas deveremos omitir essas ccoluras daandlise,Ascolunas que nos interessam para aandlisesiosomente as nio formadoras da chave primaria da tabel “wu fica determinada transitivamente por esta” ‘A dependéncia transitiva deuma chave 6 seréposstvel seatabelstiver ‘a0 menos duas colunas nio pertencentes 3 chave. Caso terhamos somente uma coluna externa a chave, essa tabela jé estard automaticamente na terceira forma normal. Captus ¢ 209) wae.a2 PLO CA WHO ESTAR IAN FATA ASTOMATICAMENTE WAIN Jachave? Mas o que significa exatamente uma dependéncia transitiva d Dizemos que uma coluna depende transitivamente da chave se seu valor & dctcrmiuado pelo contedido de uma coluna nio chave que, por sua ver, também j4 6 determinada pela chave primiria da tabela. Em ovtras palavras temos que: C € determinado pelo valor de B que, por sua ver jf eve seu salor determinado pelovvalorde A. Graficamente podemos representa ess situagio do seguinte modo: comer o CHAE campo | canpor | compo | carpe | campo reeyy ‘Ratoni ‘Aaomnae [Nesse cxemplo, perceba queo valor dacoluna D ¢determinado pel coluns que por sus ver tere seu valor determinido pea colina A. Poderianos et tum exemplo concreto que representasse esta stuagio do seguinte modo: ‘nea compass. CONE mora o | rome | epee | wtatsn catoe | cane | cece | onto | compas ‘Néwtemioa | ‘sdoumina 210 Dotto do Mae Lin Nesse exemp! emos uma tabela de COMPRAS dos clientes de uma grande loja de depavcamentos. Todo cliente é avaliado em fungio do seu ‘montante anual de compras. Essa avaliacao leva em consideracao a cidade onde ele reside ¢ 0 tipo da cidade (interior, capita, metrépol, et.). Essa tabela jf se encontra ra primeira ena segunda forma normal, porém ainda nao esti na terceira forma normal. Temos uma dependéncia transtiva para ‘campo TIPO DE CIDADE. Fle é determinado através do NOME DA CIDADE, que por sua vez ¢determinado pelo CODIGO DOCLIENTE Isso ¢ cil de ser verificado, pois dad um e6digo de umn cliente, econ traremos Somente um nome de cidade associado a ee (a cidade onde ten residéncia fixa) e para essa cidade teremos somente um tipo associado a els (ou ela é interior, ou capital ou meteépole). Procoseo part tengo da Terceira Forma Normal (3FN) 1. Identificar as colunas que nio patticipam da chave priméria da tabela. 2. Para cada uma das colunas identificadas, analisar se seu valor & detcrminado por alguma outta coluna nao percencente 3 chave, 3. Para as colunas dependentes transitivamente da chave: # Criar novas tabelas onde a chave primiria sec4(Go) a(s) cola- 1na(s) que determinou(aram) 0 valorda coluns analisads. Agre- gar aexsas tabla as colunas dependentes transtivamente, ‘¢ Excluir da tabela de origem as colunas dependentes trans vamente das chaves mantendo, porém, 2 coluna determinante da transtvidade na tabela elt Memifiearay columas que nio partiipam da chave primar da tabela 0 finico euidado a ser vomado nesse passo ¢identificar a notagio uti- lizada para tepresentaratabels e sua chave. Nem sempre as colunas-chave estario agrupadas no inicio da tabela ou se estiverem nem sempre wtlizario ‘uma notagio conhecids. A partir da identificagio das colunas que formam aachave, bastard ignoré-las duranteo processo deandlisee o querestard serio as colunas que nos interessam. 2, Para cada uma das colunas ide nado por alguna outra coluns mi icadas, analisar se seu valor é pertencente chave, dete ‘A idemsficagao di dependéncia transitva devers ser feta coluna a colina, Essa anilise poderd ser acelerada com a experiéncia de cada um no Capt an domfnio em que estiver sendo modelado, Para alguns seré m: “iil iden- tificar se uma coluna é dependence ransitivamente de outrs ou nfo, Jé para ‘outros, talver seja necessério algum apoio externo para essa idenificagzo. Para se identificar a dependéncia wansitiva de uma coluna, deve-se inulagat ‘© Qual outra coluna nio pertencente a chave poderia determinar 0 valor dessa coluna? + © valor dessa coluna pode ser obtido a partir do conhecimento de algam outro valor existente nessa tabela? Se com alguma dessas perguntas for possivelidentificar uma ou mais colunas nao pertencentes a chave que determincm valores para outras co- lunes, entdo teremos caracterizado uma tabela que ainda no escina terceira form: normal ‘Uma boa estrarégia ¢ wilzar-se de exemplos com valores resis: Pense em valoresinstanciadas nas colunas e imagine como eles esto interligados. (Como uns determinam as outtos, 3. Para as colunas dependentes transitivamente da chave, ‘novas tabclas onde a chave primiria sera(do) a(s) coluna(s) que deter~ sinou(aram) 0 valor da coluna analisada, agregando a essxs tabelas as ccalunas dependentes transitivamente,¢ excluir das tabelas de origem as colunias dependentes transitivamente das chaves, mantendo porém, a coluna determinante da transitividade na tabela. Essa Ga fase ativa desse processo de normalizagio, Até agorasomente tentévamos identficar se a tabela estavs ou no na terceia forma normal. ‘Agora estaremos agindo sobre as tabelas que jd estdo na segunda forma hnormal, desmembrando-as em novas tabelas. Perceba que n30 mais gire- mos somente sobre a tabels original (aquela da qual partimos). Agora ddeveremos aplicar essa regia sobre cada uma das rabelasexistentes © que ji ‘estejam na segunda forma normal, inclusive aquelas obtidas pelo desmem- bramento da tabela original © process de normalizagio da tereera forma normal tanognn dar origem annovas tbels. Os objetes aio abservados dstintamente colocados juntos em uma mesma tabelaserdo explcitados em mais um rivel de detalhe. se processo “garante™ uma maior fideldade a0 processo de normalizacio, ‘eomplenientando o que ji foi fio pela segunda forma normal. ‘Aplicando-se essa regra sobre a cstrutura da tabela COMPRAS, vista no exemplo das dependéncias transtivas, passariamos a ter as seguintes tubelas apés a normalizacao na terceita forma normal: 212 Detvagto co Model Lica ove nave eidge | mmoto | nora | culde one | trod doctors [ur | cinta | compas ‘ade | lide Perceba que passamos a ter duas tabelasdistintas em vez de somente uma, Surgia pelo processo de normalizagio a bel CIDADES. Como 0 TIPO DA CIDADE ¢ um atributo da cidade, everfamos ter umaentidade CIDADE em nosso modelo. Agora ela surge naturalmente através do processo de normalizagio, Camo dissemos, essa € uma dat finalidades basicas da normalizacio. ‘Vamos dar continuidade ao processo de normlizagio de nosso exem- plo onde apresentivamos uma tabela de PEDIDOS nio normalizada. Nos pastos anteriores jf transformamos a estrucarainicial dessa tabela em uma estramura normalizada na primeira e segunda formas normais. © resultsdo que obtivemos até 0 timo ponto foi o seguinte: TABELA 1— ORIGINAL | ova Prego Unit | 19000 | o 499,00 18 256,00 480,00 0 85,00 0 110,00 05 1489 0 110,00 008 cx | as 200,00 005 xr | 10 87.00 TABELA2— OBTIDA DURANTE A 2EN ‘num, Data ‘Nome coc fun | Pad | Emise. | Fomecocor 3 | 20dan | CasaSotware | 24200000 | Lapa cos | z7tan | erasietvore | 208709070 | tt 0 cos | 271an | Computedand | roszeso2s | Fels | 122 cos | taser | prasisctwae | sov799070 | mu Capi & 21a TABELA 3— OBTIDA DURANTE A 2FN Aplicando-se sobre essis ibelas « regra da tercsira forma normal, deveremos: ou “Analisar as colunas nfo chave..” Essas colina sio: NaTABELA 1: ~QUANTIDADE ¢ PREGO UNITARIO. Na'TABELA 2: DATTA EMISSAO, NOME FORNECEDOR, CGC, RUA ¢ NUM-IMOVEL NaTABELA 3: neahuma, pois ela esténa tereeia forma normal (s6 tem uma colina no pertencente achave) “identificando as dependénciastransitiva Na TABELA 1: TABELA 1— ORIGINAL ond ogo Unit 03 (0334 ow 130,00 oa 02M or 499,00 cos 145 8 256,00 cos oo @ 450,00 cot ‘03s 10 85,00 005 (0338 ° 110,00 005 148s » 110,00 006 eK 6 200,00 00 oo 10 07,00 ‘ashngo ds Malo leo Ovilor dace. 1 PREGO UNITARIO nio pode ser definido com base no valor da coluna QUANTIDADE pois para valores de quancidade iguais poderemos ter diferentes pregos. Imagine quealguém pode pedir 100 tunidades de um produtocom precounitrio igual aR$5,00 etambém outras 100 unidades de outro produto com prego igual a RS 7,00, ‘O mesmo € vilido em regio 4 colunt QUANTIDADE poder ser definida pela coluna PREGO UNITARIO. Alguém pode pedir um pro- duto que custa R§ 9,09 ¢ requisitar 40 unidades ¢ ao mesmo tempo pedir ‘outro produto que também custa RS 9,00, s6 que requisitando 30 unidades. Isso demonstra que o valor de uma coluna nio pode ser determinado pelo valor da outra, logo no hi dependéncia transiivs para nenhuma delat «stando, portanto,a TABELA | ja na terceira forma normal. Na TABELA 2: Dado 0 valor de uma DATA EMISSAO nio é possivel determinar 0 NOME DO FORNECEDOR, 0 CGC, a RUA ov 0 NUMERO DO IMOVEL (Compare os pedidos 004 e 095.) ‘iim, [Daa | Nome cae Pus | Nam. Bod. | Emiss. | Fomecedor Inév. 003 | aoe | CasaSotware | 624208000 | Lapa | 777 004 | ersten | Brasisctware | 608799970 | tu cy 05 | arian | Computerana | resz2e-23 | Faye | 122 coe | 14mar_| Brasiscrware | oos7ae9.70 | ma 49 “Também dadas quaisquer outras colunas (NOME FORNECEDOR, CGC, RUA ov NUMERO DO IMOVEL) nao ¢ possivel determinar 0 valor da coluna DATA EMISSAO, Logo, a coluna DATA EMISSAO nio cxtfenvolvida em qualquer dependénciatransitiva Eniretanto, dido o valor da coluna CGC 6 posstvel determinar um ¢ 6 um valor para as colunas NOME FORNECEDOR, RUA e NUMERO DO IMOVEL. Isso denota uma dependéncia transtiva dessa tréscolunas em religio 3 eokuna CGC. “-¢riando novas tabelas onde a chave priméria ser4(40) a(3) colu- ‘na(6) que determinou(aram) o valor da coluna analisada, agregando a «ssas tabelas as colunas dependentes transitivamente, ¢excluir das tabe= las de origem as colunas dependentes transitivamente mantendo a colu- nna que determinou a transitividade.” Captuos 216 ‘Aplicando essa regra,obtcremos as seguintes tabeas: TABELA 1— JA NA3EN tim Ped, [ cod.Prod, | ase. | Prego unt. 03 0534 os | 13000 03 oom a 49900 008 1464 13 | 25600 wos ven 2 | 48000 ot ors 10 85.00 005, 0334 = | 1000 005, 146 | 11000 08 20K 1s | 20000 08 ap 10 8700 TABELA2— APOS A3FN (mantendo a coluna CGC que determinox a wrensitividade ¢ sens as se el re Pale cee cos tome | aatzseeo coe | erm | ortoan70 cos | aun | res cos | evar | ocarne70 216 Datvago do Model Lica TABELA 4< )BTIDA A PARTIR DA TABELA 2 (por dependéncia transitive do CGC) occ Nome Fornecedor | Rua | Num. mov. ‘szizeseeo | Casa Sotware tape | 777 sov7aa70 | rasisotware wu 49 ‘793228323 _| Gomputetana Faye | ize Anomaline Rsctvicns p + INSERGAO: [Nao ha mais necessidade de um novo pedido para incluir um novo fornecedor. ercelra Forma Normal (3EN) Sempre que se queira incluirum novo fornecedor basta atualizar a TABELA 4 sem que se tenha qualquer envolvimento coma tabela que contém os dados de pedidos. Iso nos dé a correta visio de que existe um “cadastro” de fornecedores e que 0s pedidos simplesmente referenciam esses fornecedores quando necessitio. Se tentarmos ineluir um novo pedide com CGC DO FOR- NECEDOR = §242888-80 e NOME DO FORNECEDOR "Casa dos Softwares", poderemos detectar a inconsistencia através da TABELA 4. Aucerionente padertamos cxdastar dois pes para © mnesino fornecedor ¢ possur dados diferentes em cada um deles. Agora, como os dados do fomecedor aparecemuma tries er, lém ce eiminararedundin- iaexisterce, teremos mens de vrificara consistenca dos datos, * ELIMINACAO: Seeliminarmos qualquer um dos pedidos existentes, nio mais perderemos toda a informagio sobre umn determinado fornecedor. Como os didos do fornecedor rio estio mais associados 203 ppdides,esimem uma abel distina, nfo hi perda de inforracées sobre ui deermindofmecedor mesmo que roles os pedis fers ele scjam elimirados * ATUALIZAGAO: ‘Se algun dado de um fornecedor my lar, teremas que atua zar apenas uma linha da TABELA 4 ¢ todos os pedidos refletirio ssa mudangs. Capitulo 4 217 Ameriormente deverfamos execptar atualizacdes em cada unl 8 pe~ didos existentes para um fornecedor sempre que qualquer um dos dados do fornecedorenvolvido mudasse. Além da redundincia, corrfamos orisco de atualizar alguns pedidos e outros nao ¢entio passara ter inconsisténcias nos dados dispontves. Modelo obtido apés « Tercera Forma Normal {Quando iniciamos nosso processo de normalizagio, partimos de umn modelo basico que ex: ermao run, |} P0100 its Agora, apés termos aplicado as regras das tr8s formas normais sobre a entidide PEDIDO, obtivemos as seguintes tabels easributos: Tatela | Chave Primaria | Colunas Ertidade rig, Alea Bs 1 NgwPcoi0o+ | QUANTIDADE PRODUTO COD-PRODUTO | PREGOUNITARO | ENCOMENDADO fe NowPenino | vATAEMIssAo | PEDICO ac - a cdp-proouro | NONE PRoDUTO | PRODUTO 4 cae NONE FOPNECEDOR | FORNECEDOR RUA NUN-IMOVEL, Observando as tabelas obtidas, podemos constatar quenosso modelo também normalizou-se transformando-se em: sein jeu rum 64 Pen00 tenses cFMECEDO rroovTo 218 Darharac do Modo Logica [Nese modelo ces uma representacio légica obtida pela normali- zagio, Mesmo que em nvsso modelo conccitul no tivéssemos percebido, inicialmente, todas as entidades necesséria, terfamos tido, através desse processo, 0 subsidio necessirio para identificar as entidades PRODUTO ¢ FORNECEDOR. Com isso poderfamos, inclusive, rever nosso modelo conceitual¢ atvalizé-lo para “a on on w UAL ray Peo Ee g arate Perceba quea TABELA PRODUTO REQUISITADO, que aparece no modelo légico, é, na verdade, apenas um relacionamento MxN entre PRODUTO e PEDIDO. Representi-la no modelo conceitual como uma entidade scriaintroduzie“elementos de implementagio” em nosso modelo, 86 devemos vé-la como tabela por uma necessidade de implementacio. Por isso preste atencio: ‘Nom todas as tabolas que tennam surgido do precesso de normalzapa vaio cor agrogades a nceso madoloconcotuall entificar quais tabelas realmente representam novas entidades iré envolver 4 percepsio de quais elementos do ambiente observado elas representam. Algumas poderio enquadrar-se efetivamente como entida- des, ovtras como relacionamentos (comono exemplo anterior) c outras até como atributos repettivos. ‘Com isso finalizames a abordagem do processo de normalizasio. Como jf dissemos, existem ainda outras dass formas aormsis que si0 citadhs na literatura. Recomendamos que aqueles que teaham interesse cm conhecé-las consultema bibliografia no final do livo. O conhecimento dis tr8s formas normais,viseas até aqui, com certeaa, seri osuficienee para que seus projets anja o rau de normalizagtonecestrio implemertcio captuo4 219 Derivagao de Relacionamentos A pantr desse instante, vamos ahordar outro aspecto relativo& deri- vaguode models lgivos. Enguantotratévamoso assunto de normalizagio, eativamos enfocando as entidades c atributos existentes em nostos mode- los conceituais. © tratamento dos relacionamentos, estruturas de Genera- lizagao-Especializagio e agregagao também deverd ser feico durante 0 pro- cess0 de derivagio, Estes serio nossos peéximos pontos de anilise. No tocante 4 derivacéo de relacionamentos, abordaremos todos 0s possfveis casos a serem identificados em um modelo conesiual. Veremos ‘os relacionamentos de 1:1, 13N, MEN, come sem atributos. As cardinali- dades apresentadas serdo telaivas avalores maximos. Nao diferenciaremos 1 caso de relcionamentes condicionais em cada um dos cas0s, pois isso io mudari 0 processo de derivagio. Abordatemos a0 final, de modo genérica, qusis sio os impactes da existéncia de relacionamentos cond sionais ¢ camo eles deverio ser trtidas. Caso voc® cena alyuma dhivida sobre 0 que representa cada umm desses cases, volte a consulta as paginas que abordaram esses assuntos na modelagem conceitual Relaclonamentes 1:1 oom Atributos » eH 2 ‘© caso mais elementar de relacionamento entre dias entidades € 0 de «ardinalidade 1:1. Dentro desse tipo de relacionamento, por sua ¥ez,0¢880 mais Ireqiience de ser encontrado €0 de relacionamentes I:1 sematributos, __Dente a quatro altermatvas posses pare derirao dese tipo de 1, Acrescer a chave da TABELA A como chave estrangeira na ‘TABELA B. v cima 8 tra 88) BE ‘a 8 0 v v 20) oivago do Maal Lyco Paraquehajaoest lecimento deumrelacionamento das TABELAS ‘AcB, basta que a chave da TABELA A exists na TABELA B. Assim, ‘qualquer elemento de B quando necessitaewlentiicar a qual elemento de A ‘esti ligado obterdessa informayio através da chave estrangcirada TABELA ‘A que existe na TABELA B. 2. Acrescer a chave da TABELA B como chave estrangeira na TARBELA A. v v strani sts 9304 cana aa v v ‘Do mesmo modo que consegufamos estabelecsr um relacionamento centre a TABELA A e B, colocsndo uma chave estrargeita de A em B, con- seguiremos se colocarmos uma chave estrangera de B em A. ‘A decisao sabre qual deve sera chave estrangeira a ser movida para a coutra tabela dependeri, em principio, de qual tabela “nascera” antes. Se primeiro surgem os dados deA capés isso deB, en:ao déveriamos migrar a chave estrangeira de A para B. Assim, quando f6ssemos criar uma ‘ovorréncia na TABELA B ji terfamos 0 valor de A a referenciar na chare cestrangeirs, O contrério também seri valid se B surgisse antes do que A. Outro critério que pode ser valido quando as das entilades tem vida independente, surgindo desvinculadas umma da outra de modo assfacrono, Eavaliar o amanho (embytes) da chive ser exportada Assim, poderiamos exportara menor dis chaves, contribuindo para 2 redugio do espago fsico para armizenamento, Eniretanto isso nio deve seruma regrasomente um Critério de desempate quando todas.s outras anlises de critériosjétiverem sido esgotadas, Ccaptuo 4 2a 3, Migrar os atribucos e relacionamentos da TABELA A\, a TABELA B excluindo a TABELA A definitivamente. oe conan 0) unas ‘ne ‘A decisio em utilizar essa estratégia de migragio dos dados de uma tabclapara outra devers ser como premissa queos éados de ambasastabelas, realmente, nio tém existencia individual. A existéncia de dados em uma tabela deveria ter sempre a correlagio de existencia na outta. ‘Devemos considerar também o f:to de que todos os relacionamentos cxistentes com a ENTIDADE A no modelo conccicual deverdo também Scr migrados para a ENTIDADE B. Apés esse passo entio, a NTIDADE B seri transformada em TABELA B, com of atributos de Be A. Na seqiénci, 03 rclicionamentos de B (origiraise herdados de A) deversoser derivadas aplicandose as regs para cada tum dos graus existentes. ‘Aiilizaqa dessa cstiategis, apesar de parecer bastante situps, pode nos levar a problemas {ututos. Poderemos detectat, mais frente, que em alguns cates (ainda no conecidos durantea fase de projeio) ser possivel 2autonomia entreas tabelas (0s dados deuma cxistirem sem que os da outra cxistam), Isto nos levarda cer de rever 0 agrupamento das tabels ¢, eve tunlmente, voltar a separé-las. Povderemos também detectar que 0 srata- ‘mento de alguns relacionamentos que pertenciam a A, agora cstabelecidos com B, poderd tornar o entendimento e a maniptlagao muito mais com- plexos do que seastabehs A eB continuassema existr independencemente, Porisso, acreditames que. simples tend2ncia de redvzir o nimero de tabelss existentes em nosso modelo nio deveria ser um bom motivo para agrupar sabelas que possuam relacionamento de 1:1. Talvez essa “eco nnomia" venha a “custir cara” no futuro. Se jf no modelo conceitual foros capazes de identficar elementos distintos que se relacionam com gra 1:1, tulez a melhor opgie, entio, seja manti-los assim no model I6gico. pee Derhaghe do Meddo glee 4, Migrar os atrii_os e relacionamentos da TABELA B para a TABELA A excluindoa TABELA B definitivamente, sous Essa estratégia merece as mesmas consideragoes ca estrauégia 9 (vista anteriormente). O nico motivo que poderia nos levara migear 0: éados & relacionamentos de B para A, em vez. do contriri, seria o menor nimero de aribucos¢ rlacionamentos a serem migrados. Também como no caso anterior, nio consideramos essa estratégia comoum grandebeneficio parao projetode uma strutura estivel eflexivel Relacionamentes 1:1 com Atributos A ee B A existéncia de relacionamentos 1:1 com atributos nia € algo muito comumm. Podertamos ai diet que, remente, um igor extrem do projeto conceitual. Entretante, come no nivel conceitual eles poderio cxistir, apresentaremos trés métodos para dervi-los. 1. Criar uma TABELA C para conter as associagdes entre Ae B, agregando as chaves estrangeiras de A ¢ B para dar origem achave de C, ¢alocando os atributos do relacionamento na TABELA C. capo & 23 v v v twin | weiaa Waa cananiins {| obmarrasy |] okra 0 oat ‘Simp | | ekrabe cen ime cumbt ¥ : v v i ° 8 INesse caso, sempre que a associagdo entre um clemento da TABELA A for feisa com um elemento da TABELA B, criaremos uma linha na "TABELA C, estabelecendo essa ligacao e armazenando 0s dados relaivos 408 atributos do relacionamento. Devem-se criar meios (triggers, programagao ou indices) para que se tenka a garantia de que, desde que um elemento qualquer do conjunto A estabelega uma primeira ligagio com um elemento do conjunto B, esse clemento A no possa mais estabelever qualquer outra ligage com outro clemento de B,¢ vice-versa Isto & necessério, pois como a chave primétia da TABELA C ¢ a concatenagho da chave de A € B, pares como (at,bt), (a,b2),¢ (a2b1) seria valilos (nio haveria duplicagio de chavs), Entretanto podemos perceber que através dessas chaves estamos estabelecendo uma relacio de MEN entre A e B, pois o elemento at se relaciona com dois elementos de B (bi eb2) eo clemento bt se relaciona com dois elementos de A (a! € 22). 2. Migrar osatributos do relacionamento para a TABELA A. wv v v v v ; ; 224 Derhagle do Medio Léglo Ebastante comum _ icar-seessa técnica de derivagio quando se trata um relacionamento de 1:1. A migragio dos airbutos do reacionamento R para uma das tabelas que compéem o relacionamento tem sido quase que uma regra quando se trata esse ipo de caso. O tico inconveniente, do ponto de vista wérico, & que osatributos do relacionamento (colunas Rl, 2, K3...) enistirio para todas asinhas da TABELA A, mesmo paraaquelas gus, efetivamente, ndo se relacionam com qualquer elemento B. Para que isso seja posstvel,seré necessiio define que esss colunas acctam valores NULOS. Ai entio voltaremos a discussao da aplcabilidadee validade dos valores NULOS em colunas de tabelas. Entretanto, do ponto de vista ritico, ndo hi grandes restrigées sobre a adosio dessa csiratégia, 3. Migear os atributos do relacionamento para a TABELA B. ela ‘As mesmas consideragdes fetas no caso anterior so vilidis a essa técnica. A Unica vantagem emadotar a migragio dos atributos do rlaciona- mento R para a TABELA A ou B residiri no faro de que poderemos «locf-los na tabela que tenha suas linhas geradas durante o estabelecimento bgico da relagio. Assim, se tivermos um caso ondea TABELA A tem suas linhas jé previamence cradas e para estabelecer um relacionamento com a ‘TABELA B é crizds linha em B, entao seria apropriado migrar os acributos do relacionamento para B e nio para A. Desse modo, evitariamos manter valores nulos nas colunas'da tabela que recebeu os attibutos de R. ans 225 errs Gopema un one mod oa na FESSOA woes Sa oy elles ag cov OTA Tee lan con doris mgr © eae OATA DE INCE CAGAO para a entidado: ‘DEPENDENTE, ao inves de migré-los para a entidaco PESSOA o at ae DeFENDENTE Perceba que o atributo ctadossé passa existitno instante em que um DEPENDENT € cadistrado © associado a uma PESSOA (que 6 deve tistir previameme), Note também que nem vodas as PESSOAS precisam cndicar am benefilirio, logo algumas ndo estabelecerdo relacionamento vam a entidade DEPENDENTE. Colocar ese atrbuto na TABELA DE~ PENDENTE seed uma solugio ideal que, inclusive, nao demandaré nem 0 ‘uso de valores NULOS nas colunas oriunds do relacionamento, Rolagdes 1:N sem Atributos ‘Osrelacionamentos 1:N representama grande maria dos elaciona- ‘mentos existentes nos modelos. Vem seguidos em segundo lugar dos re- lecionamentos MIN e, por sltimo, pelos rlacionamentos 1:1 “Tambéms em aua grande maioriaos relacionamentos 1:Nndo possuer atributos, ou, pelo menos, ndo sio vistos como tendo. Jé citamos que 2 ‘bservagio e alocagio de atributos nos relacionzmentos é um formalise ques apeser de representa exatamente a verdade, somente poveas pessoas ‘totam, Por isso, consileramos quea derivacéo de relacionamentos 1! Sem aitibutos, que serd vista neste icem, representard a grande parte dos faros de derivagio que encontraremos. Felizmente, a regra de derivagio ‘desse caso € dnica e bastante simples, nfo deixando margens a interpre- tay es ou aberturas a escolhas ‘A regea diz que, para derivar um relacionamento 1:N sem atributos, devernos: 1. Acrescer a chy‘ priméria da'TABELA A como chave estrangeira ma TADELA, v wv as aoe ae cn + v {A simples incluso da chave estrangeia da TABELA A na TABELA B faz com que o eacionamento de I:N figue implementado susfatoria- mente A chav estrangeira existente na TABELA B poderi ou ao admitr valores NULOS em fungao da defiigao dos geaus minimos ds relaciona- Se o relacionamento for 1,L0\N no havers qualquer valor NULO- envolvido, pois simplesmence estatemos estabelecendo um caso onde li thas dh TABELA A poderio ter seu valor de chave primira em 0,1 ou N linkas da TABELA B. Quando esse caso for referenteaO linha simples- iment eenesalsianaTABELA Bog ni nvevalsres NULOS envolvidor Se 0 relacionamento for 1,1il.N estaremos considerando que todo 0 valor de chave primira du TABELK A aparerd ern 1 ou mas has da TA- BELA B. Erte também € um caso que nio envolve valores NULOS na TTABELAB. Se 0 relacionamento for 0,10,N ou O1:1:N, teremor sieusgbes en- volvidis onde algumas das inias dt TABELA B poderdo estar ligadas a0 linkad TABELA A, Isso signifies que linhas da TABELA Berio na share estrangeira da TABELA A valores NULOS, pois nio estdo atsociadas a renhuma linha ds TABELA A. Isso ndo caricterizaré uma anomalia, mas simplesmente uma consideragio ser fita durante o projto da base de dados. Deveremos ou nio, dependendo do caso, definir que a chave ex trangeira da TABELA A eaistentema TABELA Baceitai valores NULOS. Folaclonamentos 1: com Atributos Para a derivagéo desses tipos de relcionamentos, podem seraplicadas uma das estratéyias a seguir: x 3 Ccaptuo oe 1, Migrar os atributos do relacionamento para a entidade Essa primeira alterntiva ¢, na verdade, aquela que, freqiientemente, |i €utilizada como simplificagio no préprio modelo conecitual. Vimos que muitas pessoas sio, raturalmente, induzidas 2 agregar os atributos do rclacionamento 1:N como atcibutos da entidade B. Caso isso nao tenha ‘ocorride durante o processo de modelagem conceitual, pode-se, nesse instante (na derivagio do modelo légico), optar pela migracio. Assim, todos os atributos do relacionamento 1:N passam a fazer parte da TA- BELA Bassumindo valores nulos enquanta 0 relacionamento entze Ae B nio se esabelecer efetivamente. A tinica desvantagem desse método € 2 necessidade de definigio de valores nulos como aceitiveis paraas colunas de R. Persstiré em alguns isos, futuramente, davida sobre a interpretagio do significado desses valores mulos se alguma referencia expifcita s essa opgio de derivagionio for Keita no dicionirio de dados. Com excecio desse aspecto, nio haver’ maiores inconvenientes na adogio dessa estratégia de derivasio. Hoje, pode-se dizer que esse modo de derivagio é um padrio largamente v TaOaAA TESA cna 4) etna 83 tne ‘una 2 ti ‘una ‘aun Sheer. + + 2. Criar uma TABELA C para conter as associzcOes entre A e Be alocar os atributos do relacionamento nessa nova tabela. Outra opsia, ndo tio Ireqdentemente explorada mas extrema- mente correta sob 0 ponto de vista de projeto, € a manutengao da estrutura concebida no modelo conceitual,efetuando-se,entio, a riagio de uma TABELA C para a implementagio dos atribucos do relaciona- 228 Dutvegdo do Modo L600 Nesse caso, a TL 2LA C manteré como colunas os atributos da relagio Re agregaré para a formagéo de sua chave primitia as chaves esteangeiras dis TABELAS A e B.A incorporagio dis chaves estrangeirss, ra verdade, serd 0 elo de ligacio entre as linkas de A e de B (o proprio relacionamento que desejamos implementar). Assim, se dessjarmos ligar 0 clemento Al com B1. BS e BS, ¢0 elemento A2 com B2, Bf © BG, bastaré implementar linhas na TABELA C com os pares: A1B1, A1B3, A1BS, ‘ADB2, AIBA e A2B6. Cada uma dessa linhss da eabela C, formada pelae referéncias a valores de linkas das TABELAS A e B, cepresentard 0 re~ lacionamento existence entre as linhas das TABELAS. A cles agregaremos 105 valores dos atributos do relacionamento, instanciando os valores das colunas da TABELA C correspondences. caine n Fx) || coura BPO canes! PPR Suna Ba Sane courae. Prueba que apés a derivagao nosso modelo logico passa 2 ter um relacionamento de I:N entreas tabelas A eC (implementadoppela migragio dda chave primaria ds TABELA A como chave estrangeira na TABELA C) um outro relacionamento de 1, entre as TABELAS B ¢ C (implemen- tado também pela migragio da chave priméria da TABELA B como chave estrangeira na TABELA C). Se anlisarmos agora sob outro enfoque o modelo l6gico obtido, podemos interpretar da seguinte maneira: Cada ocorténcia da TABELA A estabelece N relicionamentos com B através de C, e cada ocorréncia de B estabelece um snice relacionamente com A através de C. A TABELA C passa a ser somente um elemento de conexio (felacionamento) que é gerado no exato instante em que desejamos elacionar 2s TABELAS A eB. ‘O principal panto a ser observado nessa implementagio & que serd nnecessério garantir através do SGBD ou de meios externos (triggers, progeamagio, etc.) que o relacionamento 1:1 entre as TABELAS Bc C fealente manten esta cardinalidade maxima, Se nio tivermos garantias de que,a partir do instante em que uma instincia da’TABELA B estabeleca upius wo eH um rileionamento com vm istics da TABELA C, nent so felacionamento entre cssamesmainstancia de B possaser estabelecido com {qualquer oatrainstincia de C, estaremos transformando nossa relasto Sriginal LIN com atriburos em uma relagio MN com atrburos. Isso pode se falmente observado se aalisarmos 28 seguintes 2840- cingbes: Como nao pudemos garantiro relacionamento 1:1 entreas TABELAS BeC (elena verdad ficou sendo 1:N) também nfo pudernos garantir que todos os elementos de B tivessem somente uma associacio com um ele mento di TABELA A (o elemento Bt aparece relicionando-se com Al € Com A2), Para que isto no ocorra serénecessério definir na TABELA C, albino fade natural de sua chave priméria (formado pelas colunas At ¢ 1b1), un tidice sobre a coluna Bi, indicando para essa colina a m0 ppetmissio de valores duplicades. Perceba que somente utilizando-se 0 fndice natural da chave priméria da TABELA C nio conseguitfamos res- Hinge a duplicagio de B, pois mesmo no exemplo dado anteriormente, lia encontrada, no terfamos duplicado a chave primaria da apesar da ano TABELA C. Relaclonamentos M:N com ou sem Atributos ata a derivagio dos relacionamentos M:N, independentemente da cexisténcia ov nao deatributos nesserelacionamento, deveremos aplicar uma mesma estratégia. Essa estratégia seré baseada no fato de que se um rela- ionamento M:N representa aintersegio dos elementos de wm conjunto.A ‘com um conjunto B, en:ao devemos representa lisicamente os possiveis pares formados pela agregagio dos elementos de A e B. JAMIA NEIADONAMERIO. ——ARLLA 230 DDanvagao o Model Lica Assim teremos q para derivar um relacionamento MIN entre as 'TABELAS A e B devemos criar sempre uma TABELA C. agregando as chaves estrangeiras de A e B para formas a chave priméria da TABELA C. Caso existam atributos no relacionamento, estes deverio passar a fazer parte da TABELA C como simples colunas (nao participantes da chave}. ” a ap ° v v ‘wala aK THEA coun | commen rie || cones cane om Sinaee ue : Sint | conse | comers v v ee (eee eee Nessa implementagao mio haverd necessidade de se garantir qualquer tipo de restrigio de armazenamento, além da restrigio jd imposta pela ropriachave primfria da TABELA C (nio duplicagio dechave). Qualquer clememto da TABELA A, por definigio, poder compor “pares” com qualquer elemento da TABELA Be vice-versa. A tinica impossibilidade, como jé mencionamos, ¢ um elemento da TABELA A compor duas vezes ‘© mesmo “par” com o mesmo elemento do conjunto B, Derivago de Auto-relacionamentos A derivagio de auto-relasionamentos muitss vezescsusacersapreocu- pacio dificuldade de entendimento aos menos experientes. Jé percebernos que grande parte desia dificuldade € justamente advinds do fato de se procurar dar um tratamento “muito diferente” a esses tipos de relaciona- Para até los sem dlfculdad, wins esteategia bastante saples pole ser wtilizads: 1. Ao derivar um auto-relzcionamento, esquesa que se trata de um ‘elacionamento diferente dos demais 2. Imagine ter um relacionamento entre duas entidades distineas A A (duas entidades incorporadas em uma mesma) cpio 4 231 3. Sempre que as regras de derivagio (ji vistas anteriormente) strufeem "migrea chave de A para”, “incocporeachavede Aem “componha a chave de C 1 parte das chaves de A e BY, etc., {aga opetacio indicads usando nopapel deentidade A eB sempre mesma entidade A, Para que essa estratégia fique mais clara, daremos alguns exemplos simples de sua utlizagio 1, Auto-relacionamento 1:1 [Assim como nos demais relacionamentos, a regra diz que se deve “migrar a chave da TABELA A para TABELA B". Logo, migraremos 2 chave da TABELA A paraa propria TABELA A. on 1) ears ; ‘ema ALE(FKC GO Ama) Peresba que se o relacionamento 1:1 fosse entre A ¢ B, teriamos mi- grado para a TABELA A a chave estrangeira de B. Como a TABELA B, nesse caso, €a prépria TABELA A, migramos a chave estrangeira repte- sentada pela coluna At para a propria TABELA A. Nesse caso, precisa mos passira diferenciar o nome di coluna criada para que no tenhamos duas colinas At. “Todas as linhis da TABELA A terdo uma nova coluna A1-E,na quah «aso haja o relicionamenso de um elemento A com outro elemento A, teremos 0 valor da chave relacionaéa. 239 Detvegzo do Note Lalo ‘Suponta um modelo onde temos um relasionamento de 1:1 ene PESSOA 8 PESSOA. Essa rotacionamonte pode sgnifear, por exemrp, “pa#208 repre senta outa pessoa", como no caso do umna proctsagdo, Estamas assumindo, nosso exomlo, cue ge Uma passea 6 procuradora de uma outa, nao seri do mais ningusm o qua 90 uma pessoa 4é ura procuragdo a ovtra pessoa. ‘também no ca mats ninguem. Nesse caso, estamos ciianco, em rosso ‘madelo, um elacionamento do 1:1 paraaentidade PESSOA reson [A [reso a ay A = 7 eae tin [eat | No caso do relacionamento I:1, vimos que podemos migrar tanto a have da TABELA A para a TABELA B ou vice-versa. Nesse caso, como 56 temos uma tabela envolvida, teremos sempre a criagSo de uma nova coluna igual 4 chave priméria da pr6pria tabeh. A dnica diferenca de interpretagio que deveremos fazer seré defini sc a coluna criada repre- Sentaré um ov outro papel do relacionamento. Em nosso exemple po- derfamos ter definido a nova coluna criads como: CPF DO REPRESENTANTE (tal como usamos) 0 CPF DO REPRESENTADO sein hits Pas representa Mari, eros ter das ops vids de implementagie: + Na linha relutiva aos didos de Mitio, terfames 0 CPF DO RE- PRESENTANTE, que nesse caso seria o de Paulo. + Nalinharelativa aos dados de Paulo, teriamos o CPF DO REPRE- SENTADO, que nesse caso seria o de Mario. 2, Auto-relacionamento 1:N ‘Também nesse caso, tal como nos demais relacionamentos 1:N, deve- temos execatara ogra que diz que: “migrar a chave da TABELA A pata a TTABELA B". Logo, migraremosachave da TABELA A paras TABELA A. opio 4 233 eae 3 | ane sie a ane aura AYE (Peco Am A) Perceba que se o relicionamento 1:N foste entre A e B, terfamos rmigrado paraa TABELA A a chive estrangeira de B. Comoa TABELA 3, nesse cato, & 4 propria TABELA A, migramos 2 chave estrangeira repre- sentada pela coluna A para a propia TABELA A. Neste cso, bem ‘Como no case anterior, presitaremos passara difereneiar onome dacolina ‘ia padi tetris ots Al grande diferencia entre essa estratégia ea esttatégia do caso 1:1 € que, 0 caso anterior, poderfamos escolher sea migragio de chaves se dava di TABELA A pars B on de B para A, o que faria com que os paptis do campo CPF REPRESENTANTE OU REPRESENTADO se altcrassc. ‘Agora, por se tratarde um relacionamento I:N, teremos sempre que migrar achave da TABELA A para a TABELA B, sem escolha. ‘Suponna © mesmo modelo tratedo arteriormenta. Passaremos, entrelante, agora a ter um releciramenio do 1'N enke PESSOA ¢ PESSOA. Esse Telacionarrante torso meeme eigifcad antarcr, mas mudaremos a rogra do nnegéc a ola assocada. Agora, uma pessoa poderd eutoizar vias cutras pessoas através do procuracées distintas. Porém. caso uma pessoa seja ropresortanto de alguém no poderé cor de mais ninguém. Com essa nova regra, pessamos ater um relaconamento de 1: Perceba que se uma pessoa pode ser representada por diversas outess, 140 poderiamos criar na tabela PESSOA uma coluna chamada CPF DO REPRESENTANTE, Se fizéssemos isso teriamos de ter um: coluna com rmultiplos valores J sea tabela PESSOA, criarmos uma coluna CPF DO REPRESENTADO, poderemos indicar, sempre que necessirio o CPF da Xiniea pessoa representada por alguém. Vejamosatravésde valores explicitas 234 Derhagle do Madelo Linco Esse diagrama mostra esquematicamente a tabela PESSOA, suas li has e seus relacionamentos. Temos estabelecido: [EREPRESENTADO _| EREPRESENTANTE oo Joub oso Maria Joao Caos Nolson Edvanto Logo, como dissemos, na linha da tabela PESSOA relatva a Joo, no poderfunos ter 0 CPF DE SEU REPRESENTANTE pois existem ts representantes (José, Maria e Catlos). Entretanto, se colocarmos na linha rehtivaa José umacolunaindicatia do CPF DO REPRESENTADO podere- 1mosindicar através dessa coluna o CPF de Jodo e isto secésuficiemte pois José iio & mais representante de ninguém (por detemninagio de nosso negécio). 3. Auto-relacionamento M:N Seguindo a mesma indicagio daca anceriormente para derivagio de telacionamentos M:N, bastard que criemos uma nova tabelaeagreguiemos as chaves dis TABELAS A e B para dar origem 4 chave priméria de C. sens Om our art) ova. caret No ¥ v a tae Captus ae Observe que na TABELA C criamos duas colunas,de nome A. € ‘ALB a parieda migragio da chave priiia dh TABELA A. Cadauma das colunas € origniia da TABELA A no papel de entdace A cB respecti- ‘ramente. Através destas colinas poderemos crar os “pares” indicativos de tush 36 asociagdes estabelecidas entre um elemento da TABELA A ‘oyu elemento, taba da TABELA A Prossoguinds com as vanstormagces om nosso oxomglo ja abordado arto. ‘ommonte, vamos admir agora que uma pessoa possa ser representa por ‘Gvorses urase quoum rpresentante, poreua vez possa represeniar diversas ‘utras pessoas. Com iss feremos um rolaconamerio MN. Aplicend a rogra ‘conhacida abteremos: i X wv v Tao Esse diagrama mostra esquematicamente a tabela PESSOA, suas li- has sous relacionamentos, Temas estabelecido: { a Datvagto do Modo Légioo ‘EREPRESENTADL E REPRESENTANTE Compare agora os pares mostrados no exemplo com a estrutura da ‘TABELA C. Voct perceberd que a existtncia das colunas CPF DO RE- PRESENTADO e CPF DO REPRESENTANTE espelham exatamente nossa necessidade de estabelecimento de ligaydes. Derivagao de Estruturas de Generalizacao-Especializagao © processo de derivayio de uma estrusura de Generalizagio:Especia- lizagéo no nos levarédiretamente a um modelo I6gico para a implemen tugio, Ele, na verdade, nos fornecerd um novo modelo conezitual simplifi- cado onde a estrucurs, antes existence, sera substcutta, simplesmente, por centidades e relacionamentos comuns, Estaremos substituindo a noragio copecal slicada para represenvar essa estrutura por elementos comuns (en Gilder a lcatemerel e apd te spheiels bre eter repras de derivagio jé vistas. A partir desse ponto teremos obtido os elementos ligicos resultantes da deriva Esse tipo de estratégia € ttl para que retiremos a complexidade de derivacao das estruvuras consideradas “especizis” (estruvatas de Genera~ lizagio-Especializagio), Se conseguirmos reduzir essas estruturas as estrv. tras convencionais (entidades relacionamentos), poderemos, entao, aplicar as regras bisias jé conhecidis para obter, finalmente, 0 modelo 1- Bico. Basicamente, a decisio 2 ser tomada no processo de derivacio de cestruturas de Gencralizagdo-Especialzacio diz respeito ao grau de deta- Ihamento a ser mantido no modelo logico. Vimos anteriormente que esse tipo de estrutura procura explcitar detalhes pertinentes a subconjuntos de ‘um conjunto maior. Durante 0 processo de derivacio, poderemos adotar ‘quatro diferentes estratégias para craaressas estruturas 1. Criar uma tabela para a entidade generalizada e uma tabela para cada entidade especializada, 2. Criar somente uma tabela para a entidade generalizada e migrar todos 05 atributos ¢ relacionamentos especalizados para essa abela, Cantos 2s7 3. Criar somente tabelas para 2s entidades especializadas ear tados osatributos erelacionamentos generalizados para cadauma cdessastabela, 4. Utilzat as estrategias 3 ¢ 4 de mancira combinada, migrando auributos ¢ relicionamentos das entidades especializadas para a entidade generalizada e/ou vice-versa Cada uma dessas opsées apresenta vantagens ¢ desyantagens ¢ todas elas resultamem modelos égicas vlidos sab o ponto de vst: deFidelidade 20 modelo conceitual. A escotha, em cada um dos casos, devers levar em consideracéo farores tais como facilidade de manuseio, faclidade de ma. nvtencao de integridade, espaco isico para alocacao, grau de redundincia descjado, estruturas de dados de cada uma dis entidades, ete. Serd diffe estabelecer regras rigidas para o processo de escolhs, mas tentaremos, durante a explicagio de cada um dos casos, dar algumas indicagbes de possfves pontos forces que denotem sua aplicago. 1. Criar uma tabela para a entidade gencralizada ¢ uma tabela para cata entidade especializada, mantendo os relacionamentos associadas & cada uma delas, Essa primeira opcio define que o modelo conceitual, onde aparecem uma emtidade gencralizadae virias entidades espevalizadhs, ser4 transpor- tado diretamente para um modelo légico onde apaceceri uma tabela pars cada emtidade existente, I 4 c © TEELAR | [WSEAS | [RELA] [THREAD seen A140) | Jclna 81m) | | osunac (|| canna (5 fou Az | Joa” | ennace "|| euna or owas. | Jfoumees | Jenacs... || counaa’ (i faim. | |uraat in) hoe ae) Entretanto, para que isso possa ser feito, deveremos teralgum elo de ligasio entre a TABELA A (mic) eas demais TABELAS B, C cD (ilhas), 'Nio bastaria criar somente uma tabela para cida entidade existente no 238 Dtvago do Meda Lica modelo conceitual sem quu s0sse mantida a semantics de que “a partir de tunta ocorréncia existente na entidade generalizada podemos obter uma ‘ocorréncia na entidade especializada ¢ vice-versa", Para que seja possvelligara tabels generalizada com as tabelas espe- ializadas, deveremos criar um relacionamento “artificial” (que somente traduz.a cspecializagzo) entre eas. Esse reiconanenco ser de gra :1 ¢ deverd ser estabelecido entre a entidade generalizada e cada. eae dudes especializadas ‘A partir desse instante, teremos recaido no caso comum de um re= lacionamento 1:1 entre duas entidades. Poderemos entio anilsar as pos- siveis alternativas de derivagao desse relacionamento e realizar nossa op¢a. Perceba, portanto, que a seqiéncia basica para derivar uma estrutura de Generalizacao-Especidlizacio usando essa estratégia€ bastante simples: 1, Observar 0 modelo conceitual original 2. Onde for identiticada uma estrutura de Generlizagio-Especalizagso substitu-la por um relacionamento de 1:1 entre cada uma das entidades cspeciaizadas ¢ a entidade generalizada (somente durante a derivagio — Lembre-te de que o modelo cancetual deverécontinuar mancendoa estruwra dde Generalizagac-Especalzagio para manter sua semintia) 3. Passar a tratar cada uma das entidades e relacionamentos obtides de forma convencional como se nio mais tivessem qualquer caracteristica especial ‘Vamos supor um modelo do uma empreca que passul dveises funccnérios slocades em seu quadro (uncial. Gada um deles pode exacutat suas ati: daces em civerscs locais dstnios dento da empresa Eniretento, estes fur. Condes civelem-co om doia poe: FUNCIONARIO PROPRIO © FUN- ‘GIONARIO DE TERCEIROS. Somenta 0s do tipo FUNCIONARIO PROPRIO. Bodem ullizar¢s senigas médlcas oforcidos pola empresa. Por oure lado, ‘Somento os do tpe FUNCIONARIO DE TERCEIROS precsamseridentiicedos {8 que EMPRESAS PRESTAUORAS DE SERVIGO nertencem. Também em rive de strbutes, teros caracioristeas comune (atibutoe que co aplcam a ‘tedos os funciondics)e caractrsticas ditnias (abuts que $6 so apcam ‘apsdo ipo FUNCIONARIO PROPRIO cursé aos FUNCIONARIOS DE TERCE!- ROS), Através da andlise das caractersicas das eniidades, dis abibuos edo ‘lacionamentos edstentes,oftou-se por dervar 0 modelo mantendo aexistén- Cia de ts tabolas dstnias” Assim temoe: capiso 4 290 woo beep sane) [ERED ieee “ peli meal ae | branes: '¢ Teds os atbtos comins (existentes na enidade FUNCIONARID} serdo alocacos em uma labela ada para ropresariar occa ontiad. ‘+ 0s atrbutes expectics de enldade FUNCIONARIO PROPRIO sore slo- ‘cade em una segunca tapela, qua Sera cada para representar sommente oan entich, + settles ospoctcos da ontiade FUNCIONARIO DE TERCEIROS corto alocados em uma lerceira tabela também criada para representar somente aaa entdace. ‘© 05 olacionamontos exstontos om cade uma dos ortidades sero martidos associados a cada uma das labelas que as representar. (cae eae cas Estrategia para o estabelecimento da ligagio entre as entidades; Pode-se recamendar como uma boa estratéga exportar a chave pri- swivia da bela FUNCIONARIO para as demais abelas (durante a deri- ‘asic do rlacionamento 1:1), poi itso garandied homogenecidade no tata- mento independentemente das caracerstcas das chaves primvias das. tabelss FUNCIONARIO PROPRIO e FUNCIONARIO DE TERCEI- ROS. Assim, se FUNCIONARIO PROPRIO for identificado por NU- ERO DA MATRICULA ¢ FUNCIONARIO DE TERCEIROS for ientiieado por CDE, nio haverd necesidade de miger essas duns chaves paraa tabela FUNCIONARIO e tornar sempre uma dels nal, 240) Derhaghe do ted Légico [A segunda estrarépi_ossivel porém menos recomendads, & migear para a tabela gencralizada (FUNCIONARIO) as chaves estrangciras de cada uma dis tabelas especializadss (FUNCIONARIO PROPRIO ¢ FUNCIONARIO DE TERCEIROS). Iss fad com que sempre uma des chaves estrangeiras tenha valor nule quando © tipo de cspecalzagio for “categoria” € io “pape”. 0 ——— weno maicnans sg Nowe MADE ADS ‘Woo dconnmuro Tatovcresnercul| it umceonnco ‘snags cours staTiGa comer Fore rouconuCoMRnGADR pe Framoomneiam | | oery 1 wemmonen, || | suoeamans Eom aa eee ees Perecha que nessas tabelas apenas citamos as colunas ¢ chaves « wangeiras (FK) envolvidas na derivacao da estrutura de Generalizagio-Fs pevializagio (pelacionamewto 1:1), Pdterao vir asurgir mais colunas decor tentes de ontras derivagies de reluianamenios que existam no modelo, 2. Criar somente uma tabela para a entidade gencralizadac agregar osatributos ¢ relacionamentos especializados a esta entidade. Quando observarmos que os atribuios e relacionamentos especia lzadotsio em pequeno ndmero¢ gue, uate sempre trio lores soo siados (ado nulos), poderemios optar por nao manter uma tabela para cadz uma das entidades que compoem a estrutura de Generilizagio-Especia- lizagio, Poderemos, neste caso, migrar os atributos e relacionamentos, existentes no modelo conceitual, que estioassuciados 4s entidades especia lands para ence geeraizadaeéepss, drivers eats obid de modo convencional, Ccaptso4 24 ena) a er a4 1) ee eee esse caso, nio teremos necessidade de estabelecer qualquer tipo de vinculo entre as entidades A, B, Ce D jf que todas deram origem a uma iniea TABELA A.A presenga de colanas na TABELA A oriundas de cada ‘uma das entidades jf € o préprio elo de ligagéo, Entreranto, um ponto importantea ser observado ness tipo de estratégia de derivagio€ que todos fos relacionamentos existentes nas entidades B,C e D deverio set migrados hein) pata a cuutlade A ey somente aps isso, derivados, Podemos, pportanto, estabelecer os seguintes passos a serem seguidos durante esse pracesso de decivasio: 1. Observar o modelo conceitual original. 2. Onde for iderificads uma estrutura de Generalizagio-Especia- lizagio, substitut-la por uma tinica entidade que representard somentea entidade generalizada, 3, ‘Transfer os atributos das entidades especalizadas para a enti- dade generalizada, 4, Transferiros relacionamentos dis entidades especializadas paraa entidade generalizada 5. Passara trataraentidade e 0 relacionamentos obtidos de forma ‘convercional como se ndo mais tivessem ane caracteristica especial. (Lembrar que essa transformagéo se aplica somente 20 tneadelo Igo, No medelo concetual devem ser preseradas as cearacteristicas originais.) 282 Dea do Mode Logica ahd Ustzendo.o modelo concetualja visto no ‘plea anterior, vis agora observar {qual sovia0 resultado obo se opissomos pola manulongio somento da en- tidalo yonevatzaca durante 0 procaewe do driaybo, = ener a hone a | Mine ‘© Todos os atrbutes comuns (exisortes na entdada FUNCIONARIO) serio ‘mantidoe na labola FUNCIONARIO, '* 0s atrbutes expeciicos da entdade FUNCIONARIO PROPRIO sotéo mi ‘rads para a tabela FUNCICNARIO [passendo ater valores pulos quando 0 rater do um FUNCIONARIO DE TERCEIROS), ‘© Osatribuis espectics da entiade FUNCIONARIODE TERCEIROSserdo também migrados para a tabela FUNCIONARID (passando a tor valores rulot quando e irstar de um FUNCIONARIO PROPRIO), ‘© Osrolecionamenios existortos om cada ums das ortidades sepecalizedae ‘seid migracos para a entdade generaizada, Perceta que 2 assoc fnire EMPRESA PAESTADORA DE SERVICO @ FUNCIONARIO pas 201 no mais do 1,1:1,N mas sim 0,1:1,N pels alguns funciondios(aqucles Que rem do 0 bros) no estar ads anemara ores rs Inova de sorvigos 3. Criar somente tahelas para as entidades especializadas, agre- sgando os atributos e relacionamentos generalizados a essas entidades. Uma boa estratégia para se evitara existéncia de cokunat com valores rulos em grande escala na tabela resultante da derivagao de uma estrutura apo 243, de Generalizasio-Especializagio € migrar, a0 contrério do catoantel 08 Strbutoegeneralzados pas cada win das eniadesexpeciiadss. Com isso, abteremos uma tabela para cada entdade especializada em que cons tarao,além de seus atributos e rclacionaments préprios, aqueles incorpo~ rados peli migragio dis earactersticas generalizadas para essa tabela ‘Ofator a ser considerado nessa opgio € que deverto ser replicados os atributos ¢ relcionamentos generalizados em tantas entidades especis- lizadas quantas houver. Isso fard com que processos de manutencio desses atributos e relacionamentos também tenham que ser individualizados em cada uma das tabelas resultantes da derivago final. eta 91 (caus cP cana» tra 2 |fcouna G2 | ean ox fsa |fcouna. lean |leouraat —fearuar Nesse caso, nao teremos, também, necessidade de estabelecer qual- ‘quer tipo de vinculo entre as entidades A, B, Ce D, j& que a entidade A deivaré de existir pela incorporacio de seus atributos e relacionamentos a cada uma das entidades B, C ¢ D. Encretanto, um ponto importante a ser ‘observado nesse tipo de estratégin de derivacio € que todos os tehciona- twetos existentes na enti set migrados também para as centidades B, C.c.D.c, somente apés isso, derivados. Pedemos, portanto, ‘estabelecer os seguinces passos a serem seguidos durante esse processo de desivagio: 1, Observar 6 modelo conceitval original 2, Onde for identificada uma estrutura de Generalizagio-Espec lizacio substtut-la somente pelas ensidades que representam as centidades especializadas 3. Transferiros aributos da entidade generalizada para cada uma das centidades especializadas 28 Dart co Modo Logo 4. Transferir os ruasionamentos ds entidade generalizada para cada uma das entidades especializadhs. 5. Passar a tratar cada entidade ¢ cada rehcionamento obtidos de forma convencional como se nao mais tivessem qualquer carac- terisica especial. (Lembrar que essa transformasao se apica so- mente 20 modelo légico. No modelo conceitual devem str pre- servalas as caracteristica orginais) Continvand a eplicaro modelo concoitua visto neatépicos anofiors, veroe ‘agora cbservar qual sora o resulta ottdo se opidssemas pela manutengic ‘somenta das oridades especialzadas durante a dorvagio, fpomco oS lax crlrmcoaino | [reaguno Lycos names Observaga: '* Todos os atibutos comuns (exstentes na enidade FUNCIONARIO) serdo mmigrados para as enidades espocializadas (repicando-0 ‘© 0s atrbutes especticos da entidade FUNCIONARIODE TERCEIROS serio ‘também mantioa na tabala FUNCIONARIO DE TERCEIROS. ‘0s rolaconamentes enstontes na entidade generalzada (FUNCIONARIO} ‘serdo migrados para. as entdades especiaizades, Perceba que duolicamos ‘rolacionamonto *rabalha’ mantondo cua cardnalidade. ee Capt + / (2! 4, Migrar alguns atributos ¢ relacionamentos das entidades . ye- cializadas para a entidade generalizada e/ou vice-versa. Em alguns casos serd pouco interessante migrar todos os atributos € relacionamencos de uma entidade para a outra. Vercmos, pela andlie caso 41cato, que lguns atnbutos ou relacionamentos poderiam se beneficiar com 4 migragio e outros, ndo, Deveremos, entio, selecionar os candidaios & rmigragSo e para eles aplicar os seguintes passos. |. Manterasentidades especilizadas cas entidades generalizadas no modelo, aplcando as tegras vista no item 1 para derivaraestr- turaintermediatia de derivagao (se em cads uma delis houver pelo menos um atributo ou relcionamento). 2, Para os atributos ¢ relacionamentos que tiverem de migrar das entidades especializadas para a entidade generalizada, apliar as regras vistas no iter 2. 3. Para os atributos ¢ relacionamentos que tiverem de migrar da entidade generalizada para as entidades especializadas apl regras vistas no iter 3. Poderio existir casos onde todos os atributos ¢ relacionamentos de ‘uma entidade especalizada migecm para a entidade gencralizada, Nesse cav0, somente aentidade que eve sus atributos erelacionamentos migrados deixaré de exist no modelo intermediacio da derivagio. Em todos os démais sos, sempre que pelomenosumatriburo ourelacionamento reste emma entdace, {cremos conservado sta tepresentagio no modelo ¢ teremos de lil 3 cntidade generalzada através de um relacionamento 1:1, 246 Data o Modol Leica 'S2 no exemplo utlzeco até o momento tvéssemes defnido que todos os airbus © relaconamentos da ericade FUNCIONARIO PROPRIO tvessem ‘migra, mas que houveoee pelo monce um atibuto ouum relacicnament na fentidade FUNCIONARIO DE TERCEIFOS, obterlamcs 0 segunte mode. ee vwoce PxCoyenl rgouee] frmegunn| sectros oe frmcguno] an aus [aan | sectnos ‘Seg Perceba que, como todos os aributos ¢ relacionamentos exclusivos de FUNCIONARIO PROPRIO migearim para a entidade FUNCIO- NARIO, deisamos de ter em nosso moitelo intermeditrio de dev entidade FUNCIONARIO PROPRIO, Jé a entidade F UNCIONARIO DETERCEIROS, mesmo que tivessetido alguns de seus atributos migra dos para a entidade FUNCIONARIO, preservow algunas caracteristicas ainda em seu dominio, o que fez.com que continuasse a ser representada no modelo, Para estabelecer, portanto, um elo de lgagio entre ela ¢ 2 entidade FUNCIONARIO, criamos um relacionamento I: Derivaggo de Agregagor A agregacio foi um elemento introduzido no modelo conceitual pars representar de modo mais claro uma relacio nio-binsria, O resultado obxido foiumclemento comearicterfsticas de encidade ede relacionamento simultaneamente, Para derivé-o iremos tratar primeiramente seu aspocto ligado ao relacionamento e, depois, 0 aspecto ligado a entidade. (Se vocé = capt 4 287 lembra, esta também foi a ordem matural em que aagregacio foi ada durante a modelagem.) 1, Aspecto relativo a0 relacionamento ‘No modelo a seguir temos ium caso de agregacio entre as entidades A, BeC. Temos estabelecido um relacionamento inicial entre A e B e que posteriormente, visto como entidade, passa se relacionar com C. umptcoranew | ¢ Dizerque itémos tratar primeiramente oaspectorelativo zorelaciona- sncnto significa que iremos procurar ebter sniermedisrio em que o rlacionamento RI sjaresolvido. Para resolver o relacionamento RI deveremos observar primeira- mente suas caracterfsticas (1:1, 12N ou M:N, com ou sem atributes). Dependendo dh avaliagio das caracterftieas desse relcionamento podere- ‘os aptar por uma das estratégias ja vistas anteriormente¢ aplici-s Em nosso exeinplo, como temos um relacionamento enire Ae B de grau MIN, iremos derivé-lo segundo a regea que recomenda “riar-se uma tabela para representaro relacionamento Ri ¢ estabelecerrelacionamencos 1:N entre as TABELAS A-C ¢ B-C’. Se voc@ voltar 20 t6pico que tratava esse assunto verd que a regra nio era exatamente essa, mas que 0 restitado obit pelamigragio de chives strangers acaavs por gear um mode \égico com essa semantica. Assim, o melo intemediro obido pea dervagio do atpecto relative ao relacionamento seré: icramcute um modelo td ma Py © aspecto intemo de cada uma dis tabes geradas durante esse processo (A, B e RI), em cermos de colinas, chaves primfrias e chaves estrangeias, serf o mesmo jf visto na detivagio de um relacionamento| M:N, por isso nfo iremos repet-lo aqui. Cato vact veaha dividas, consulte 0 topico relativo a esse assunco. 208 [Derveggo do Moda Loco 2. Aspecto relativy :ntidade ‘Apés o primeiro passo (tratamento do aspecto reativo a0 relaciona- mento), passaremos agora para 0 aspecto relativo A entidade, Isso signifies que agora RI deve ser visto no modelo conceitunl como umnaentidade, Assim, deveremos procurar analisar o relacionamento de C em relagio a R1, observando suas caracteristicas (grau e presenga ou nio de atributos). Em nosso caso, vamos assumir que 0 relacionamento R2 (entre Rie C) indo possui atriburos © que seré derivado usando a repr bisica para re: Iacionamentos 1:N que define *nigrara chave primitia de RI para C Eneretanto, quando falamos em chave primatia de KI, devemos parat «responder a uma pergunta important: ‘Quam é RY neste ponto em nosso mode? [No que ele 29 raneformou apée 0 primeire passo da dorvacio? Em nosso exemplo, gue propositidamente foi construido para ser simples, R1 tansformou-se em uma tabela que tem como chave priméria as caves esrangeiras de A e B que migraram para formar a chave primi, ‘de RI (regea da derivagio de relacionamencos M:N). Logo, se R1 existe oncretamente como uma tabela, nosso modelo passa a ter 0 seguinte aspecto, ap6s a derivagio do aspecto relative i encidade. ‘capruo ¢ 240, areas |] omasyn, core 2px) |] naga coure ‘una 33 ‘our ‘nase | na 8, Mas o que tera acontecido se 0 relacionamento entre A € Bosse de grau Isl ou IN sem atsibutos? Sabemos que durante o processo de de rivagio de um tipo de telacionamento desse grau nio € crada nenhuma sla pata proservara existénei de RL. Como eutio podesiamos relacio Ri com C) Veja no exemplo a seguir um caso em que itso poderia ter corti. a ‘Suponha uma empresa de prestagio de servigas técnices em projotos de ‘construrdo civil, A cada projeto que se inca, s&o estudadas as possiveis ‘temativae de slocepio de recede humans # desis a equipe de iabalho Emtungao das pessoas alacadas equip, so dvcidas as aviades aserem executades durante 0 pojeto, Isso & necesséro, pois, a cada ver, ditrontes \éonieot com dilorortes porte de corhocimonte eo eecathides. Assim, pode S50 porcobor que a casignagio das aividados para un tirico executar no sw di ann utc » projet 6 etlado © nem quand 0 Yoel 6 eordatodo, ‘mas sim quario 00:14 8 alocado" aum projto, Adconamente, um roo Contaré com pela menos um @ até vatos Wenicas @ um técnica pederé par- tsjpar ce nenhurn, de um ou de vies projtos com dllorntes atvidedes om cada um dois, ‘© modelo conceitual que representaria essa situagto seria o seguinte: 260 ‘io do Mods Leo PROTO Tecwtco arwonce Perceba que entre PROJETO € TECNICO temos um relaciona- ‘mento de 1:N, que participa de uma agregagio com ATIVIDADE. A cada alocagio de um técnico a um projeto (aspecto do relacionamento na agregasio}, sio associadas as diversas atividades que esse técnico devers desempenhsr no projeto. Conceituslmente nosso modelo consegue ser fie! todas as condigoes estabelecidas no enunciado do exemplo. Isso demons- tra que, apesar de pouco comum, a agregacio pode ocorrer com relaciona~ rmentos de grat I:1, [EN e M:N e ni somente nesse tliimo, como alguns autores afirmam, ‘Mas voltando 20 processo de derivagSo, que € nosso interesse maior, vejamos o que acontecersnaderivacio do aspecto elativo 20 relacionamen- to ma agregagio, Ao derivarmos 0 relacionamento entre PROJETO TECNICO, obteremos a seguinte estraura Proveto |—————+ use apleagSee decenveiveram sous modelos equeo ambiente observado.em cade uma delas 6 0 segunie: » Aplicaga 1: | [Ambiente Observaie: Area administativa da empress Objetos Observados: Fornecedor, Clients, Funcionario, Orgao © Apicagao 2: Ambiente Onservai: Aree Juridica ca empresa | Objctos Obsorvados: Grgfio, Noma, Advopado, Vara Civ |. carpalibilzagéo desses dois modelos visando a um modelo cororativo po- deri nos indir & existéncia dos soguintes objetes cerporatves: Fermecoder, Cfento, Funsiondo, Orgie, Nerme, Advegado, Vara Civ Entrotanto, durant aandlisa tos oko fit noprocesso de compatbilizacso, pederemos descatrir que 1» Grgio ne aptoagio 1 diz reepete a omen frmadoroa da setruture do snograma da empresa, tas corro drétotes, depantemertcs, dvstes, sees. '* Grgio naaplicagio 2 dz rospoto is inituigBes nomelizadoras evctontes no nivel muntpa, estadual¢ fadeal, tals como © Gonsetne Regional de atizina (CRM), Organizapdo dos Advogados do Brasil (OAB), eri outos. ‘© Funclonérlo na aplleapéo 1 dz rospoto a tedos os indviduos que con- ttatados pola empresa prestam servis intemos ou exiemos. Cito 6 an ‘om Ditato, foram contratade pala empresa para presiarsarigos do ofen- '¢ Aavogadio na aplicacdo 2d respelo a 00s 0s indvicuos que, forn._108 lao assessor jurdica, (0 que podemos corstatar com essas informagées obiiéas? 1, Orgdo na epiicagdo 1 © Orgio na aplicagdo 2, apeser de trem a mesma idantlicacio, no 80 os resmos abjetos ,portanto, dever ser dterenciados, 2. Funclonarlo na eplicagdo 1 © Advogado na aplicago 2, apeser de terem “dontiieagbes diarontes, io 0 mesmo objeta visto por dis enfoques aspecia- lizades mas que t8m tolal harmoria, potanlo, podendo ser inlegredoe come uma s6 cosa, Fica claro, com esses excmplos, gue 0 processo de integragio ¢ com- ago envolvers senso critica, investigacio, anslise e reconheci- Iento dos objetos existentes nos modelos de dados das aplicagdes. Neste onto, muita habilidade pessoal serd exigida e de quase nada adiantario os supostas softwares modeladores autométicos de dados. ‘Até 0 momento, estivamos considerando, para facilitar 0 entendi- mento, somente discrepanciasexistentes entre uma aplcacio 1 e uma apli- ‘agio2, Vamos consideraragora que, no mesmo aso, jf temos um modelo de dados setoril prevismente criado e estamos tentando compatiilizar dois noves modelos de dados de aplicacio com este i existente, Teremos afuma situagio onde, além de discrepincias entre os modeles de dados de apliagiies, poderemax ter diserepncias entre estes ¢ 0 modela de dados sevoral jf concebido, ‘Teremos de trati-las de igual modo considerando, lem disso, que conceives ¢caractstizagbes previamente obtidos no modelo de dados setorial estejam incorretos.Issoimplicard mudancas, ou comrecies dos modelos, anto em nfvel secorial como em deaplicagbes ‘Toda e qualquer akeeragio de um modelo de dados serorial devers ser analisada sob 0 ponto de vista de impactos sobre os modelos de dados de aplicagio que hes deram origem. Essas alteragbes devem ser repassadas, quando necessirio, para os demais moddes. Todo o processo aqui descrivo para sintetizagéo do modelo de dados secoriala pertt dos modelos de dado deaplicacio évalido pra 2 cbtensio do modelo de dados corporatiro a partir dos modelos de dads setoriais. Basta que se repita © procesto com outro nivel de agregasio. pati Nivelamento dos Modelos de Dados Dentro do processo de abtengio de um modelo de dads corporativo 2 partic da abordagem bottom-up, deve-se aplicar o conceito de nivels- mento de modelos para que se atinjam os resultados esperados. 212 Ambion Copertivo JK citamos | :riormemte que um modelo deve conser somente os clementos deis a sua compreensio. Este, portanto, deve ser 0 principio utlizado durante as ets fases de modelage: Fase de Nodelegem Modelagem da Aplicagio Grand [Noelagem Seto Medic Nivel de Detathamento f _Moselagem Corperatva Poqono Isso gatantiré que nosso foco de atencio esteja voltado nas fases corretas para os objetos corretos. Lembre-se: podemos, ¢ devemes, ter mapas das cidades, dos estados ¢ do Brasil, mss nem rados eles com os ‘mesmos nfveis de informagio. Logo, caso esteiamos intzgrando modelos de apicagio para obter um modelo setorial, deveremos estaratentos a elementes que tenham puramente fangio normalizadora ov detalhadora de objetos em nosses modelos. Esses elementos, durantea fase denivelamento, deverio ser omitidos, oxenglobsdos ppor elementos de nivel de abrangéncia maior. Esse mesmo tipo de estratégia deverd seradotado na cbrengio do modelo corporativo a partir dot modelos setoriais frzendo com que, 20 final do nivelamento, somente os elementos ‘essencins corporagio sejam mapeados ¢ represen. ‘No modalo da aplicaro Recrtamento 9 SclogSo de Funciondice pederiamce ler os seguintes elementos identicados: * CANDIDATO © DEPENDENTE ‘© DOCUMENTO PESSOAL, © ESPECIALIDADE. © VAGA [Ac uscarmes os elementos bdsicos para nvelamento desse modelo, durante «a intggregdo com o modelo de Foina de Fagamento, poderlamos descarar na ‘gerago do modelosetoril deAdministragc de Recursos Humans o2 elemar + DOCUMENTO PESSOAL © ESPECIALIOADE feardo somenta com os slementos oesancisi que sé: ‘© CANDIDATO '» DEPENOENTE * vaga Carituos 273 esse c1s0, 05 elementos descartados (DOCUMENTO PES. AL, ESPECIALIDADE) foram englobados pelo elemento CANDIDATO. esta mesma maneira, no nivelamento do modelo serorial de Adminis tragio de Recursos Humanos com outros modelos setoriais poderfamos, sinda mais ums ver, proceder & busca de elementos a serem omitidos no modelo corporativo. Em nosso exemplo, durante a fase de obtengio do modelo corpora- tivo, provavelmente, acabariamos por omitir CANDIDATO, DEPEN- DENTE e VAGA, que, do ponto de vista de recursos humanos, sio bastante importantes, mas que para a empresa como um todo nao dizem respeito, Assim, de nossa Ista inicial de elementos acabarfamos por nao rmanter ne modelo corporativo nenharn dos elementos ctzdos. Com cer- teza terfamos no modelo corporativo um elemento denominado FUN- CIONARIO, ou EMPREGADO, que estaria represencando a forga de trabalho efetiva da corporagéo © que, em algum momento, passou pele condigio de CANDIDATO. Entretanto, manter no modelo corporativo todo o ciclo de vida de recrutamento, selecio e adminisiragio de pessoal seria extremamente detalista para a finalidade deseiads. ‘A Abordagem Top-down x Bottom-up Pode-se perceber, elramente, que cada uma das duas possiveis abor- fect pas 7072 MIN com wusematibuco, 239, madara nraso de eicoramentos Lindros semis, 8 representg segundo James in representgao segundo Peer Chen, 8 mero de cementor que panicipam ‘ds un elscioramenta, 89-87 pretengade aribucos, 98 ‘com srbatos, 100 ‘mullaneas ns represenagio em fungi de rlacioramentos core auibutos 105 sem artes, 104 presen do elemento, 89 ‘condoms, 30 incondiciomis, 90 24 proceso de definigiow nota? ‘corecituyao de elacionamentos 11,78 -sonecituiio de elaconamentos TN, 80-12 ‘conceituagio de relacionamentos MIN, 2 ‘subelesimenis de graus de relaionamentor, 7 rmulangas ny rorago de relaionamenton M:N #6 schema, nveisde, 25:26 ‘Teenies Esrenradas¢ CASE (James Mari) 186 “The Eazy Relationship Model: Toward “The Untied View of Data" (Peer. Chen). 33 UNIX,30 wifi valdapi,favoresimento do process de, 22 ithe rin) 28 YMS, 30 Este tro fol impresoras atienas grains éa Biliow Voses tan un Frol Lla 100 Patrols, 23, com times # papel formacidos pelo editor.

You might also like