Tema1 T ema1 – Sistemas de base de dados Docente: Alcamate Daial Dossá !1"
1#1# Int$od%&'o e conceitos (e$ais )b*ecti+os ,onece$ os .%ndamentos (e$ais sob$e sistemas de base de dados
S%má$io 1#1# Int$od%&'o 1## Modelo de dados# 1#/# ,onceitos 0e$ais# 1## Abo$da(em banco de dados +s 2$ocessamento t$adicional de a$3%i+os 1#"# Us%á$ios e acti+idades en+ol+idas 1#4# Vanta(ens de %m S0BD 1#5# 6%ando n'o %sa$ S0BD 1#7# A$3%itect%$a e inde2endencia de dados de S0BD
1#1# Int$od%&'o ) 2$imei$o Sistema 0e$enciado$ de Banco de Dados 8S0BD9 come$cial s%$(io no nal de 1;4!< com base nos 2$imiti+os sistemas de a$3%i+os dis2on=+eis na >2oca< os 3%ais n'o cont$ola+am o acesso conco$$ente 2o$ %s%á$ios o% 2$ocessos# Anos de2ois os S0BD 2assa$am a %sa$ di.e$entes .o$mas de $e2$esenta&'o< o% modelos de dados< 2a$a desc$e+e$ a est$%t%$a de das in.o$ma&?es contidas
1## Modelo de dados 1##1# Modelo ie$á$3%ico ) 2$imei$o a se$ $econecido como modelo de dados# )s dados s'o est$%t%$ados em ie$a$3%ia o% á$+o$es# )s nos das ie$a$3%ias contem contem oco$$@ncias dos $e(istos< onde cada $e(isto > %ma colec&'o de cam2os 8at$ib%tos9< cada %m contendo a2enas %ma in.o$ma&'o# ) $e(isto da ie$a$3%ia 3%e 2$ecede a o%t$os > o $e(isto 2ai< os o%t$os $e(istos s'o camados de $e(istos -los#
1## Modelo de dados
Uma li(a&'o > %ma associa&'o ent$e dois $e(istos# ) $elacionamento ent$e %m $e(isto-2ai e +á$ios $e(istos-los 2oss%i ca$dinalidade 1:N# a$a te$ acesso aos dados o$(aniados se(%ndo este modelo se(%e-se %ma se3%@ncia ie$á$3%ica com %ma na+e(a&'o do to2o 2a$a as .olas e da es3%e$da 2a$a a di$eita# Um $e(isto 2ode esta$ associado a +á$ios $e(istos di.e$entes< desde 3%e se*a $e2licado# A $e2lica&'o 2oss%i d%as ($andes des+anta(ens: 2ode ca%sa$ inconsist@ncia de dados 3%ando o%+e$ act%alia&'o e o des2e$d=cio de es2a&o > ine+itá+el#
1## Modelo de dados 1### Modelo em $ede ) modelo em $edes s%$(i% como %ma eCtens'o ao modelo ie$á$3%ico< eliminando o conceito de ie$a$3%ia e 2e$mitindo 3%e %m mesmo $e(isto esti+esse en+ol+ido em +á$ias associa&?es# No modelo em $ede< os $e(istos s'o o$(aniados em ($a.os onde a2a$ece %m nico ti2o de associa&'o 8set9 3%e dene %ma $ela&'o 1:N ent$e ti2os de $e(istos: 2$o2$ietá$io e memb$o# Desta manei$a< dados dois $elacionamentos 1:N ent$e os $e(istos A e D e ent$e os $e(istos , e D > 2oss=+el const$%i$ %m $elacionamento M:N ent$e A e D#
1## Modelo de dados Uma no$ma .oi estabelecida 2a$a este modelo de banco de dados< com lin(%a(em 2$2$ia 2a$a deni&'o e mani2%la&'o de dados# )s dados tinam %ma .o$ma limitada de inde2end@ncia .=sica# Tamb>m .o$am denidas as sintaCes 2a$a dois as2ectos ca+es dos sistemas (e$enciado$es de dados: conco$$@ncia e se(%$an&a#
,onco$$@ncia : .o$necia %ma .acilidade na 3%al 2a$te do banco de dados 8o% á$ea9 2%desse se$ blo3%eada 2a$a 2$e+eni$ acessos sim%ltFneos< 3%ando necessá$io# Se(%$an&a: 2e$mitia 3%e %ma sena .osse associada a cada ob*ecto desc$ito no es3%ema#
Ao cont$á$io do Modelo Gie$á$3%ico< em 3%e 3%al3%e$ acesso aos dados 2assa 2ela $ai< o modelo em $ede 2ossibilita acesso a 3%al3%e$ n da $ede sem 2assa$ 2ela $ai# ) modelo ie$á$3%ico e em $ede s'o o$ientados a $e(isto< isto >< 3%al3%e$ acesso a base de dados > .eito em cada $e(isto#
1## Modelo de dados 1##/# Modelo Relacional Este modelo a2a$ece% de+ido Hs se(%intes necessidades:
A%menta$ a inde2end@ncia de dados nos sistemas (e$enciado$es de banco de dados $o+e$ %m con*%nto de .%n&?es a2oiadas em ál(eb$a $elacional 2a$a a$maenamento e $ec%2e$a&'o de dados e$miti$ 2$ocessamento ad oc#
) Modelo $elacional $e+elo%-se se$ o mais JeC=+el e ade3%ado ao sol%ciona$ os +á$ios 2$oblemas 3%e se colocam no n=+el da conce2&'o e im2lementa&'o da base de dados# A est$%t%$a .%ndamental do modelo $elacional > a $ela&'o 8tabela9# Uma $ela&'o > constit%=da 2o$ %m o% mais at$ib%tos 8cam2os9 3%e t$ad%em o ti2o de dados a a$maena$# ,ada instFncia do es3%ema 8lina9 > camada de t%2la 8$e(isto9# ) modelo $elacional n'o tem caminos 2$>denidos 2a$a se .ae$ acesso aos dados como nos modelos 3%e o 2$ecede$am# ) modelo $elacional im2lementa est$%t%$as de dados o$(aniadas em $ela&?es# o$>m< 2a$a t$abala$ com essas tabelas< al(%mas $est$i&?es 2$ecisa$am se$ im2ostas 2a$a e+ita$ as2ectos indese*á+eis< como: Re2eti&'o de in.o$ma&'o< inca2acidade de $e2$esenta$ 2a$te da in.o$ma&'o e 2e$da de in.o$ma&'o#
1## Modelo de dados
Modelo )$ientado a )b*ectos )s bancos de dados o$ientados a ob*ecto come&a$am a se to$na$ come$cialmente +iá+eis em meados de 1;7!# A moti+a&'o 2a$a se% s%$(imento está em .%n&'o dos limites de a$maenamento e $e2$esenta&'o semFntica im2ostas no modelo $elacional# 6%ando os bancos de dados o$ientados a ob*ectos .o$am int$od%idos< al(%mas das .alas 2e$ce2t=+eis do modelo $elacional 2a$ece$am te$ sido sol%cionadas com esta tecnolo(ia e ac$edita+a-se 3%e tais bancos de dados (ana$iam ($ande 2a$cela do me$cado# Go*e< 2o$>m< ac$edita-se 3%e os Bancos de Dados )$ientados a )b*ectos se$'o %sados em a2lica&?es es2ecialiadas< en3%anto os sistemas $elacionais contin%a$'o a s%stenta$ os ne(cios t$adicionais< onde as est$%t%$as de dados baseadas em $ela&?es s'o s%cientes#
1#/ ,onceitos (e$ais
Base de dados
Dados
Kactos 3%e 2odem se$ a$maenados e 2oss%em %m si(nicado im2l=cito# Mat>$ia 2$ima 2a$a obten&'o de in.o$ma&'o#
In.o$ma&'o
,olec&'o de dados de+idamente $elacionado#
Dados com2ilados e 2$ocessados de aco$do com a solicita&'o de cons%ltas e analises#
Sistema de Base de Dados
L o con*%nto com2osto 2ela base de dados e o so.ta$e de (e$enciamento de base de dados#
1#/ ,onceitos (e$ais
Sistema 0e$enciado$ de Base de Dados
> %ma colec&'o de 2$o($amas 3%e 2e$mitem aos %s%á$ios c$ia$em e mani2%la$em %ma base de dados# Um S0BD >< assim< %m sistema de so.ta$e de 2$o2sito (e$al 3%e .acilita o 2$ocesso de deni$< const$%i$ e mani2%la$ bases de dados de di+e$sas a2lica&?es# Deni$ – En+ol+e a es2ecica&'o de ti2o de dados a se$em a$maenados# ,onst$%i$ – En+ol+e a o 2$ocesso de a$maena$ os dados em al(%m meio 3%e 2ossa se$ cont$olado 2elo S0BD Mani2%la$ – En+ol+e a %tilia&'o de .%n&?es como a de cons%lta e de modica&'o#
1#/# ,onceitos (e$ais $o2$iedades das bases de dados Uma base de dados > %ma colec&'o de dados lo(icamente $elacionado< com al(%m si(nicado# Associa&?es aleat$ias de dados n'o 2odem se$ camadas de base de dados# Uma base de dados > 2$o*ectada< const$%=da e 2$eencida 8instanciada9 com dados 2a$a %m 2$o2sito es2ec=co# Ela tem %m ($%2o de %s%á$ios e al(%mas a2lica&?es 2$>concebidas 2a$a atend@-los Uma base de dados $e2$esenta al(%m as2ecto do m%ndo $eal< al(%mas +ees camado de minim%ndoO# M%dan&as no minim%ndo 2$o+ocam m%dan&as na base de dados# Uma base de dados tem al(%ma .onte de dados< al(%m ($a% de inte$ac&'o com e+entos do m%ndo $eal e %ma a%di@ncia 3%e está acti+amente inte$essada no se% contedo#
1## Abo$da(em base da dados +s Sistema (e$enciado$ de a$3%i+o
Natureza da auto-descrição de Sistema de Banco de Dados
Uma ca$acte$=stica im2o$tante da abo$da(em Banco de Dados > 3%e o S0BD mant>m n'o somente os dados mas tamb>m a .o$ma como os mesmos s'o a$maenados< contendo %ma desc$i&'o com2leta do banco de dados# Estas in.o$ma&?es s'o a$maenadas no catálo(o do S0BD< o 3%al cont>m in.o$ma&?es como a est$%t%$a de cada a$3%i+o< o ti2o e o .o$mato de a$maenamento de cada ti2o de dado< $est$i&?es< etc# A in.o$ma&'o a$maenada no catálo(o > camada de Meta DadosO# No 2$ocessamento t$adicional de a$3%i+os< o 2$o($ama 3%e i$á mani2%la$ os dados de+e conte$ este ti2o de in.o$ma&'o< cando limitado a mani2%la$ as in.o$ma&?es 3%e o mesmo conece# Utiliando a abo$da(em banco de dados< a a2lica&'o 2ode mani2%la$ m%itas bases de dados di.e$entes#
1## Abo$da(em base da dados +s Sistema (e$enciado$ de a$3%i+o
Separação entre Programas e Dados
No 2$ocessamento t$adicional de a$3%i+os< a est$%t%$a dos dados está inco$2o$ada ao 2$o($ama de acesso# Desta .o$ma< 3%al3%e$ alte$a&'o na est$%t%$a de a$3%i+os im2lica na alte$a&'o no cdi(o .onte de todos os 2$o($amas# Pá na abo$da(em banco de dados< a est$%t%$a > alte$ada a2enas no catálo(o< n'o alte$ando os 2$o($amas#
1## Abo$da(em base da dados +s Sistema (e$enciado$ de a$3%i+o
Abstração de Dados
) S0BD de+e .o$nece$ ao %s%á$io %ma $e2$esenta&'o conceit%alO dos dados< sem .o$nece$ m%itos detales de como as in.o$ma&?es s'o a$maenadas# Um modelo de dadosO > %ma abst$a&'o de dados 3%e > %tiliada 2a$a .o$nece$ esta $e2$esenta&'o conceit%al %tiliando conceitos l(icos como ob*etos< s%as 2$o2$iedades e se%s $elacionamentos# A est$%t%$a detalada e a o$(ania&'o de cada a$3%i+o s'o desc$itas no catálo(o#
1## Abo$da(em base da dados +s Sistema (e$enciado$ de a$3%i+o
Múltiplas Visões de Dados
,omo %m con*%nto de in.o$ma&?es 2ode se$ %tiliada 2o$ %m con*%nto di.e$ente de %s%á$ios< > im2o$tante 3%e estes %s%á$ios 2ossam te$ +is?esO di.e$entes da banco de dados# Uma +is'oO > denida como %m s%bcon*%nto de %m banco de dados< .o$mando deste modo< %m con*%nto +i$t%alO de in.o$ma&?es#
1#"# Us%á$ios e Ati+idades en+ol+idas
Administrador de Banco de Dados DBA!
Em %m ambiente de banco de dados< o $ec%$so 2$imá$io > o banco de dados 2o$ si s e o $ec%$so sec%ndá$io > o S0BD e os so.ta$es $elacionados# A administ$a&'o destes $ec%$sos cabe ao Administ$ado$ de Banco de Dados< o 3%al > $es2onsá+el 2ela a%to$ia&'o de acesso a banco de dados e 2ela coo$dena&'o e monito$a&'o de se% %so#
1#"# Us%á$ios e Ati+idades en+ol+idas
Pro"etista de Banco de Dados
) $o*etista de Banco de Dados > $es2onsá+el 2ela identica&'o dos dados 3%e de+em se$ a$maenados no banco de dados< escolendo a est$%t%$a co$$eta 2a$a $e2$esenta$ e a$maena$ dados# M%itas +ees< os 2$o*etistas de banco de dados at%am como staQO do DBA< ass%mindo o%t$as $es2onsabilidades a2s a const$%&'o do banco de dados# L .%n&'o do 2$o*etista tamb>m a+alia$ as necessidades de cada ($%2o de %s%á$ios 2a$a deni$ as +is?es 3%e se$'o necessá$ias< inte($ando-as< .aendo com 3%e o banco de dados se*a ca2a de atende$ todas as necessidades dos %s%á$ios#
1#"# Us%á$ios e Ati+idades en+ol+idas
#su$rios %inais
ECistem basicamente t$@s cate(o$ias de %s%á$ios nais 3%e s'o os %s%á$ios nais de banco de dados< .aendo cons%ltas< at%alia&?es e (e$ando doc%mentos: usu$rios casuais& acessam o banco de dados cas%almente< mas 3%e 2odem necessita$ de di.e$entes in.o$ma&?es a cada acesso %tiliam sosticadas lin(%a(ens de cons%lta 2a$a es2ecica$ s%as necessidades usu$rios no'atos ou param(tricos& %tiliam 2o$&?es 2$>denidas do banco de dados< %tiliando cons%ltas 2$>estabelecidas 3%e *á .o$am eCa%sti+amente testadas usu$rios so)sticados : s'o %s%á$ios 3%e est'o .amilia$iados com o S0BD e $ealiam cons%ltas com2leCas#
1#"# Us%á$ios e Ati+idades en+ol+idas
Analistas de Sistemas e Programadores de Aplicações
)s analistas dete$minam os $e3%isitos dos %s%á$ios nais e desen+ol+em es2ecica&?es 2a$a t$ansa&?es 3%e atendam estes $e3%isitos< e os 2$o($amado$es im2lementam estas es2ecica&?es como 2$o($amas< testando< de2%$ando< doc%mentando e dando man%ten&'o no mesmo# L im2o$tante 3%e< tanto analistas 3%anto 2$o($amado$es< este*am a 2a$ dos $ec%$sos o.e$ecidos 2elo S0BD#
1#4# Vanta(ens de %m S0BD
*ontrole de +edund,ncia
No 2$ocessamento t$adicional de a$3%i+os< cada ($%2o de %s%á$ios de+e mante$ se% 2$2$io con*%nto de a$3%i+os e dados# Desta .o$ma< acaba oco$$endo $ed%ndFncias 3%e 2$e*%dicam o sistema com 2$oblemas como:
Toda +e 3%e .o$ necessá$io at%alia$ %m a$3%i+o de %m ($%2o< ent'o todos os ($%2os de+em se$ at%aliados 2a$a mante$ a inte($idade dos dados no ambiente como %m todo A $ed%ndFncia desnecessá$ia de dados le+am ao a$maenamento eCcessi+o de in.o$ma&?es< oc%2ando es2a&o 3%e 2ode$ia esta$ sendo %tiliado com o%t$as in.o$ma&?es#
1#4# Vanta(ens de %m S0BD
*ompartilamento de Dados
Um S0BD m%lti-%s%á$io de+e 2e$miti$ 3%e mlti2los %s%á$ios acessem o banco de dados ao mesmo tem2o# Este .ato$ > essencial 2a$a 3%e mlti2las a2lica&?es inte($adas 2ossam acessa$ o banco# ) S0BD m%lti-%s%á$io de+e mante$ o cont$ole de conco$$@ncia 2a$a asse(%$a$ 3%e o $es%ltado de at%alia&?es se*am co$$etos# Um banco de dados m%lti-%s%á$ios de+e .o$nece$ $ec%$sos 2a$a a const$%&'o de mlti2las +is?es#
1#4# Vanta(ens de %m S0BD
+estrição a Acesso não Autorizado
Um S0BD de+e .o$nece %m s%bsistema de a%to$ia&'o e se(%$an&a< o 3%al > %tiliado 2elo DBA 2a$a c$ia$ contasO e es2ecica$ as $est$i&?es destas contas ) cont$ole de $est$i&?es se a2lica tanto ao acesso aos dados 3%anto ao %so de so.ta$es ine$entes ao S0BD#
1#4# Vanta(ens de %m S0BD
+epresentação de +elacionamentos *omple.os entre Dados
Um banco de dados 2ode incl%i$ %ma +a$iedade de dados 3%e est'o inte$$elacionados de +á$ias .o$mas# Um S0BD de+e .o$nece$ $ec%$sos 2a$a se $e2$esenta$ %ma ($ande +a$iedade de $elacionamentos ent$e os dados< bem como< $ec%2e$a$ e at%alia$ os dados de manei$a 2$ática e eciente#
1#4# Vanta(ens de %m S0BD
/oler,ncia a %alas
Um S0BD de+e .o$nece$ $ec%$sos 2a$a $ec%2e$a&'o de .alas tanto de so.ta$e 3%anto de a$da$e#
1#5# 6%ando n'o Utilia$ %m S0BD
Em al(%mas sit%a&?es< o %so de %m S0BD 2ode $e2$esenta$ %ma ca$(a desnecessá$ia aos c%stos 3%ando com2a$ado H abo$da(em 2$ocessamento t$adicional de a$3%i+os como 2o$ eCem2lo:
Alto in+estimento inicial na com2$a de so.ta$e e a$da$e adicionais 0ene$alidade 3%e %m S0BD .o$nece na deni&'o e 2$ocessamento de dados Sob$eca$(a na 2$o+is'o de cont$ole de se(%$an&a< cont$ole de conco$$@ncia< $ec%2e$a&'o e inte($a&'o de .%n&?es#
1#5# 6%ando n'o Utilia$ %m S0BD $oblemas adicionais 2odem s%$(i$ caso os 2$o*etistas de banco de dados o% os administ$ado$es de banco de dados n'o elabo$em os 2$o*etos co$$etamente o% se as a2lica&?es n'o s'o im2lementadas de .o$ma a2$o2$iada# Se o DBA n'o administ$a$ o banco de dados de .o$ma a2$o2$iada< tanto a se(%$an&a 3%anto a inte($idade dos sistemas 2odem se$ com2$ometidas#
1#5# 6%ando n'o Utilia$ %m S0BD $oblemas adicionais 2odem s%$(i$ caso os 2$o*etistas de banco de dados o% os administ$ado$es de banco de dados n'o elabo$em os 2$o*etos co$$etamente o% se as a2lica&?es n'o s'o im2lementadas de .o$ma a2$o2$iada# Se o DBA n'o administ$a$ o banco de dados de .o$ma a2$o2$iada< tanto a se(%$an&a 3%anto a inte($idade dos sistemas 2odem se$ com2$ometidas#
1#5# 6%ando n'o Utilia$ %m S0BD A sob$eca$(a ca%sada 2elo %so de %m S0BD e a má administ$a&'o *%sticam a %tilia&'o da abo$da(em 2$ocessamento t$adicional de a$3%i+os em casos como: - ) banco de dados e as a2lica&?es s'o sim2les< bem denidas e n'o se es2e$a m%dan&as no 2$o*eto - A necessidade de 2$ocessamento em tem2o $eal de ce$tas a2lica&?es< 3%e s'o te$$i+elmente 2$e*%dicadas 2ela sob$eca$(a ca%sada 2elo %so de %m S0BD - N'o a+e$á mlti2lo acesso ao banco de dados#
1#7# A$3%itect%$a e inde2endecia de dados de %m S0BD A a$3%itect%$a mais di.%ndida na lite$at%$a > a t$ee-scema< conecida tamb>m 2o$ ANSISAR,# A meta desta a$3%itect%$a > se2a$a$ as a2lica&?es dos %s%á$ios da base de dados .=sica# Nesta a$3%itect%$a os es3%emas 2odem se$ denidas em t$@s n=+eis: Inte$no< ,onceit%al e ECte$no#
1#7# A$3%itect%$a e inde2endecia de dados de %m S0BD N=+el inte$no: tem %m es3%ema inte$no 3%e desc$e+e a est$%t%$a de a$maenamento .=sico da base de dados# ) es3%ema inte$no %sa %m modelo de dados .=sico e desc$e+e todos os detales de a$maenamento de dados e caminos de acesso H base de dados N=+el conceit%al: tem %m es3%ema conceit%al 3%e desc$e+e a est$%t%$a de toda a base de dados# ) es3%ema conceit%al > %ma desc$i&'o (lobal da base de dados< 3%e omite detales da est$%t%$a de a$maenamento .=sico e se concent$a na desc$i&'o de entidades< ti2os de dados< $elacionamentos e $est$i&?es# Um modelo de dados de alto-n=+el o% %m modelo de dados de im2lementa&'o 2odem se$ %tiliados neste n=+el# N=+el eCte$no o% +is'o: 2oss%i es3%emas eCte$nos o% +is?es de %s%á$ios# ,ada es3%ema eCte$no desc$e+e a +is'o da base de dados de %m ($%2o de %s%á$ios da base de dados# ,ada +is'o desc$e+e< ti2icamente< a 2a$te da base de dados 3%e %m 2a$tic%la$ ($%2o de %s%á$ios está inte$essado e esconde deste o $estante da base de dados# Um modelo de dados de alton=+el o% %m modelo de dados de im2lementa&'o 2odem se$ %sados neste n=+el#
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.