Você está na página 1de 21

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

3 -Gere encia de Dados


Uma viso ger do gere a ral enciamento de banco de dados o os

1.1 INTRODU UO
Em essncia, um sistema de bancos de dados apenas um sist , s tema computadoriza de arm ado mazenamen de registros. O b nto banco de d dados pode ele e, prio, ser visto com o eq mo quivalente eletrnico de um armrio de o m o prp arqu uivamento. Em outra palavras, um repositrio ou recipie as r ente para uma coleo de ar rquivos de dados c e computado orizados. O usurio do sistema Os os ero execu diversa opera sobre tais arquiv por e utar as es vos exemplo: : pode - Acresce entar novo arquivos vazios, a banco d dados. os s, ao de - Inserir novos dados em arquivos exist tentes. - Buscar dados de arquivos existentes. r e - Alterar dados em arquivos existentes. e . - Elimina dados de arquivos existentes ar e s. - Remov arquivos existente do banc de dado ver es co os. A Figura 1.1 m mostra um banco de dados mu pequeno que contm um nico uito arqu uivo chama ado ADEG esse a GA; arquivo, po sua vez, contm d or dados rela ativos ao c contedo de uma ade de vinh ega hos. A Fi DEP# D A dos a s ADEGA) FIGURA 1.1 O banco de dad adega de vinhos (arquivo A
VIN NHO 2 Ch hardonnay PROD DUTOR Buena Vista a Geyse er Peak Simi Jekel Ch. St Jean t. ANO 19 997 GARRAFAS 1 P PRONTO 1999

Ch hardonnay

997 19

1999

6 12 21

Ch hardonnay Joh Riesling h. Fum Blanc

19 996 19 998 19 997

4 1 4

1998 1999 1999

Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagin na1

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII 22 Fum Blanc Robt. Monda avi Ch. St Jean t. 19 996 2 1998

30

Ge ewurztramin ner Ca ab. Sauvignon Ca ab. Sauvignon Ca ab. Sauvignon Pin Noir not Pin Noir not Pin Noir not Me erlot Zin nfandel Zin nfandel

19 998

1999

43

Winds sor

19 991

12

2 2000

45

Geyse er Peak Robt. Monda avi Gary F Farreli Fetzer r Dehlin nger Clos d Bois du Cline Rafane eili

994 19

12

2 2002

48

19 993

12

2 2004

50 51 52 58 64 72

19 996 19 993 19 995 19 994 19 994 19 995

3 3 2 9 9 2

1999 2 2000 1998 2 2000 2 2003 2 2003

A fig gura 1.2 m mostra um exemplo d opera de bus sobre e de o sca esse banc de co dado juntame os, ente com o dados r os retornados (devolvido por ess opera os) sa o. Busc ca: SELE ECT VINH HO, DEP# PRODUTOR FR #, ROM ADEGA WH HERE PRO ONTO = 20 000 FIGURA 1.2 Exempl de busca lo A Figura 1.3 a apresenta exemplos, todos ma ou men auto-e ais nos explicativos de s, raes de insero, alterao e exclus o so (tamb chama m ada supres sso, oper eliminao ou remoo) sobre o ba anco de da ados da ad dega de vin nhos. Insero de no ovos dados s:

Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagin na2

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

INSE ERT INTO ADEGA ( DEP#, VINHO, PRODUTO O OR, ANO, GARRAFAS, PRO ONTO) VAL LUES ( 53, Pinot No Saintsbury, 1997 6, 2001) oir, 7, ) Alter rao de d dados exist tentes: UPD DATE ADEGA SET G GARRAFAS = 4 WHE S ERE DEP# 3 # Excluso de da ados existe entes: DEL LETE FROM ADEGA WHERE D A DEP# = 2 ; FIG GURA 1.3 Exemplos de inser altera e excluso o, o Surg gem algum observ mas vaes imp portantes desses exe emplos: 1. P razes bvias, arquivos co Por omputadori izados como o a arquivo AD DEGA na F Figura 1.1 com fr reqncia so cham mados tabe elas (mais precisamente, tabe elas relacio onais). 2. As linhas de uma tabe desse t s e ela tipo podem ser imaginadas com os registros m mo do a arquivo, e a colunas podem se vistas co as er omo os cam mpos dess registro ses os. 3. Por questo de simpl o licidade, fizemos um suposi ma o tcita n exempl de no lo que as coluna VINHO e PRODU as UTOR cont tm dados de strings (seqn s ncias) de c caracteres e todas as outras colunas cont s tm dados inteiros. 4. A coluna D DEP# cons stitui a chave prim ria para a tabela A ADEGA (o que significa que ja amais hav ver duas linhas da tabela ADEGA conte t endo o me esmo valor na colun DEP#). Com freq na qncia, usaremos o duplo su u ublinhado para car ave ria, n 1.1. indic as colunas da cha primr como na Figura 1 5. O exemp Os plos de op peraes ou instru ues nas Figuras 1.2 e 1.3 s SELECT, INS SERT, UPDATE, DE ELETE so tod dos expres ssos em uma lingu uagem cha amada SQ A SQL a lingu QL. L uagem pad dro para interao com banc de dad relacio cos dos onais e r reconhecid por qua todos o produto de da ase os os banc cos de da ados existe entes hoje no mercado. Nota originalm e a: mente, o nome n SQL signific L cava Stru uctured Q Query Lan nguage (L Linguagem de con m nsulta estru uturada) e se pronunciava se equel. Por rm, agora a linguagem se to a ornou um p padro, o nome ap penas um nome no oficialmente uma abrevia n atura para coisa algu a uma. 6. O Observe qu a SQL emprega a palavraue -chave UP PDATE com o significado m espe ecfico de alterar. Esse fato pode causar con c nfuso, po orque o te ermo atua alizar (a t traduo d update) tambm utilizad para se referir s trs de m do e s oper raes INSERT, UPDATE e DELETE como um grupo Utilizare E o o. emos toda as letras maisculas para fa as s azer refer ncia espe ecificament ao oper te rador UPD DATE.
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagin na3

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

7. C Como voc provavelm mente j sabe, quase todos os sistemas de banco de s s os dado em uso hoje so d fato rela os de acionais (o pretende ser rela ou em acionais).

2 O QUE U SISTE UM EMA DE B BANCO DE DADO D OS?


Repetindo o q que foi dito na seo anterior, um sistem de banco de dad o o ma dos basicamente u sistem comput um ma tadorizado de armaz zenamento de regis o stros; isto , um s sistema c computadorizado cujo props sito geral armaz zenar infor rmaes e permitir ao usurio b o buscar e atualizar es a ssas inform maes quando solic citado. As informa es em qu uesto pod dem ser qualquer co oisa que tenha significado par o indivduo ou a organiza a que o sistema deve serv ra o vir em o outras pala avras, tudo o que sej necess para a o eja rio auxiliar no processo geral de to omada de decises d negcio desse in de os ndivduo ou dessa or u rganizao o. Nota os termo dados e informa a: os aes so tratados c o como sinn nimos. Algu escritores prefere fazer d uns em distino entre eles, usando d e dados par se ra refer ao que est realm rir mente arma azenado no banco d dados e informa n de es para fazer re a eferncia a signific ao cado dess ses dados para um determinado s m usu rio. A dis stino claramente importan to importan que pa e nte o nte arece prefe ervel torn explcita, onde f apropria -la for ado, em ve de se b ez basear em uma difer renciao u tanto a um arbitrria en dois te ntre ermos esse encialment anlogo te os. A Fi igura 1.4 uma rep presenta simplific o cada de u sistema de banc de um a co dado A figura pretende mostrar que um sistema de banco de dados env os. e volve quat tro compo onentes p principais: dados, hardware, software e usu e rios. Exam minaremos brevemente esses quatro com s mponentes logo a se s eguir.. Dados Os s sistemas d bancos de dado esto disponveis em mquinas que vo de s os d s e desd micros bem pequ de uenos (PCs portteis at os m s s) maiores com mputadore de es gran nde porte. desnece essrio diz que os recursos fornecido por qualquer zer s os siste ema so de eterminado at cer ponto, pelo taman e pela capacidad da os, rto p nho de mq quina subj jacente. E Em particu ular, siste emas em grandes equipame entos (sistemas gra andes) ten ndem a ser multiusurios (de usurios mltiplos), ao e so de es mas nos) tende a em pass que os sistemas d mquinas menore (sistem pequen ser d usurio nico (mo de onousurio Um siste o). ema de mo onousurio um sist o tema em que no m mximo um usurio pode ter acesso a banco de dados em m ao s qualquer instante determ minado; um sistema multiusur um sistema em que m rio m muit tos usurio podem obter ace os esso ao ba anco de d dados ao m mesmo tempo, norm malmente iremos sup por, em ter rmos gerais, embora de fato a distino seja a irrele evante par a maior dos usurios: um objetivo importante dos siste ra ria m e emas mult tiusurios e geral exatamente o de permitir que cada usu em p e urio indiv vidual se c comporte c como se es stivesse tra abalhando com um s o sistema de monousu e urio. Os problemas especia ais de sistemas multiusurios so principalm m mente
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagin na4

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

prob blemas inte ernos em relao a sistema e no aqueles v ao a, visveis pa o ara usu rio. Portanto, de mo geral, os dados do banco de dados pelo menos odo em u sistema grande estaro no apena integrad um a as dos, mas c compartilha ados, esse dois asp es pectos a integra de dados e o com o mpartilham mento de dados re epresentam uma gra m ande vanta agem dos sistemas de bancos de dados em s s amb bientes gra andes, e a integrao de dad dos, pelo m menos, tam mbm pode ser e significativa em ambiente pequen m es nos. Naturalmente, h muitas outras, me h esmo no a ambiente pequeno. Porm, p primeiro va amos expl licar o que entende emos pelos termos in ntegrado e compartilhado. Por integrado queremos dizer que o banco de dados p d pode ser im maginado como c a o rios arquiv vos de da ados que de outro modo se eriam uma unifica de vr distin ntos, send eliminad pelo m do da menos em parte qua alquer redu undncia entre e esse arquivos Por exe es s. emplo, um determina banco de dados poderia co ado onter tanto um a o arquivo E EMPREGA ADO, que fornece nomes e e s, endere eos, depa artamentos salrios e outros i s, itens sobre os empregados (fu e uncionrios de s) uma empresa, quanto u arquivo MATRICU a , um o ULA, repre esentando a participao dos emprega ados em cursos d treinamento (ver Figura 1.4). Agora de a A onhamos q que, para realizar o processo de adm o ministrao de curso de os supo trein namento, s seja necess srio sabe em que departame er ento trabalha cada aluno a matr riculado. E Ento, claro que no h nec cessidade de incluir tal informao redu undante no arquivo MATRICU o ULA, pois ela sempr poder ser obtida no re arqu uivo EMPR REGADO. Por compartilh hado, quer remos dize que por er res isola adas de da ados do banco dados podem ser co ompartilhad entre diferentes usurios, no sentid de das do de d que cada um desses us surios po ode ter ace esso me esma por o dos da ados, sivelmente para fina e alidades d distintas. Como j m C mencionam mos, difere entes poss usu rios pode at estar conseguindo acesso mes em sma parte dos dado no os mesmo mome ento (aces sso conco orrente). Tal compa T artilhament (concorr to rente ou n no) em p parte cons seqncia d fato de que o ban de dados integr do nco rado. No exemplo c citado ant teriormente a inform e, mao so obre o dep partamento no o uivo EMPR REGADO seria com mpartilhada tipicame a ente pelos usurios do s s arqu Departamento de Pesso e pelos usurios do Depart oal s tamento de Educa e o onforme j sugerimos, essas d duas classe de usu es rios tipica amente usa ariam e, co essa informa com pro a o opsitos d diferentes. Nota: se o banco de dados n for e o compartilhado, algumas vezes ele ser desc e crito como pessoal ou espec o cfico da a aplicao.
EMP PREGADO : NOME EN NDEREO D DEPARTAM MENTO SA ALRIO

MAT TRCULA: NOME CU URSO FIGU URA 1.4 O arquivos EMPREG Os s GADO e MA ATRCULA A Outr conseq ra ncia dos fatos me s encionados de que o banc de dad co dos integ grado e (em geral) c compartilha que, normalmente, qu ado ualquer usurio s e estar inter ressado em uma peq m quena poro do banco de da ados total; alm
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagin na5

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

disso as por o, res de usurios diferentes ficaro superpos s stas de vrias v man neiras. Em outras palavras, um determina banco de dados ser perce ado ebido por diferentes usurios de diverso modos. Na verda os ade, mesm quando dois mo usu rios comp partilham a mesma poro do banco de d b dados, sua vises dessa as d por podem diferir con o nsideravelm mente nos detalhes. Hard dware Os c component de hard tes dware do s sistema co onsistem em m: - Volumes de arm mazename ento secun ndrio principalm mente discos magntic cos usa ados para guardar os dados armazena ados, juntam mente com os dispo m ositivos de E/S (en e ntrada/sad da) associados (unidades de dis scos etc.), controlado ores de dis spositivos, canais de E/S, e assim por diante. m - Processador(e/s) de hardware e mem ) mria princ cipal assoc ciada, usados para fornecer suporte exe s ecuo do software do sistem de ma banco de dados. . Soft tware Entre o banco de dados fsico is , os dados de fa armaze sto d ato enados e os usu rios do sistema h uma camada de softwa h d are, conhe ecida com o mo gere enciador do banco de dados ou servidor de banco de dados ou ainda, com o e u maio freqn or ncia, sistem de gerenciamen de ban ma nto ncos de d dados (SG GBD). Toda as solic as citaes de acesso a banco de dados s tratada pelo SG e ao d so as GBD; as fa acilidades esboada ja vista para ac as as crescentar e remove arquivos (ou er s tabe elas), busc e atual car lizar dados em tais arquivos ou tabelas e assim por s s, m diante, so tod recurs fornecidos pelo SGBD. Um funo geral forne dos sos S ma ecida pelo SGBD p portanto a de isolar o usurio do banc de dado dos deta os os co os alhes do n nvel de ha ardware (as ssim como os sistem de ling o mas guagens de programao e prote egem os p programado ores de ap plicaes dos detalhe no nvel do hardw d es ware). Em outras palavras, o SGBD fornece aos usurios uma viso do banc de o co dado um tant elevada acima do nvel de hardware, e ela adm opera os to a o mite aes dos usurios (como as operae de SQL que so express es L) sas em termos dess viso de nvel mai alto. sa e is - O SG GBD de longe o componente de software mais e importante de todo o sistem mas no o nico. Outros compone ma, n s entes m os, entas para desenvo a olvimento de aplica es, incluem utilitrio ferrame auxlio em proje o etos, gera adores de relatrios e (muito important o te) gerenc ciador de transaes ou monito de TP (t s or transaction processin n ng proces ssamento d transa de es). - O term SGBD t mo tambm co ostuma se referir ge e enericamen a nte algum produto particular de algu r um fornec cedor part ticular por
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagin na6

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

exemp o produto da IBM DB2 Un plo, M niversal Da atabase p para OS/39 O 90. termo instncia do SGBD ento utilizado algumas v D vezes par se ra referir cpia pa articular de um tal pr e roduto que esteja em execuo em e m o alguma instala particul de com a o lar mputador. Como voc com certeza c ver, vezes necessrio fazer um distin cuidado entre esses s ma o osa e dois co onceitos. Usurios sideramos trs class de usurios ampl s ses las: Cons Prim meiro, h os programa s adores de aplicaes responsveis pela elabora de s, a o prog gramas apl licativos de bancos d dados, em uma li e de inguagem como COB BOL, PL/I, C+ +, Ja ou algu , ava uma lingua agem de alto nvel d quarta gerao .Tais a de o prog gramas obt tm acesso ao banco de dado emitindo a solicita apropriada os o e geral, u em uma instru de SQ ao SGBD. Os programas propriam o QL S s mente ditos podem s aplica s ser es conv vencionais batch ou aplicae on-line, cuja es finalidade pe ermitir que um usu e rio final te enha acess ao banco de dad a so dos parti de uma estao d trabalho ou um te ir de o erminal on n-line. A m maior parte das e aplic caes mo odernas d tipo on-line. do A se egunda cla asse de usurio , ento, a dos usurios finais, que intera d agem com o sistem a partir de terminais ou estaes d trabalh on-line. Um ma r e de ho dete erminado u usurio fina pode ob al bter acesso ao banc de dado por mei de o co os io uma das aplic a caes on-line mencionadas no pargraf anterior, ou pode usar o fo uma interface fornecida como pa a a arte integr rante do software d sistema de do a banc cos de da ados. Naturalmente, tais inte erfaces for rnecidas p pelo fabric cante tamb bm so a admitidas p meio d aplica on-line mas essas aplica por de es e, aes so internas, e no escritas pelo usurio. A maioria do sistemas de banco de m os s os dado inclui pelo menos uma apli os s icao inte erna, em g geral um p processado de or lingu uagem de consulta, por meio d qual o usurio po emitir solicitae ao do ode es banc de dad co dos (tamb conhe m ecidas com instrues ou co mo omandos), tais , como os com mandos int terativos p para SELE ECT e INS SERT par o SGBD. A ra lingu uagem SQ um ex QL xemplo tpico de uma linguage de consulta de banco em de d dados. A maior parte dos sistem fornec ainda in mas ce nterfaces e embutidas adicionais, nas icitaes explcitas a banco d dados como e ao de c quais os usurios no emitem soli SELECT mas, em vez d , disso, ope eram (por exemplo) escolhend itens de um do e men ou pree nu enchendo caixas em um formulrio. Ess m sas interfa aces acionadas por menus ou formulrio tendem a ser ma fceis d usar po pessoas que os m ais de or s no receberam um trein m namento fo ormal em tecnologia da informao (ou IT t rmation te echnology) a abre ); eviatura IS (informa S ation syst tems) sign nifica infor siste emas de informaes e tambm utilizad quase c s m da com o mesmo signific cado. Em contraste, as interfa aces aciona adas por comandos isto , linguagen de c ns cons sulta tendem a ex xigir uma c certa expe erincia pro ofissional em IT, em mbora talve no mu ( claro que no tanta qua ez uita o o anto a exp perincia necessria para
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagin na7

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

escr rever um p programa a aplicativo e uma lin em nguagem c como COBOL). Mais uma vez, uma inter rface acion nada por c comandos talvez sej mais fle ja exvel que uma acionada por menus ou formulrios, no sentido de que as linguagens de s e cons sulta muita vezes incluem c as certos recu ursos que no so admitidos por s essa outras in as nterfaces. A terceira clas de usu sse urios a classe do administra ador de ba anco de da ados, ou D DBA (datab base admin nistrator).

3 O QUE U BANC DE DA UM CO ADOS?


us sual referi ir-se aos dados em um banco de dad m dos como persistentes o (mes smo que e eles na ver rdade no persistam por muito tempo). P persist m o Por tente quer remos sug gerir intuitiv vamente que os dad desse banco de dados dife dos erem em e espcie de outros da e ados mais efmeros, como dad de entrada, dado de dos os sada, instru de con es ntrole, filas de trabalh blocos de contro de softw s ho, ole ware, resu ultados inte ermedirios e, em geral, quais squer dado que ten os nham natu ureza trans siente. De modo ma preciso, dizemos que os da ais ados do ba anco de dados pers sistem po orque, uma vez aceit pelo SGBD para entrada in a tos nicial no banco de d dados, eles s podem ser remo s m ovidos subs seqentem mente do b banco de dados por a alguma so olicitao e explcita ao SGBD, no como um mero efeito cola o n ateral de ( (por exemplo) concluso da e execuo de um pro ograma. E Essa noo de pers sistncia no permite portanto dar uma definio li os e d igeirament mais pre te ecisa do t termo ban nco de da ados: Um banco de dados uma cole e eo de dados pers sistentes u utilizada p pelos siste emas de aplicao de uma determinada o a emp presa. Ness caso, o termo em se mpresa apenas um termo ge m enrico conveniente para qualquer orga anizao comercial, cientfica tcnica ou outra organiz , a, a a zao razo oavelmente autnoma. Uma em e mpresa po oderia ser um nico indivduo (com um p pequeno b banco de d dados pes ssoal), ou uma grand empres complet ou de sa ta corp porao de grande porte sim e milar (com um en m norme ban nco de dados compartilhado) ou qualq ), quer empre entre esses extr esa e remos. Aqu esto alguns ui mplos: exem 1 Uma f brica 2 Um ba anco 3 Um ho ospital 4 Uma universidad de 5 Um de epartament governamental to

Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagin na8

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

Uma empresa deve nece a essariamente manter uma gran quantidade de dados nde sobr sua op re perao. E Esses so os dad o dos persis stentes a aos quais nos refer rimos ant tes. As e empresas que aca abamos de mencio onar incluiriam tipica amente os seguintes itens entr seus dad persistentes: s s re dos 1. Dados sobre o p s produto 2. Dados sobre con s ntas 3. Dados sobre pac s cientes 4. Dados sobre alu s unos 5. Dados sobre pla s anejamento o O te ermo proce essamento de trans o saes on-line (OLTP Onlin Transa ne action Proc cessing) te sido usado para f em fazer referncia a es espcie de ambiente. ssa e Por m, agora os banco de dados tambm so cad vez ma usados em os m da ais s outro tipos de aplica isto , aplica os e es o es para apoio d deciso e o term dados operaciona j no mais in mo ais o nteirament adequad De fato as te do. o, emp presas de h hoje freqe entemente mantm dois banco de dado distintos um e d os os s, cont tendo dado operacionais e ou os utro, cham mado data w warehouse (armazm de e m dado conten dados de apoio deciso O data w os), ndo s o. warehouse muitas vezes e v inclu um resum informa ui mo ativo (por exemplo to otais, md dias), sendo esse res sumo infor rmativo po sua v or vez extra do period dicamente do banco de dados oper racional digamos, uma vez por dia ou uma vez por seman Entidad e u na des relac cionamento os

4 PO QUE BANCO DE DADO OR OS?


Por que usar um sistem de banc de dados? Quais so as v ma co s vantagens? At ? certo ponto, a resposta a essas q o questes depende de o sistem em que d ma esto ser u sistema monousurio ou m um multiusurio (ou ento, para se mais pre o er eciso, exist tem numerosas vant tagens adicionais no caso dos sistemas multiusurios). o s Vam conside mos erar primeiro o caso do sistema monousu a urio. Volte emos mais uma ve ao exe ez emplo da adega de vinhos, que pode e emos cons siderar ilus strativo do caso mono ousurio. Esse banc de dado em particular E co os to pequeno e to sim o o mples que as vantag gens pode no ser muito b em r bvias. Por imagin um ban de dad semelh m, ne nco dos hante para um grand restaurante, a de com um esto oque de talvez milh hares de garrafas na adega e freqe a entes mud danas nes sse estoqu ou, en ue; nto, imagine uma lo de beb oja bidas, tam mbm com um estoque muito g grande e a rotativid alta dade ness estoque. As vantagens se de u sistema de banc de dad sobre os mtodo tradicio um a cos dos os onais baseados em p papel para manuteno de reg a gistros talv sejam mais fce de obse vez eis ervar ness casos. Aqui esto algumas delas: ses o s
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagin na9

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

- Densid dade: no h necessidade de arquiv o vos de papel, possiv velmente vo olumosos. - Velocid dade: a m mquina pode obter e atualiz dados com r zar rapidez muito m z maior que o ser hum mano. Em particular consulta ad r, as hoc, de inspira momen o ntnea (po exemplo Temos mais Zinfa or o, andel que Pinot Noir? podem ser respondidas com rapidez sem qualquer ) m necess sidade de pesquisas manuais ou visuais demorada o as. montono: grande p : parte do t dio de ma anter - Menor trabalho m arquivo mo eliminad As tarefas mec os da. nicas so sempre feitas o f com m melhor qual lidade por mquinas. - Atua alidade: in nformaes precisas e atua s alizadas esto e dispon nveis a qua alquer mom mento sob consulta. b cla que as vantagen anteriore se aplic aro s ns es cam com in ntensidade ainda ma a e aior um a ambiente m multiusuri no qual o banco de dados p io, d provavelme ente ser muito m maio e mais c or complexo que no caso do amb biente de u usurio n nico. Porm h m, uma vantagem adicional predominante em ta ambiente qual seja o sistem de a m al e, a: ma banc de dado proporc co os ciona em mpresa o co ontrole cen ntralizado de seus dados (que como v e, voc deve perceber um de seus bens mais valiosos). Tal r, d situa ao contrasta nitida amente com aquela encontrada em uma empresa sem m a um sistema d banco de dados, onde em geral ca de m ada aplica ao tem seus prios arquiv privativ muitas vezes tambm s vos vos suas prprias fitas e seus prp disco particul os lares de modo que os dad ficam amplamen dispers e dos nte sos so difceis de controlar de forma s e sistemtica a.

Adm ministrao de dado e admin o os nistrao de banco de dado os os


Vam mos aprofu undar um pouco e esse conc ceito de c controle c centralizado O o. conc ceito implic que hav ca ver na em mpresa algu uma pesso identific oa cvel que tenha a re esponsabilidade cent tral pelos dados. Essa pesso o ad oa dministrado de or dado (s vez identific os zes cado como DA da administrator para abrev o ata viar). Tend em vis que os dados c do sta s constituem um dos bens ma valiosos da m ais emp presa, im mperativo que deva existir alg guma pes ssoa que e entenda esses e dado e as necessidades da empresa com re os elao a e esses dado em um nvel os, elevado de ad dministra O administrador de dados essa pessoa. Assim, o. d traba alho do ad dministrado de dado decidir, para com or os , mear, que dados de e evem ser armazenados no ba anco de d dados, e tambm e t estabelecer normas para nter ados, uma vez que eles tenham sido arm e m mazenados Um s. man e tratar esses da exem mplo de t norma seria a de determ tal minar quem pode e executar quais q oper raes sob quais dados em que circu bre m unstncias em outras palavras, s uma norma de seguran de dados. a e a

Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a10

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

Observe cuida adosament que o a te administrad de dad um gerente, e no dor dos um t tcnico (em mbora com certeza p m precise ter algum con nheciment dos recu to ursos de s sistemas de bancos d dados em um nv tcnico O tcnic respons de vel o). co svel pela implemen ntao das decises do administrador de dados o administr s e rador de b banco de d dados (DBA datab A base administrator para abr reviar). O DBA, D difer rente do administrad de dad dor dos, port tanto um p profissional de tecno ologia da in nformao (IT). O tra o abalho do DBA criar o banco de dados propriam o s mente dito e impleme entar os c controles t cnicos ne ecessrios para pr em prtic as s ca vria decise sobre n as es normas tom madas pelo administ o trador de dados. O DBA tamb bm resp ponsvel p assegu por urar que o sistema operar com desempenho m adeq quado e po oferecer uma amp varieda de outr servio tcnicos Em or r pla ade ros os s. gera o DBA ter um equipe de progr al, A ma ramadores de siste s emas e outros auxiliares tcn nicos (isto , a fun o do DB ser tip BA picamente executada na prti ica por um equipe no ape ma e, enas por uma nica pessoa) contudo, por a ); ques sto de sim mplicidade, conven niente supo que o DBA seja de fato um nico or e indiv vduo.

Vantagens da abordag a gem de ba anco de da ados


Iden ntificaremos algumas vantage s s ens espec cficas que surgem da noo de e o cont trole centra alizado. - Os dados p s podem ser comparti r ilhados - O compar rtilhamento significa no o apen que as aplica existen nas s es ntes podem compart m tilhar os da ados do banco de d dados, mas tambm que pode ser des s em senvolvida novas a as aplicaes para oper sobre o mesmos dados. E outras palavras, seria possvel satisf rar os Em fazer aos requisitos de dados de novas aplica s es sem te de acre er escentar novos n dado ao banc de dado os co os. -Ar redundnc pode se reduzida - Em sist cia er a temas sem bancos d dados, cada m de aplic cao tem seus pr m rprios ar rquivos pa articulares. Esse fa ato pode com freq ncia lev a uma considervel redun var a ndncia no dados armazena os ados, com desperdc resultante no esp cio pao de armazenam mento. Por exemplo, uma cao de pessoal e uma aplicao de registros de educa e ao pode eriam aplic amb ter a p bas posse de u arquivo que inclusse informaes d um o departame entais relat tivas a empregados. Porm, es sses dois arquivos podem ser integrados e a a s, redu undncia e eliminada, d desde que o adminis e strador de dados est teja consc ciente dos requisitos de dados de ambas as aplicaes ou seja, desde que a s s emp presa deten necess nha sariamente o controle geral. e A propsito, no quere emos suge erir que toda redun t ndncia p possa ou deva nece essariamen ser eli nte iminada. A vezes, h razes comercia ou tcn As s ais nicas plausveis par manter vrias c ra pias distin ntas dos mesmos d dados. Po orm, quer remos sug gerir que to redund oda dncia dev ser cuid ve dadosamente controlada; isto , o SGB deve estar cien dela, se ela ex BD nte xistir, e de eve assum a mir resp ponsabilida pela p ade propagao de atualiz o zaes
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a11

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

- A inconsistn ncia pode ser evitada (at cert ponto) - Na realidade, isso um to coro olrio do t pico prece edente. Va amos supor que um d determinad fato sob o do bre mun ndo real por exe emplo, o fato de que o emp pregado E trabalha no E3 a depa artamento D8 seja represen a ntado por duas entra d adas difere entes no banco de d dados. Vam supor tambm q o SGBD no saib dessa d mos que ba duplicao (isto , a redund ncia no est controlada). Ento, h haver ne ecessariam mente ocas sies em q as dua entrada no con que as as ncordaro: isto , qu uando uma das a duas tiver sido atualizad e a outr no. Em tais ocas s o da ra m sies, diz-s que o banco se de d dados est inconsiste ente (Ou incoerente). E claro que um ba anco de dados que se encont em um estado in tre m nconsistente tem a p possibilidade de forn necer infor rmaes in ncorretas o contraditrias a se usurio Sem d ou eus os. vida, se o fato for representa ado por u uma nica entrada (ou seja, se a re a edundncia for a remo ovida), ent to tal inc consistnci no pod ia der ocorr rer. Por ou utro lado, se a redu undncia no for rem movida, mas for contr rolada (torn nando-se c conhecida para o SG GBD), o S SGBD poder garantir que o banco de dados nunca se tor b rnar inconsistente sob o po onto de v vista do usurio, g u garantindo que qualquer mud dana feita em uma das duas entradas tambm ser aplic a s s cada de fo orma auto omtica a o outra entra ada. Esse processo conheci como p ido propaga de o atua alizaes. - O suporte a transae pode se fornecido - Uma tr es er o ransao uma unidade lgic de trab ca balho, em geral env volvendo diversas o operaes de banco de o dado (em pa os articular, v vrias operaes de atualiza e o). O ex xemplo pa adro envo olve a transferncia d uma qu de uantia de dinheiro de uma cont A para outra d e ta o cont B. cla que s exigida duas at ta aro o as tualizaes nesse ca s aso, uma para retira o dinhei da cont A, e out para de ar iro ta tra eposit-lo na conta B Se o usurio B. declarar que a duas a as atualizae so par da me es rte esma trans sao, ent to o siste ema poder efetivam mente garan que am ntir mbas sero realizada ou nenh o as huma delas ainda que, por exemplo, o sistema venha a f a a falhar (digamos devido a uma queda de energia) e meio ao processo a e em o. - A integridade pode ser mantida - O problem da inte e r ma egridade o problem de ma egurar que os dados no banco de dado esto corretos. A inconsist e s o os ncia asse entre duas entradas que deveriam represen e e m ntar o mes smo fato um exemplo de fa de inte alta egridade, claro que este prob e blema parti icular s poder surg se gir exist redund tir ncia nos dados arm mazenados Contudo mesmo que no exista s. o, e nenh huma redu undncia, o banco d dados ainda pod de der conte informa er aes incorretas. Por exemplo um emp o, pregado po oderia esta mostrad como tendo ar do traba alhado 400 horas na semana em vez de 40, ou como pert 0 a d tencendo a um depa artamento que no e existe. O co ontrole cen ntralizado do banco de dados pode ajudar a evitar tais prob blemas medida que eles possam s evitado ser os perm mitindo ao administra ador de dad definir e ao DBA impleme dos r, A entar, restri ies de integridade (tambm conhec e m cidas com regras de neg mo cio) a se erem verif ficadas sem mpre que f executa alguma operao de atualizao. for ada a o Vale a pena observar qu a integr e ue ridade de dados ainda mais importante em d e um s sistema de banco de dados qu em um ambiente de arquiv privativos, e e ue vos
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a12

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

prec cisamente porque o dados so comp os partilhados Sem a existncia de s. a cont troles apro opriados se possv um usurio atualiz o banc de dado de eria vel zar co os form incorret gerand assim dados err ma ta, do rados e i infectando desse modo m outro usurios. Tambm deve ser menciona que a maioria dos produto de os m ado os banc de dados atuais bastan fraca em seu su cos s nte e uporte para restrie de a es integ gridade (embora ten nham ocor rrido algun avanos recentes nessa rea). ns s Esse fato de e esastroso, considera ando-se qu as restr ue ries de integridade so e ao m mesmo tem fundam mpo mentais e de import ncia cruci muito m ial, mais do qu se ue costuma supor r. -As segurana pode ser reforada - Tendo jurisdio completa sobre o banco a r a j de d dados, o D DBA (sob orientao apropria o ada do administrado de dado or os, claro pode as o) ssegurar q que o nic meio de acesso a banco de dados seja co e ao atrav dos ca vs anais apropriados e, em conse eqncia, p pode definir restrie de es segu urana ou regras a s serem verif ficadas se empre que houver um tentativ de ma va aces a dado confide sso os enciais. Po odem ser estabelecid diferentes restri e das ies para cada tipo de acesso (recupera a o ao, insero, exclu uso etc.) a cada item de infor rmao no banco de dados. Observe porm que sem tais restrie a o p e, es, segu urana dos dados p s poder na realidade estar em risco maior que em um m siste ema tradici ional de ar rquivos (dis spersos); ou seja, a natureza c o centralizad de da um s sistema de banco de dados de certo mo exige que um bom sistem de e e e odo ma segu urana tam mbm seja implantado. - Re equisitos co ontraditrio podem ser equilib os brados - C Conhecendo os requi isitos globais da em mpresa (em oposio aos req m quisitos de usurios individuais), o e DBA mais uma vez sob a orie A entao do administ o trador de d dados pode estru uturar o sis stema de modo a of ferecer um servio g m global que seja o melhor para a empres Por ex a sa. xemplo, pod ser esc de colhida uma organiza a ao fsica para os d dados no m meio de ar rmazenamento que proporcion acesso rpido par as p ne ra aplic caes ma importa ais antes (pos ssivelmente ao custo de aces sso mais lento para outras ap a plicaes). - Os padres podem ser reforados - Com o contro central do banc de s m ole co dado o DBA (de novo sob a orientao do administrador de dados) pode os, A o e gara antir que to odos os pa adres aplicveis se ero obser rvados na represent tao dos dados. O padres aplicveis podem incluir qu Os s ualquer um ou todo os m os segu uintes: pad dres depa artamentais, da inst talao, da empresa do merc a a, cado, nacio onais e in nternacionais. A padronizao da repre o esentao dos dados o parti icularmente desejve como au el uxlio ao int tercmbio de dados, ou a migr rao de d dados entr sistemas (essa co re s onsidera est se tornando especialm o mente impo ortante com o adven dos sis m nto stemas dis stribudos consult te). Da me esma form os pad ma, dres de n nomenclatu de dad ura dos e doc cumentao tambm so m muit desejve como a to eis auxlio ao c compartilha amento de dados e compreenso e dos dados. A maior parte das vanta agens citad provav das velmente bastante bvia. Po e orm, um outro pont que po to, ode no ser to bv (embor na verd vio ra dade seja uma
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a13

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

implicao de vrios ou utros), dev ser acrescentado lista: a proviso da ve o independncia de dados (Estritam a s. mente fala ando, esse um ob e bjetivo par os ra siste emas de b bancos de dados, ma que ne ais ecessariam mente uma vantagem O a m.) conc ceito de in ndependn ncia de da ados to importante que de o edicamos a ele uma seo sep a parada.

5. IN NDEPEND DNCIA DE DADO OS


Com meamos p observar que existem dois tipos de independncia de da por ados, fsica e lgica, por enqu a uanto, por m, estare emos preoc cupados s somente co o om tipo fsico. Ass sim, at no otificao a adicional, o termo independncia de da ados no qualificado deve se entendid especif er do ficamente como inde ependncia de dado fsica; os A independncia de dados p pode ser compree endida ma ais facilm mente cons siderando-se primeir seu opo ro osto. Aplica aes impl lementada em siste as emas mais antigos sistema pr-rela s as acionais ou mesmo sistemas anteriores aos s banc de dad tendem a ser dependen cos dos r ntes de da ados. Isso significa que a q man neira como os da ados so represen ntados fisicamente no meio de o arma azenamento secundrio, bem como a t cnica usa ada para o obter aces a sso eles, so amb determ bas minadas pe elos requis sitos da ap plicao q que est sendo cons siderada e, acima de tudo, que o conhec e e cimento de essa repres sentao fsica f e de essa tcnic de acess est em ca so mbutido no cdigo da aplicao a o. - Ex xemplo: va amos sup por que te emos uma aplicao que uti a iliza o arq quivo EMP PREGADO da Figu O ura 1.4, e tambm que dec m cidimos, p por razes de s dese empenho, que o arq quivo deve ser inde e exado sobr seu cam re mpo nome do emp pregado. E um sistema mais antigo, a aplicao em quest tipicam Em s o to mente estar ciente d fato de que o ndice existe, e tambm ciente da seqncia de do m a regis stros defin nida por e esse ndice e a es e, strutura int terna da a aplicao ser elaborada em torno des conhec sse cimento. Em particu E ular, a form precisa das ma a as esso a da ados e ve erificao de exce es dentro da o diversas rotina de ace aplic cao depender pe esadament dos det te talhes da interface apresentada aplic cao pelo software d gerenci o de iamento de dados. e Dize emos que uma aplica ao como a deste exemplo depende o ente de da ados, porq impo que ossvel mud a repre dar esentao fsica (o m modo como os dados so o s repre esentados fisicamen no meio de armaz s nte o zenamento ou a tcnica de ac o) cesso (o m modo como ocorre o acesso fsico aos dados) sem afeta a aplica s ar ao, prov vavelmente de forma drstica. Por exem e a mplo, no s seria poss vel substit o tuir ndic no exe ce emplo por um esquema de hashing se efetuar modifica h em aes impo ortantes na aplica Mais a a o. ainda, as pores da aplicao que exigiro p a alter raes em tal situa sero precisamen aquelas que se co o nte s omunicam com o so oftware de gerenci iamento d dados; as dificu de uldades e envolvidas so bast tante irrele evantes pa o prob ara blema sob o qual a aplicao foi es bre scrita
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a14

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

originalmente para reso olver o seja, so dificuld ou s dades intr roduzidas pela natu ureza da interface de gerenciam mento de dados. d Por m, em um sistema de bancos de dado seria ex m s os, xtremamen indese nte ejvel perm que as aplica fossem dependentes de da mitir es m ados no se entido ante erior, no m mnimo por estas dua razes: r as 1. A Aplicaes diferentes exigiro vises diferentes d s dos mesmos dados. Por . exem mplo, vamo supor q antes d apresen os que da ntao pela empresa de seu banco a de d dados integrado, exi istissem duas aplica aes (A e B), cada qual com um a m arqu uivo privativ incluind o campo saldo do cliente. N entanto suponha que vo do o o No o, a a aplicao A armaze ene esse campo em formato decimal, enquan e nto a aplic cao B o armazen em bin na nrio. Aind ser possvel integrar os dois da arqu uivos e elim minar a red dundncia, desde qu o SGBD seja capaz de executar ue D toda as conve as erses nec cessrias e entre a rep presenta armazen o nada esco olhida (que poderia s a repre e ser esentao d decimal, binria ou o outra qualq quer) e a fo orma na q qual cada aplicao deseja v o campo. Por e o ver exemplo, s for dec se cidido arma azenar o c campo em formato decimal, en nto todo a acesso por B exigir uma r conv verso de ou para b binrio. Es um exemplo b sse e bastante si imples de uma difer rena que poderia e existir em um sistem de banco de da ma ados, entr os re dado vistos p uma de os por eterminada aplicao e a form como o dados esto a ma os e fisica amente armazenado Conside os. eraremos muitas out tras diferenas poss sveis mais adiante n s nesta seo o. 2. O DBA deve ter liberd e dade para a alterar a re epresenta fsica o a tcnic de o ou ca aces sso em r resposta a mudan as nos requisitos, sem ter de mod r r dificar aplic caes ex xistentes. Por exem mplo, novo tipos d dados poderiam ser os de m acre escentados ao banco de dados novos padres po s o s; p oderiam se adotados; as er prior ridades da aplica (e port as es tanto os re equisitos re elativos de desempe e enho) pode eriam mud dar; novos dispositiv s vos de arm mazename ento poderiam se to ornar dispo onveis; e assim por diante. Se as aplica e es forem depende m entes de da ados, em geral ta ais modi ificaes exigiro que se ejam feita as muda anas corre espondent tes nos pr rogramas, amarrand os esfo do oros de p programad dores que de outra forma fica ariam dispo onveis para a criao de nov aplica vas es. Mesmo hoje, n inco no omum verif ficar que uma frao significat u o tiva do esf foro programa dispon o vel dedicado a es espcie de manu ssa e uteno (pense de p no p problema d Ano 20 do 000) um evidente desperdc de recu m cio ursos esca assos e valiosos. Tem mos ento que a p proviso de indepen ndncia de dados um obj e jetivo impo ortante dos sistemas de banco de dado A indep s s os os. pendncia de dados pode ser d definida co omo a imu unidade da aplica a alter as es raes na represent tao fsica e na tcnica de a a acesso o que im mplica, c claro, que as aplica aes envo olvidas n dependam de qu o ualquer re epresenta o fsica ou tcnica de a aces sso em p particular. No Captulo 2, de escrevemos uma ar s rquitetura para siste emas de b bancos de dados qu fornece uma base para se alcanar esse ue e objetivo. Por m, antes disso, vamos cons siderar com mais de m etalhes alguns
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a15

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

exem mplos dos tipos de a alteraes que o DBA pode de A esejar efetu e s quais, uar q porta anto, desej ejaramos q as aplicaes fos que ssem imun nes. Com meamos p definir trs termo campo armazena por os: ado, registr armazenado ro e arq quivo arma azenado (v Figura 1.5). ver - Um campo armazenado , in m nformalmen nte, a me enor unida ade de dados arma azenados. O banco d dados c de conter mu uitas ocorr rncias (ou instncias de u s) cada um dos v a vrios tipos de camp armaze s pos enados. Po exemplo um banc de or o, co dado contend informa os do aes sobre diferent tes tipos d peas provavelm de mente inclu uiria um tip de campo armaze po enado chamado nm mero da pe ea, e haveria ent uma ocorrncia d o desse campo armaze enado par cada es ra spcie de pea (para afuso, dob bradia, tam etc.). mpa - U Um registr armaze ro enado uma col leo de campos armazenados relac cionados e entre si. D novo distinguim De mos entre tipo e oc corrncia. Uma ocor rrncia (ou instncia de regis u a) stro armaz zenado co onsiste em um grup de m po ocor rrncias de campos armazenad relacio e dos onados entre si. Por exemplo, uma r ocor rrncia de registro armazena e ado no banco de dados p b peas poderia cons sistir em uma ocorrncia de ca um dos seguinte campos armazena ada es ados: nm mero da pea, nome da pea, c da pe e peso da pea. D cor a Dizemos que o q banc de dad co dos contm muitas o m ocorrncias do tipo de registr armazenado ro pe (de nov uma oc a vo, corrncia para cada tipo diferen de pea nte a). - Fin nalmente, um arquiv armaze vo enado a coleo d todas as ocorrn de ncias exist tentes no m momento d um nic tipo de registro arm de co r mazenado o. Banc de dado armazenado co os arma azenados Arqu uivo armaz zenado de peas PA e ARQUIVO n9 d nome da cor da pe da da a eso pea pea pe pea a a P1 P Porca Verm melhol 12 Duas ocorrnc s cias do tipo de registro arma azenado p pea P2 P Pino Verde 17 e n da nome da cor da pes da a so pea pea pe pea a a FIG GURA 1.5 Campos, r registros e arquivos a armazenad dos Em sistemas que no so banco de dad os dos, em geral acont tece de algum stro lgico visto po alguma aplica ser id o or a o ntico a a algum reg gistro regis arma azenado correspon ndente. Entretanto, como j vimos, esse n o nece essariamen o caso em um s nte o sistema de banco d dados, porque o DBA e de
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a16

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

pode eria ter a necessida ade de efe etuar muda anas na representa ao de dados arma azenados isto , nos cam mpos, regis stros e ar rquivos armazenado os enqu uanto os d dados vist tos pelas aplicaes no se a s alteram. P exemp Por plo, o campo DEPAR RTAMENT do arqu TO uivo EMPR REGADO poderia se armazenado er em binrio pa econom ara mizar espa ao de arm mazename ento, ao passo que uma erminada a aplicao C COBOL po oderia v-lo como um cadeia de caracteres. o ma dete Alm disso, m m mais tarde o DBA p e poderia de ecidir alterar por alguma razo a repre esentao armazena desse campo, digamos, de binria p o ada e para decim e mal, ainda assim pe ermitir que a aplica COBOL o veja sob a forma de caracte e o L eres. Com foi dito antes, um diferen como es mo ma a ssa, envolvendo con nverso de tipo e de d dados em u determ um minado cam a cada acesso, relativam mpo a mente pequ uena. Cont tudo, em g geral a dife erena ent aquilo que a aplic tre q cao v e o que est de t fato armazena ado pode ser considervel. Para am e mpliar essa observa a ao, apre esentamos a seguir uma lista de aspect da rep tos presenta armazenada o que poderiam estar suje eitos a alteraes. Vo deve c oc considerar em cada caso r o qu o SGBD teria de fazer para tornar as aplicae imunes a tal mudana ue D a s es (e, d fato, se tal imunida sempr poder ser alcana de ade re s ada). - Re epresenta o de da ados numricos - Um campo numric poderia ser U o co a arma azenado em um formato a aritmtico interno (por exem mplo, dec cimal compactado) o como u ou uma cadei de cara ia acteres. Em qualque caso, o DBA m er prec cisa escolh uma ba apropr her ase riada (por exemplo, binria ou decimal), uma esca (fixa o em pon flutuan ala ou nto nte), um modo (rea ou com al mplexo) e uma prec ciso (um n nmero de dgitos). Quaisquer desses a e aspectos p podem pre ecisar ser alterados para melh horar o de esempenho ou para se adapt a um novo o a tar padr ro, ou ainda por mu uitas outras razes. s - Re epresentao de dados de cara acteres - Um campo de cadeia de caract U a teres pode eria ser ar rmazenado usando-se qualqu um dentre vrios conjunto de o uer s os cara acteres cod dificados distintos por exemp ASCII, EBCDIC, Unicode. plo, , - Un nidades pa dados numrico - As unidades e um ca ara s os em ampo numrico pode eriam mudar por e exemplo, d polegad para ce de das entmetros durante um s proc cesso de co onverso p para o siste ema mtric co. - Co odificao de dado - Em algumas situaes, poderia ser dese os , ejvel repre esentar dados arm mazenados por valo ores codificados. Po exempl or lo, o campo cor da pea, q a que uma a aplicao v como um string de caracteres (Vermelho ou Azul ou Verde...), poderia ser arma u a azenado c como um nico dgit decimal interpret to l, tado de acordo com o esque m ema de co odificao 1 = Ver rmelho, 2 = Azul, e assim por diante. r - Ma aterializa de dado - Na pr o os tica, o cam lgico visto por uma aplic mpo o cao corre esponder em geral a algum c campo arm mazenado. Nesse ca aso, o proc cesso de m materializao ou seja, a cr riao de uma ocorr u rncia do c campo lgico a parti de uma ocorrn ir a ncia do campo arm mazenado correspondente e sua
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a17

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

apre esentao aplicao pode ser consid derado dire As vez eto. zes, porm um m, campo lgico n ter uma corres no spondncia armazena nica; em vez disso, a ada ; d seus valores sero mat s terializados por mei de algu clculo talvez sobre io um o, s diversas ocorr ncias de campos ar rmazenado Por exe os. emplo, valores do ca ampo lgic quantid co dade total poderiam ser mate m erializados pela totalizao de uma srie de quantidades ar e rmazenada individu as uais. No ca aso, quan ntidade tot tal um exemplo d campo virtual e o proces de o sso de ma aterializa cham o mado indir reto. Porm observe que o us m, e surio talve no conseguisse perceber uma ez difer rena entre os camp real e virtual, no sentido de que po e pos oderia no ser o poss svel atual lizar uma ocorrnci de um campo v ia virtual (pelo menos no diret tamente). - Es strutura de registros armazena ados - Dois registros armazena s s ados pode eriam ser combinado em um s. Por exemplo, os registr os m ros armaze enados: n2 da pea cor da pea e n2 d pea peso da pe poderia ser combinados para a da ea am form n da pe cor da pea peso da pea mar: ea a o Tal m mudana p pode ocorr medi que ap rer ida plicaes e existentes so integr radas ao s sistema de banco d dados. Ela implica que o registro l e de lgico de uma aplic cao pod deria consistir em um sub bconjunto apropriado do reg gistro arma azenado correspon ndente isto , certos c campos n nesse reg gistro arma azenado seriam invis sveis para a aplica em que a o esto. Com outra op mo po, um nico tipo d registro armazena poder ser divid de o ado ria dido em do Inverte ois. endose o exemplo a anterior, o registro ar rmazenado o: 1 n d pea co da pea 1 peso da pea poderia ser div da or a vidido em: n2 d pea cor da pea e n2 da pe peso da pea da ea Essa diviso p a permitiria, por exemp que partes do registro original utiliz plo, zadas com menor fre eqncia f fossem arm mazenadas em um dispositivo mais lento. A o implicao q o regis lgico de uma ap que stro plicao poderia con nter campo de os difer rentes registros arma azenados isto , seria um s superconju unto apropriado de q qualquer um desses r m registros armazenados. - Es strutura de arquivos armazena ados - Um determina ado arquiv armazenado vo pode ser implementado fisicamente no me de arm e o eio mazename ento de vrias v man neiras distin ntas. Ele p poderia est inteiram tar mente cont tido em um nico volume m de a armazenam mento (por exemplo, um nico disco), o estar es r , o ou spalhado entre e diversos volum (possivelmente, em vrios tipos dif mes ferentes de dispositivos); e ele p poderia es star ou n em seq o qncia fs sica de ac cordo com os valore de es algum campo armazenado; poderia estar ou no em s seqncia de um ou mais mod adicion dos nais por al lgum outro meio, se por um ou mais ndices ou por o eja m u uma ou mais c a cadeias de ponteiros embutidos (ou ambo poder estar ou no e s os); ria u aces ssvel por meio de a algum esqu uema de hashing; os registros armazenados h s pode eriam esta ou no em um mesmo bloco fsic e assi por diante. ar o b co; im
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a18

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

Cont tudo, nenh huma des ssas consideraes deve afet de form alguma as tar ma aplic caes (a n ser quanto ao de no esempenho o). Isso conclui no ossa lista d aspecto da repre de os esentao dos dados armazenados s que esto sujeitos a p possveis modifica es. A lista implica (entre outras a coisa que o banco de dados d as) e deveria ser capaz de crescer sem afeta as r e ar aplic caes existentes; na verdade, permitir que o banco de dados cresa sem a q preju udicar logicamente as aplica aes exis stentes uma das razes mais s impo ortantes pa se exig a indep ara gir pendncia de dados Por exem s. mplo, deve ser e poss svel esten nder um r registro ar rmazenado existente pela adio de novos o e n campos arma azenados, em ger ral repres sentando informa es adicio onais relat tivas a alg gum tipo d entidade existente (por exe de e e emplo, um campo c m custo unit rio pode eria ser ac crescentad ao reg do gistro arma azenado pea). Esses E novo campo devem simplesm os os mente ser invisve eis para as aplica aes exist tentes. Do mesmo m o modo, deve ser poss e svel acres scentar tipo de registros os arma azenados inteirame ente novo (e, em conseq os m ncia, novos arqu uivos arma azenados) mais um vez se exigir qualquer m ), ma em q mudana n nas aplica aes exist tentes; es sses regis stros repre esentariam novos t m tipos de e entidades (por exem mplo, um t tipo de reg gistro forn necedor poderia ser acrescen p r ntado ao banco de d dados pe eas). De novo, ta incluses devem ser invis e ais m sveis para as aplic caes ex xistentes. Por tudo isso, vo o oc deve ter perc e cebido qu a ue independncia de dados uma da razes pelas quais a separa a s as p s ao do mo odelo de d dados de s sua implem mentao, to imp portante: n extens em que no na o e fizer rmos essa separa no co o, onseguirem mos a inde ependncia de dado A a os. op generalizada de d o deixar de fa azer a sep parao de maneira a e apropriada em a, parti icular nos s sistemas S SQL de hoj , portanto, particu je ularmente infeliz.

6 SI ISTEMAS RELACIONAIS E OUTRO SISTE S OS EMAS


Os p produtos d SGBDs baseados no mode relacio de s s elo onal de dados (siste emas relac cionais) v vieram para dominar o mercad de bancos de da a r do ados. Mais que s isso, a vasta maioria d , das pesquisas sobre bancos de dados ao longo dos e o ltim trinta a mos anos tamb bm se bas seou embora um tanto indi m iretamente em e, alguns casos nesse m modelo. De fato, a in e ntroduo do modelo relaciona em o al 91970 fo sem dv oi vida o even mais im nto mportante em toda h histria da rea 1969 de b bancos de dados. P essas razes, alm da ra e Por a azo adicio onal de que o mod delo relacio onal se ba aseia solid damente na lgica e na mate n emtica e, por cons seguinte, fo ornece um veculo id m deal para o ensino de princpios de banco de e s os dado a nfas est for os, se rtemente c concentrad nos sist da temas rela acionais. Ento, o qu exat ue tamente u sistema relacion um a nal? bv que n vio no pos ssvel resp ponder com mpletament a essa p te pergunta neste ponto inicial, mas poss n o vel e dese ejvel dar u uma respo osta um tan vaga, que podere nto q emos torna mais pre ar ecisa adiante. De mo abrevi odo iado, um sistema rela acional a aquele no q qual: 1. Os da ados so percebidos pelo usurio como t tabelas (e nada alm d tabelas) de ).
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a19

GovernoFederal Ministrioda M aEducao InstitutoF FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

2. Os op peradores disposi o do usu urio (por exemplo, para recupe erao de dados) so operad dores que geram no ovas tabel las a partir d tabelas antigas. P exemp h um operador restrio para de s Por plo, m r extrair um subc conjunto d das linhas de uma dada ta s a abela, e outro o operad dor, proje o, que e extrai um subconjun das co nto olunas e, claro, um subconjunto de linhas e um subconj junto de co olunas de uma tabela podem am mbos, por s vez, se considerados tabe sua er elas.

SQL L
Agor podemos disting ra guir entre sistemas relacionais e no-relacionais da s segu uinte mane eira. Como foi dito, o usurio de um s o o sistema re elacional v os v dado como ta os abelas e n nada mais que tabela Em contraste, o usurio de um as. e siste ema no-r relacional v outras estrutura de dad s as dos, seja em lugar das tabe elas de um sistema relacional ou em adio a e m a elas. Por s sua vez, essas e outra estruturas exigem outros o as m operadores para ma s anipul-las. Por exem . mplo, em u sistem hierrqu um ma uico como o IMS da IBM, os d dados so represent tados para o usur a rio sob a forma d um co de onjunto de estrutura em r e as rvore (hier rarquias) e os operad dores forne ecidos par manipula tais estr ra ar ruturas inc cluem oper radores p para recur rso de p ponteiros a saber, os ponteiros que repre esentam o caminh os hos hierr rquicos ac cima e ab baixo nas rvores. (Em cont traste, uma caracter a stica distin ntiva impor rtante dos sistemas relacionais o s fato de eles n envolverem nenhu desses ponteiros, conforme j vimos.) o um s e Para levar a questo um pouco ad a m diante: na verdade, o sistemas de banco de v os s os dado podem ser dividi os idos em c categorias de modo convenien nte, de ac cordo com as estrut turas de d dados e o operado os ores que apresenta ao usu am urio. Segu undo esse esquem ma, os si istemas mais antig m gos (pr-r relacionais) se enqu uadram em trs gran m ndes categ gorias, ou seja, os sistemas de lista invertida, s e hier rquicos e em rede. Por analogia com o m modelo relacional, edies anteriores se referia a e am delos de lis invertid hierrquico e em rede (e g sta da, m grande par da litera rte atura mod ainda o faz). Contudo, falar em tais term mos bastante enganoso por rque, difer rentemente do mo e odelo rela acional, os modelos de l o lista invertida, hier rquico e e rede eram todos definidos depois de criados; is , prod em e sto dutos comerciais de listas inve ertidas, hie errquicos e em red eram i s des implement tados prim meiro e os modelos correspo ondentes eram defin e nidos subs seqentem mente por um proces de induo nesse conte sso exto, um t termo cort para indicar s adivinhao a partir das implem mentaes existentes. e Por devem pelo m m, mos menos dize que o te er ermo rede nesse con ntexto no tem o nenh huma rela com uma rede de comunic o caes e se refe aos tipo de ele ere os estru uturas de d dados e op peradores admitidos pelos siste emas em q questo. FIGU URA 1.6 Estrutura de dados e operadore em um s e es sistema relacional
Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a20

GovernoFederal Ministrioda M aEducao FederaldeEd ducao,CinciaeTecno ologiadoPar raIFPA InstitutoF Univ versidadeAb bertadoBrasil Disciplina:Banc codeDadosII

a. Ta abela dada: ADE EGA VINH HO ANO O GAR RRAFAS Char rdonnay Fum Blanc Pinot Noir t Zinfa andel 1996 6 1996 6 1993 3 1994 4 4 2 3 9 b. Op peradores (e exemplos): 1. Re estrio: Re esultado: VI INHO AiiP_ GARRA __ AFAS Char rdonnay 199 4 96 SELE ECT VINH ANO, G HO, GARRAFAS Fum Bla 1996 S anc FRO ADEGA OM A WHE ERE ANO > 1995 2. Pr rojeo: Res sultado: VINH GARRA HO AFAS SELE ECT VINH GARRA HO, AFAS Chard donnayFRO ADEGA Fum Bla 2 OM A; anc Pinot Noir 3 t Zinfa andel 9

Facilitador:Prof.Msc.Marcos sViniciusSad dalaBarreto Pagina a21