Você está na página 1de 7
‘Se¢AO PROJETO DE SOFTWARE/MODELAGEM: NESTA SECAO VOCE ENCONTRA ARTIGOS SOBRE PROJETO, ANALISE 0 Construindo um Sistema de Ini Projeto: Controle de Estoque da Loja de In construsio de sistemas de in formagao é algo cada vez mais, omum, e podernos até dizer que um tanto quanto “velha’, em virtu des das novas tecnologias que surgem a ento, possibilitando cada vez s solugées inovadoras para atender as nossas necessidades como pessoas ou empresas. Apesar dessanecessidaclejé ser rotineira, percebe-se que as atividades de modelagem continuam sempre com uma importancia destacével no contexto do nvolvimento desses sistemas, pois permitem entenclermoso problema antes de construflo, minimizando 0 isco de ands interpretayoes, Como padrao para a modelagem de sistemas de informacao, a UML tem se tomado uma ferramenta cada vez mais difundida em empresas de desenvolvi- mento de software devido a sua simplici- dade para viabilizara modelagem de tals, aplicagoes, e pelo conjunto de diagramas que nos prove um leque extenso de op- es para usarmos cle acordo com a nossa necessidade. ‘Quando passamos da fase de modelagem e chi do b. amos a atividade de construgao nco de dados, percebemos que 0 longo dos anos isso se tomou cada vez mais simplificado em virtude das diversas ferramentasque possibilitam aconstrucao debancos de dados usando interfaces gré- ficas. Noentanto, apesar daajudaprovida pelas ferramentas, um DBA que se preze inda mantém o orgulho em dominar a linguagem mais tradicional para realizar consultas em banco de dados alinguagem SQL) extraindoIeitedepedras” quando o assunto ¢ buscar informagées espalhadas pelas diversas tabelas que podem compor nosso banco de dados. Neste art 0, tataremos desses dois, tépicos que sio essenciais no ciclo de 6 sOLMagazine +i 80 pe TCL De que setretao artigo: Este arige descrere oprjeto de um bonco de dadose conuultas em SOL paraumn sistemnade coniiole dk extoques para ume oj de infornética, apresentando um rotero de modelager conceal usando gers UML em seguide consults serem relzadesnelingue gem SOL Paraqueserve: Auta prot sbtenasde informa Enque stuasdo tema uth: Bancod 1s de bencode dados que possuem a necessidade de projet bunces de dados pare usando linguagem UML erelizer consultas usando a nguagem SQL lados€ un elemento essencal en qualguetssteme orentadoa informagces Dessaforma seu rojtose torna um aidade essencla para ating qualidade e sucesso na aplcecaoa ser deservolvida ‘Da mesma forma, suas consulta € que posibitare arecuperagao dos dads que esto nee condo, € comisso elas precisa ser construlasde forma estruturada desenvolvimento de um sistema de informagao: a sua modelagem inicial (conceitual e logica) e a realizacao de consultas em tabelas de banco de dados. O objetivo como artigoe auxiliarmos na construcao de um sistema para uma loja deinformatica chamada ACDN Info. Para de uso e de classes da UML na fase de modelagem da aplicacao, e para realizar as consultas desejadas voltaremes acriar suagem SQL sem qual- quer apoio ferramental. Espero que voces apzoveitem o que vira pela frente consultas em li Estudo de aso da Loja de Informatica ACON © objetivo de desenvolver um banco de dados para au- tomatizar as fungSes de comprae venda de produtos de uma loja que chamaremos de ACDN Info. A ACDN Info possui como diferencial ssponibilizar uma grande variedade de lutos de informatica sempre abaixo do mercado, o que é pos: osso estudo de caso é e informatica sibilitado pelobom relacionamento com 0s diversos fornecedores de produto com queminterage. Um numero de ven itador ¢ o grande sdores que trabalham na empresa, sempre incentivados pela diregao da ACDN partida, a restri 1 para que esta et vendas para clientes ¢ que o pagamento seja realizado sempre via dinheiro, nao possibilita credito ou cheque. wlo transacdes com cartoes de MODELAGEM DE DADOS ormacao usando UML e SQL formatica ACDN Info Dentre as varias fungSes a serem almejadas para o novo sistema com- putacional aserdesenvolvide, podem sor citadas = Controle dos vendedores que tr. balham na empresa, incluindo seu dosompenho com a8 vendas. 1 Controledlos produstos vendidos pela empresa, inclaindo a monatengio do estoque a fim de evitar « auséncia de produtos importantes + Controle dos fornecedores que trabalham com a empresa, inclsindo a perticipagio mensal de cada forne- cedor. = Controle das vendas realizadas diariamente. Algumas consultas gue desejam ser realizadles com os daclos armaze- nados no sistema a ser desenvolvide esejam saber *Quais foram os 5 produtos mais yendidos no més. Essa informagio & importante para manter sempre estes produlos em estoque © prover alguma cestretégia para incrementar ain: suas vendas ¢ de outros produtos rela cionados. + Quais foram os 5 produtos menos vendidos no més, Essa informagio & importante também para prover al- guma estratégia para incrementar as vendasdlestes produtos paraque estes nao flquem paradus no estoque, * Qual fol o volume ce verdas reali- zado por perfoce, incluindo a distri buigto de venclas entre as diferentes categorlas de produto vendidas ne empresa e que também deve ser controlads. * Quem foi o vendedor do mes, pols este receberd um premio da empresa. E para isso, existem 2 premics: um parao vendedor que mais vendeuem r quantidads ¢ outro para o vendedor que mais vendou om valor *# Qual sor o vendedor do priximo més. Esta consulta 6 realizada ¢ consultada ‘apenas pela alta dirogao para identificar quais foram 03 3 vendedores que menos venderam em cada més (em quanti dade). A ideia nie é prover punigio alguma, mas sim analisar a distancia de desempenho desses vendedores ara os demais, caso haja uma grande diferenga (a andliseé feita manualmente pelo gerente sem apoio computacional), prover um treinamento individual com estes profissionais para que elestambém, se destaquem na empresa Quais 083 fornecedores que mais ven- deram produtos & ACDN Info. A ideia ccom esta informaggo ¢ apolar a equipe de compra da empresa a lnteragis com © fonecedor, pedindo, por exemple, descontos para compras em grande quantidade. * Quals os produtosem nivel riticos, ou sela, que estao com uma quantidade em esioque Inferior 4 quantidade definida para ele, O objetivo também ¢ apolar a equipe de compra a manter o estoque sempre atualizado. A seguir iniciaremos © processo de -modelagem e projeto do banco de dados que atenda ay necessidades da ACDN Injo, comegando pela modelagem do problema usando diagramasde casos de uso e de classes da UML. Diagrama de Casos de Uso © Diagrama de Caso de Uso descreve a funcionalicade proposta para um novo sistema aser projetado, Segundo Ivar Jaco- bson, poderosdlizer queum CasodeUsoé ‘um “documento narrativo que descreve a sequéncia de eventos de um ator que usa Arito CLaupio Dias Neto Figura BementasdaDagama de (ass dels0 ‘um sioteme para completar um processo” ‘Um Caso de Uso sepresents ine unidade lscretadainteregdoentre umusudro (hux manoouméquina) eosistema, Um Casode ‘Uso éuma unidade de wn trabalho signifi cante Por exemplar o"codastrer usudric” & “realizar vendas" so tedlos Cases de Uso. Cada Caso de Uso tem uma descricao da funcionalidade que ird ser construila no sistema proposto. Um Caso de Uso pode “usar” outra funcionalidacde de Caso de Uso ox “estender” outro Caso de Uso com seu proprio comportamento Os elementos basices que compoem uum diagrama de casos de uso sio atores © casos de uso (Figura 1). + Ator: especifica um papel execatado por um usuario ou outro sistema que Interage com 0 assunto (sistema). © Ator deve ser externo ao sistema. Um ator deve werassociagvesexclusivamente para casosde uso, componentes ou classes-a ‘exceglo que tum ator possaherdar o papel deoutro. Um atore representado por um Dboneco {stick na). + Caso de uso: E uma especiticacio de lum conjunto de agdes executadas por lum sistema, gue contem um resultado observavel. Caso de uso € representado por uma elipse, com o nome do caso de uso centro ou abaixo, Se ha limites do sistema no diagrama, caso de uso deve ficar dentro. (Os elementos que compdem o diagrama decasosde uso se relacionam de diversas formas (ver Figura 2: tsgo 80+SaL magazine 7 Re RU UE ue AU ce Comer Liem | ae 0 ‘* Relagao entre atores: Interagbes entre atores naosao mostradas no diagrama de caso de uso, Se esta interacao ees pare uma descrigao coerente do com: portamento desejado, talvez o limite do sistema ou caso de uso deva ser reexami- nado. Alternativamente, interacao entre atores pode fazer parte de suposigSes do sistema, # Generalizagio de atores: Uma popular relacio entre atores € a generalizacio/ especializacio. Isto ¢ atil para definir sobreposicao de papéis entre atores. A notacdo é uma linha sélida com um tri Angulo em direcdo ao ator mais geral. ‘#Relagao entre casos de usos <>: Um dado caso de uso pode incluir outro. Incluir ¢ uma relagdo direta entre dois casos de usos, implicando que o compor- tamento do caso de uso incluido é Fido no comportamento do caso de uso “inclusor”, Esta relagao indica uma obri- gatoriedade do caso de uso incluir @ funcionalidade do caso de uso incluido. Assim, sempre que o primeiro ocorrer obrigatoriamente o incluido ocorreré. A notacio é uma seta pontilhada para o caso de uso inciuido com o estere6tipo >, #Relacio entre casos de usos <>: Um caso de uso pode estender outro. Esta relagdo indica que o comportamento do caso de uso estendido pode ser ou nao inserida no caso de uso extensor. Notas ou restrigdes podem ser associadas a0 relacionamento para ilustrar as condicdes fem que este comportamento seré execu- tado. Anoiacio é uma seta pontilhada da extensio parao caso deuso estendido com aetiqueta <>. Contruindo o Diagrama de Casos de Uso para Sistema da ACDN Info Oiagrama de casos de usocorresponde auuma visio extema do sistema erepresen. tagraficamente os atores, os casos de uso € 0s relacionamentos entre estes elementos, Fle temcomo objetivo ilistrarem um nivel alto de abstracio quais elementos exter- ros interagem com que funcionalidades do sistema, ou soja, a finalidade de um Diagrama de Caso de Uso é apresentar 8 SOL Magarine- fio A ator ‘<> Ig 8 ator 2 ator 3 scextend>>, Caso de Uso Caso de Uso 2 Figura 2 Peladonamerto entre os emenosdo Dagramade Gos de Uo Figura 3. tiagamade Gsosde sopra sistemadaACDNInfo uum tipo de diagrama de contexto que apresenta os elementos externos de um sistema e as maneiras segundo as quais eles as utilizam. No caso do sistema a ser desenvolvido paraa ACDN Info, precisamos primeita- mente identificar quais sero 0s atores do sistema. Percebemos que existirio dois atores # Vendedores, que sio os profissionais que irdo realizar as vendas dos produtos na loja, # Administragdo, que sao os gerentes que ficardo encarregados de cadastrar produtos, vendedores, fornecedores, registrar as compras realizadas junto aos fornecedores e ainda emitir os relatsrios solicitados pela alta direcio, Em seguida, passamos a analisar os possiveis casos de uso que iro compor nosso sistema, Identificamos os seguin- tes casos de uso, com isso definimos o diagrama de casos de uso, apresentado na Figura 3 © Cadastrar Vendedor: responsavel por cedastrar, editar, alterar e remover dados de vendedores no sistema. ‘© Cadastrar Fornecedor: responsével por cadastrar, editar, alterar e remover dados de fornecedores no sistema, * Cadastrar Produto: responsivel por cadastrar, editar, alterar e remover dados de produtes vendidos pela empresa no sistema, ‘*Realizar Venda:responsével por registrar as vendas realizadas pelos vendedores. © Realizar Compra: responsivel por re- agistrar as compras de prodatos realizadas junto aos fornecedores. Emitir relatério de produtos mais ven- didos, ‘* Emitir relatério de produtos menos vendides. «© Emitir relatério de volume de vendas. « Emitir relatério de vendedor do més. «© Emitirrelatério de““vendedor do proxi Emitir relatério de fornecedares que mais venderam. + Emitir relatério de produtos em nivel critica, © detathamento de cada caso de uso deixaremos por conta dos leitores, Para isco, podemos utilizar o template dispo- nibilizado no artigo “Utilizando UML Diagrama de Casos de Uso" publicadona ‘ecligSo 62 da SQL Magazine. Para construcio do modelo légico do toma da ACDN Ino, sexi adotado 0 diagrama de classes da UML banco de dados do Diagrama de Classes Diagramade clases é uma representagio dacsiruturs ¢ rele das classes que ser vvem demodeloparacbjetos. uma modela gem muito sti para os asclasses que 0 sistema necessita poser ema, define todas Os elementos que compdem um diagsa- made = Classe: Elemento abstrato que repre~ senta um conjunto de objetos. A classe contém a especificeséo do objeto; suas cacacteristicas:atributos ¢ métodos ages compertamentos) * Atributo: Define caracteristicasda classe © possui os seguintes elementos: ‘Visibilidade: Publica onde outras classes podem ter acesso ao atributo. Erivada 0 atributo somente ¢ acessado pelo relacio- namento da classe com a classe externa, Protegida e Pacote ‘Nome: Identificagao do stributo, Tipo de dados: Tipo de dado do atributo, + Multiplicidade: Relacionamentos, - Valor inicial:Depende da inguagem. de progremacao, valor opeional. ~ Propriedade: Caracteristicas do ele- mento opelonal + Operagao:Pungeo requerida a um ebjeto. Possul os seguintes elementos: Nome, Visibilidade e Parametros. Kelacionamentos entre Nome: Nome da associagao. - Multiplicidade: cefine a quantos objetos um dado objeto pode estar associado, he Desciggo cs. Fornecedor Preduto Vendedor nea sone ] oor SResbosocal Sbeeo | Shere seefee [> Se |nebeuwsm 7] teste ce rebate Tepiereco Tounniade I + | tone scores sQuantiade ima $a ch Admso compra Venda “ate soe oe Here Meir Tos pen “une coord eeeten ast Figura 4, Dagemade Cass poaosstema ca DW fo Navegasio: De onde vémasinforma: es da classe e para onde vai Os tipos de relacionamentos entre as classes podem ser do tipo: + Agregacdo: Demonstra que as informe Ges de um objeto precisam ser comple- mentadas de outra classe, objeto-todo e objetorparte. Associagao conhecicla como “tem um’, representa uma relagdo forte lentreas classes. Se a classe que “contém” for destruida nao significa que a classe “contidla” serd. Blaé representadapor uma linhacom um diamante vazado do dod clese que conten. + Composicdo: Um tipo de agregacto, onde o objeto-parte pertence a um tnico objeto-tedo. Asseciagao conhecida como “contémumrepresente uma relacao forte centreas classes. Sea classe que “@ dora’ for estrada significa que. classe “contica” também sera. E representada por uma linha com um diamante cheio do lado da classe que contem. ‘sEspecializacao ou Generalizagao: Tam- bem conhecida como heranca, representa asdependencias ¢ hierarquias. Contruindo o Diagrama de Classes do Sistema da ACDN info O diagrama de classes para o sistema a ser desenvolvido para a ACDN Info é formedo por seis classes, conforme apre- sentado na Figura 4: + Produto: representa a entidade prosixiodo nesse dominio, contende informagoes sobre (5 produtos vendlidos pela empresa, como valor unitario, descrigéo, quantidade em cestoque, quantidade minima requerida, + Categoria: representa a entidade cateyo ria depreduios do nosso dominio, contendo Informagbes ({itulo = descrigio) sobre as diferentes categorlas que sao trabalhadas ne empresa # Vendedor: representa a entidade vende- dor do nosso domsnio, contendo informa- {goes sobre os vendedores que trabalham na empresa, como nome, CPF, carteira de trabalho, telefone de contato, data de acimissao, dentre outras. # Fornecedor: representa a entidade fernuce- dor doniessodominio,contendoinformacoes ssobreos fornecediores que ornecemos produ tos vendixios na empresa, como CNP], 4240 social telefone de contato,endereco,niimero de inscrigao, conta, dentre outros ‘© Venda: representa a entidade venda do nosso dominio, contendo informacoes como a data e hora da venda e valor total da venda, E uma classe de associacao, ou seja, 90 existe a partir da relagao entre as classes procitoe vendedbor. # Compra: representa a entidade com; rnossodominio,contendoinformagiessobre a data e hora da entrega dos produtos ¢ va- lor total da compra, Também é uma classe de associagio, ou seja, 6 existe a partir da relacio entre as classes produto efernecedor. nado {den 80+ SQL Magazine 9 Ce ME auc Cn ee elmo eee 0] Categoria inueCategona descricaocategona | é | comoras Produtos 7 Yeraas Vendedores fe canal meme [svete i | |iseras Secoenes J cao cr quantidade valortintaro ee hora nome \aerodio. Fk) guamsode vaorTot 7 CartraTabatne ‘Cotepona (Fk) vent dadetinime uantdoce tsa (Fomecedor () ieeoneceder (EK) (Gverdedor FX) cota cnissa0 aCotegcia FH) ieCetgora Fk) iaProsso FRI cnPS Figure 5 Das de ER pra sitemads KONI Os relacionamentos entre as classes identificadas provem informagbesadicio- nais aquelas contidas nas classes: + Fornecedor-Compra-Produto: senta @ operacdo em guiea empresa com- pra produtos de um fornecedor, onde a partir dessa relagao éposstvel identificar 0s produtos que fizeram parte desta ope- ragdo de compra e quem foi o fornecedor que participou da operacao de compra. # Vendedor-Venda-Produto: representa operacio em que a empresa verda produ- tosa clientes, onde a partir dessa relacdo & possivel identificar os produtos que fizeram parte desta operacio de venda e quem foi o vendedor de cada venda. + Fornecedor-Produto: representa a ope ragio em que a empresa venda produtes 4 clientes, onde a partir dessa relacao 4 possivel identificar os produtos que fizeram parte desta operacio de venda + Categoria-Produto: representa a clas- sificagio de um produto em uma das categorias definidas pela empresa 10 aL Magazine Figo sazaoSecil twletone endereco contato é Fornecedorse Como limitagio do modelo construtdo, para cada diferente produto vendido (ou comprado) um novo ebjeto de venda (ou compra) ¢ instanciado. Para praticar um pouco mais sobre modelagem, o leitor pode buscar uma solucio para esta li- mitagao, 9 que podemos adiantar & que € algo simples de ser modelado e buscar esta solucio vale bastante apenaa quem std interassado sobre o assunto. Construinde 0 Banco de Dados Para construcao do banco de dados, devem ser seguidas as regras de transfor- maciode “Modelo L6gico > Modelo Fisico” apresentada no artigo “Modelando um Sistema de Reserva de Carros” publicado na edigéo 74¢da SOL Magazine, resultado final desta operagio sto s tabelas, uma para cada classe identifica- da, O modelo ER referente a este banco de dados esta apresentado na Figura 5. Observe que os relacionamentos apre- sentados na Figura 4 {todos possuem rmuitiplicidade 0." se tornarem chaves strangeiras nas tabelas que representa as dlasses com multiplicidade 0... O script para geragio das tabelas esté apresentado na Listagem 1 ‘Aseguir, passaremos na prdxima secao 8 definigao das consultas nas tabelas a fim de implementar os casos de uso re- ferentes & emissdo de relatorios, citados anteriormente. Implementando as Consultas para gera- ao dos Relatérios [Nesta seco usaremos cédigo na lin guagem SQL tradicional, ou seja, sem especializé-la para qualquer SGED, a fim de prover as consultas desejadas nos cases de relacionados a emissio de relatos. consulias serio apresentadastuma a ua. + Consultando produtos mais vendides em um periodo: Nesta consulta, deve ser passado como parametro apenas o periodo de busca Gata de inicio e de fim), ¢ como resuita- do serio retornados os 5 prodatos que mais foram vendidos naquele perfodo, exibindo 0 sou nome e quantidade de itene vendidos no periodo (Listagem 2) jentre a tabelas Paraisco, 6 fits umajung vvondas © produtes a partic do eédigo do produto (elemento que deve ser comum fem ambas as tabelas) © um agrupamento das vendasentre cada item Por fim feta uma ordenagéo pela quantidade de itens vvendides em cada produto € so exibidos + Consultando produtos menos vendi- dos em um perfodo: A solucdo para esta consulta ¢ pratica- mente idéntica anterior, com uma éni- ca mudanga: em vez de ordenar os itens do maior (que mais foi vendido) para o menor (que menos foi vendlido), inverte~ se a ordenagéo usando a cléusule ASC no lugar de DESC (Listagem 3). ‘+ Consultando o volume de vendas em. ‘um periodo: Para consultar o volume de vendas em ‘um periodo por categoria de produto, devemos agrupar todas as vendas rea- lizadas por categoria de produto e em seguida somer seus valores, Para isso, deve ser passado como parametro ape- nas 0 perfodo de busca (aia de inicio e de fim). Com isso, conseguiremos o resultado esperado (Listagem 4). Para facilitar a implementagio desta con- sulta, optamos por inserir a categoria do produto vendido como atributo da tabela vendas. Isso simplifica esta con- sulte, porém pode acarretar aumento de tamanho no banco de dades, 0 que pode vir a se um problema no futuro quando houver um grande volume de informacdes no nosso banco de dados. Um exercicio que podeser realizado pe- los leitores 6 implementar esta consulta sem adicionar a coluna da categoria na tabela de vendas, + Consultando os vendedores do mé: (quantidade e valor: Para consultar os vendedores do més, devemos agrupar todas as vendas reali- zadas por cada vendedor naguele perio do que é passado come parametro (data de inicio e de fim). Feito isso, podemos Aistage. Soin iinet 11 Cando etabela de CATEGORIA (CREATETASLE cxecones idineNOTNULL, tiulocategoria varchar descrcaocategor varcha(100, mary key 0) (CREATETIRREfornecedoes ‘dint OTR, Cups arcbar0, raraosocal vaca, telefon varchar erdereco areas), cantar vachar3, primary ky i) 2 in atabala de PRODUTO CCREATETABLE roditos( dine NOTNULL, nomeProduto varchar, ‘descraotrodto varchar (00, antic nt quantdadeMinimz int cetegornt ‘eFornacedor int, foxcign hey (catego REFERENCES entegorie 6, for ha laomecedb REFEFENCES fornecedores ary key eh 11 Cando tab ds VENDSDOR CCREATETABLE vndedons( igint NOTNUL, PF vecht amevarcanty, contar o ndimero de vendas (prémio 1) ou somar 0s valores das vendas realizadas (prémio 2) para saber quem seriam os vencedores. Ao final, serdo exibidos 0 nome do funcionario eseu CPR. o naime- ro de vendas (Listagem 5)e 0 valor total das vendas realizadas (Listagem 6) * Consultando 0s 3 “vendedores do préximo més" (quantidade): Para consultar os vendedores dom dovemos fazer algo muito similar 10 apresentado na Listagem 5, apenas invertendo a ordem de exibigio (exibir 8 que venderam a menor quantidade) e aumentando © nimero de rogistros retomados para 3 (Listagem 7) | | ‘cataeatabahe verter), teetne varrar, cdasanese date, iar ey) i ‘1 and stale de COMPRA CREATETAELE cormorant cana date, hors arta), valorits os, quanodaee it, leFomecedor mt, {erin ey (Proce) REFERENCES produes feeign key (eCategoraProdut REFERENCES categoria {oreign hey (eorncceson REAENCES fomnecedores ih primary key) (CREATETARLE vendss( ‘eenda int NOT NULL, cata cate, hora aha), ‘Prodi lecategoraProduoin, levendedoc ir, {eregn ey (dPrxito REFERENCES produce, foreign hey (.categoraPredutREFERENCES ategois foreign ke (Vendedor) REFERENCE encederes i, pary hey) + Consuiltando os fornecedores que mais venderam: Para consultar os fornecedores que mais venderam, devemos fazer algo muito similar ao apresentado na Listagem 2, onde foram listados os produtos mais vendidos. Dessa vez, deverros consultar na tabela compras quais foram os forme. codores que possuem a maior quantidade de registros em um dado perfaco de tem: po (pasado como parimetro de entrada), Ao final, sero retomnados CNPI erazio social dos3 principais fornecedores, além da quantidade de compras efetuadase 0 valor total das compras por fornecedor (Cistagom 8) Figo 80 SQL Magazine 11 Construindo um Sistema de Informacao usando UML e SQL + Consultande os produtos em nivel eritico: ‘A consulta pelos produ tico pode ser considerada a mais simples de todas as apresentadas neste artigo, is90 porque ela ndo requer relacionamento de jungoentze mais de uma tabele. Esta con- sulta consiste em simplesmente verificas, para cada produto, se 0 valor do campo ‘suantidade, que representa « quantidade tual do produto em estogue ¢ inferior 20 valor contido no campo quatidadeM- ima, que representa 0 numero mi de itens que aquele produto deve conter em estoque para nio ser considerado em nivel critico. O resultado seré uma lista de produios que estejam nesta condicao indesejada. Para aprimorar um pouco mais esta consult, seré retornado tam- bém onome e telefone do fornecedor do produto, para que a equipe de compra possa usar este relatério para agilizar 0 processo de reposicéo dos produtos em falta (Listagem 9) Concluséo Este artigo teve como objetivo apre- sentar uma solucto de modelagem de alto nivel de um sistema de uma loja de informatica, Para isso, utilizames os diagrames de casos de uso e de classes da UML para viakilizar o seu deservol vimento. Ao final, foram apresentades consultas em SOL que atendem a parte dos requisites definidos para o sistema Tais consaltas podem ser implementadas como stored procedures ou como consultes livre no cdigo da aplicacao a fim de im- plementar o5 casos de uso identiticados para osistoma importante ressltar que diversas reas de negicio que poderiam fazer parts do censrio do estuda de caso nfo foram trata- das, assim comoas decisdes de modelagem foram simpliticadas ndotornaro attigo mais egivel os diferentes perfis de profis- sionais que trabalham com modelagem & projeto de software. Diversas sugestées de continisagSo a0 projeto apresentado foram citedas ao longo do texto, ¢ acreditemos 12 saLMagazine Caio 0 SALECT nonefrodito, COUNTvendsioroaute] as vendasedto FROM precios JOIN yandas ON vend Pvoduto produtonk WHERE yerlasdata >= AND vende <= = AND vend <= GROUP EY (ends, leprae} ORDERGY vndsProdut ASC LIMITS usage conto ve ved ortega pasta SELECT tolocstegoria Suldivendas nbretalasvendesCaiegora FROM catzoariasOINverdasON vend iecategriaProduto ~ ategorienkd NHERE vendita >= IND vendasdata <= ctatin> GROUP BY (edasidCategoriaroeuto| ORDERAY DESC verdascategori tegem Grane vendo dns ra quid d vent SELECT CH, nome, COUNTWvans.tVndedo as qed FIOM vended>res ION verdas ONverdas er ‘edo =vendedoresid WHERE ves cata >= AND endasdata<= GROUP BY (vendas, edvendeder ORDE\ BY DESC qieVends LMI tage 6 Cont ovnfe da s narale deen) SELECT HF, name SUM (endatvalrTotal as vsloAendas FIOM vesedors JON vendas ON venasiVendedor ndedtes WHERE vendasdait >= AND vacate GROUP 5” endsicven Lstagem 7. oslo owners inn ms penx untied) SELECT CF, nome, COUNT wendas HVerdedod as qudevencas FIOM verdedores JON vedas ON vende OVE dedor = vendedoresi WERE ronacta-~ AND verdondata <= cdotain> GROLP BY [vend leven CROER BVA apa LIN Litagm.Crautondo faneceoesquemasyendern SELECT Ch, aznocal, COUNTKcompositFmecedo) ae gdsCompras, SUM omprarulorot ar vale Comeas FROM formecacdoms DIN comgrasONcompraidFomecedo’=forecedoresd WHERE compress “fatainici> AND romprasdata <= GROUP BY (campasidFornecedr ORDERBY DESC qtdeCompes uwr3 Lage Corde pets congue en eoqucem iv ic SELECT nemetrodsto,desacaoPreduts,quantdade, quantidodeMinima CNP ezacSocal telefeneFarneceder FHON prolutes JN frnecederes ON poaitosiammecedo -fomscacoresid WHEE quamidode quanto que sdo de grande valor aos interessados no tema. Caso vocés tenkam um tempo para se dedicar ao aprendizado, sugerimos que feniem 0 seu desenvolvimento. ‘rl laud Das Neto iecowtoggmitcon £otoremEagerhrede Ssemas _Conpgicfornadopela Ui side fee do Ba dean (OPP. Pos 7 os de enna em sie desrehimero desaftvare ard ert de RrvstaSQL aque grea po Gp eed Déseufeodbade sobre asta edi AS@Laagaane tem quer feta 2 seugns ans, precsaossabero ue vc tt, cha carensal Déseuroto sabre este ago trans con wv. devmedi.com..ysqhnagaire/feback