Você está na página 1de 11

Disciplina:Fundamentosde ArmazenamentoeManipulaode Dados

Professor:AndreRodrigoSanches

AULA:MODELOSENTIDADE RELACIONAMENTO
Omodeloentidaderelacionamento(MER)baseadonapercepodomundorealque consisteemumconjuntodeobjetosbsicoschamadosentidadesenosrelacionamentos entreessesobjetos.Elefoidesenvolvidoparafacilitaroprojetodebancodedados permitindoaespecificaodeumesquemadaempresa.Talesquemarepresentaa estruturalgicageraldobancodedados.

ENTIDADESECONJUNTOSDEENTIDADES
Umaentidade(entity)umobjetoqueexisteedistinguveldosoutrosobjetos.Por exemplo,PauloSilvacomnmerodeCPF123.456.78900umaentidade,vistoque issoidentificaunicamenteumapessoaparticulardouniverso.Assimacontanmero 401679naagnciaLapaumaentidadequeidentificaunicamenteumacontacorrente particular.Umaentidadepodeserconcreta,comoumapessoaouumlivro,oupodeser abstrata,comoumferiadoouumconceito. Umconjuntodeentidades(entityset)umconjuntodeentidadesdomesmotipo.O conjuntodetodasaspessoascomcontaemumbanco,porexemplo,podeserdefinido comooconjuntodetodasasentidadescliente.Similarmente,oconjuntodeentidades contapoderepresentaroconjuntodetodasascontasdeumbancoparticular. convenoadotarnomesdeconjuntosdeentidadesnosingular,masnoobrigatrio. Conjuntosdeentidadesnoprecisamserdisjuntos.Porexemplo,possveldefiniro conjuntodeentidadesdetodososfuncionriosdeumbanco(funcionrios)eoconjunto detodososclientesdobanco(clientes).Umaentidadepessoapodeserumaentidade funcionrio,umaentidadecliente,ambasounenhumadelas.

Umaentidaderepresentadaporumconjuntodeatributos.Possveisatributosdo conjuntodeentidadesclientepodemsernomecliente,cpf,ruaecidadecliente.Possveis atributosdoconjuntodeentidadecontasonmerocontaesaldo.Paracadaatributo, existeumconjuntodevalorespermitidoschamadodomniodaqueleatributo.Odomnio doatributonomeclientepodeseroconjuntodetodasascadeiasdetexto(strings)deum certotamanho.Assim,odomniodoatributonmerocontapodeseroconjuntodetodos osinteirospositivos.Oatributoidadedeumaentidadepessoapoderiatercomodomnio osnmerosinteirosentre0e150. Formalmente,umatributoumafunoquemapeiaumconjuntodeentidadesemum domnio.Portanto,todaentidadedescritaporumconjuntodepares(atributo,valordo atributo),sendoumparparacadaatributodoconjuntodeentidades.Umaentidadecliente descritapeloconjunto{(nome,PauloSilva),(cpf,123.456.78900),(rua,XVde Novembro),(cidade,Campinas)},quesignificaqueaentidadedescreveumapessoa chamadaPauloSilva,cujoCPF123.456.78900,residenteruaXVdeNovembro,em Campinas. Oconceitodeumconjuntodeentidadescorrespondenoodedefiniodetipousada emlinguagensdeprogramao.Umavariveldedeterminadotipotemumvalor particularemumdeterminadoinstantedotempo.Umavarivelemlinguagensde programaocorrespondeaoconceitodeumaentidadenoMER. Umbancodedadosincluiumacoleodeconjuntosdeentidades,cadaqualcontendo umnmerodeentidadesdomesmotipo.Afiguraabaixomostrapartedeumbancode dadosqueconsisteemdoisconjuntosdeentidades:clientesecontas.
Conjuntosdeentidadesclienteeconta cliente Oliver 645321098 Main Harris 890123456 North Marsh 456789012 Main Pepper 369121518 North Ratliff 246801214 Park Brill Austin Georgetown Austin Georgetown RoundRock conta 259 1000 630 2000 401 1500 700 1500 199 500 467 900 115 1200 183 1300 118 2000 225 2500 210 2200

121212121 Putnam SanMarcos

Evers 135791357 Nassau Austin

Daquiemdiante,trataremosdecincoconjuntosdeentidades.Paranocriarconfuso, serousadosnomesdeatributosdiferentesemcadaconjunto: agncia,oconjuntodetodasasagnciasdeumbanco.Cadaagnciadescrita pelosatributosnomeagncia,cidadeagnciaeativos cliente,oconjuntodetodasaspessoasquetmumacontanobanco.Cadacliente descritopelosatributosnomecliente,seguridadesocial,ruaecidadecliente funcionrio,oconjuntodetodasaspessoasquetrabalhamnobanco.Cada funcionriodescritopelosatributosnomefuncionrioenmerotelefone conta,oconjuntodetodasascontasmantidasnobanco.Cadacontadescritapelos atributosnmerocontaesaldo transao,oconjuntodetodasastransaesexecutadasnobanco.Cadatransao descritapelosatributosnmerotransao,dataequantia. AbaixosegueomodeloERdasentidades,relacionamentoseatributosdescritosacima.

RELACIONAMENTOSECONJUNTOSDE RELACIONAMENTOS
Umrelacionamentoumaassociaoentrediversasentidades.Porexemplo,podemos definirumrelacionamentoqueassociaoclienteHarrisconta401.Istoespecificaque Harrisumclientecomcontabancrianmero401. Umconjuntoderelacionamentosumacoleoderelacionamentosdomesmotipo. Formalmente,arelaomatemticaemn>=2conjuntosdeentidadespossivelmente nodistintos.SeE1,E2,...,Ensoconjuntosdeentidades,entooconjuntode relacionamentosRumsubconjuntode {(e1,e2,...,en)|e1pertenceE1,e2pertenceE2,...,enpertenceEn onde(e1,e2,...,en)umrelacionamento. Considereosdoisconjuntosdeentidadesclienteecontanafiguraacima.Definimoso

conjuntoderelacionamentosContaClienteparadenotaraassociaoentreclientesesuas contasbancrias.Estaassociaoestrepresentadanafiguraabaixo:

OrelacionamentoContaClienteumexemplodeumconjuntoderelacionamentos binriosisto,eleenvolvedoisconjuntosdeentidades.Amaioriadosconjuntosde relacionamentosnumsistemadebancodedadosbinria.Ocasionalmente,existem conjuntosderelacionamentosqueenvolvemmaisdedoisconjuntosdeentidades.Como exemplo,considereorelacionamentoternrioentreasentidadescorrespondentesao clienteHarris,conta401eagnciaRedwood.Esterelacionamentoespecificaqueum clienteHarristemumacontanmero401naagnciaRedwood.Istoumainstnciade umconjuntoderelacionamentosCCA(CliConAg)queenvolveosconjuntosdeentidades cliente,contaeagncia. Semprepossvelsubstituirumconjuntoderelacionamentosnobinrioporumasrie deconjuntosderelacionamentosbinrios.Assim,conceitualmente,podemosrestringiro modeloERparaincluirapenasconjuntosderelacionamentosbinrios.Isto,entretanto, nosempredesejvel. Afunoqueumaentidadeexercenumrelacionamentochamadadepapel.Papisso normalmenteimplcitosenosousualmenteespecificados.Entretantoelessoteis quandoosignificadodeumrelacionamentonecessitadeesclarecimentos.Talocaso quandoosconjuntosdeentidadesdeumconjuntoderelacionamentosnosodistintos. Porexemplo,oconjuntoderelacionamentostrabalhaparapodesermodeladoparapares ordenadosdeentidadesfuncionrioOprimeirofuncionriodoparfazopapeldo gerente,enquantoosegundofazopapeldeoperrio.Destemodo,todosos relacionamentosdetrabalhaparasocaracterizadosporpares(gerente,operrio)os pares(operriogerente)soexcludos. Umrelacionamentopodetambmteratributosdescritivos.Porexemplo,datapodeser umatributodoconjuntoderelacionamentosContaCliente.Istoespecificaaltimadata

umatributodoconjuntoderelacionamentosContaCliente.Istoespecificaaltimadata naqualoclientefezacessoconta.OrelacionamentoContaClienteentreasentidades correspondentesHarriseconta401descritopor{(data,23janeirode2005)},oque significaquealtimavezqueHarrisfezalgumacessoconta401foiem23dejaneiro de2005.

ATRIBUTOS
Umavezqueanoodeumconjuntodeentidadesedeumconjuntoderelacionamentos noprecisa,possveldefinirumconjuntodeentidadeseorelacionamentoentreelas dediversosmodos.Aprincipaldiferenaaformacomotratamososvriosatributos. Considereoconjuntodeentidadesfuncionriocomosatributosnomefuncionrioe numerotelefone.possvelfacilmenteargumentarqueumtelefoneumaentidadecom osatributosnumerotelefoneelocal(escritrioondeestotelefone).Assumindoeste pontodevista,oconjuntodeentidadesfuncionrioprecisaserredefinidoassim: Oconjuntodeentidadesfuncionriocomatributonomefuncionrio Oconjuntodeentidadestelefonecomatributosnumerotelefoneelocal OconjuntoderelacionamentosFuncTel,quedenotaaassociaoentrefuncionrios eseustelefones. Qualento,aprincipaldiferenaentreessasduasdefiniesdeumfuncionrio?No primeirocaso,adefinioimplicaquetodofuncionriotemprecisamenteumnmerode telefoneassociadoaele.Nosegundocaso,entretanto,adefinioadmiteque funcionriospossamterdiversosnmerosdetelefone(incluindozero)associadosaeles. Destaforma,asegundadefiniomaisgeralqueaprimeiraepoderefletircommais fieldadeasituaoreal. Mesmoseconsiderarmosquecadafuncionriotenhaprecisamenteumnmerode telefoneassociadoaele,asegundadefiniopodeatsermaisadequadaseotelefonefor compartilhadoentrevriosempregados. Noseriaapropriado,entretanto,aplicaramesmatcnicaaoatributonomefuncionrio. Istosedevedificuldadedeargumentarquenomefuncionrioumaentidade propriamentedita(emcomparaocomotelefone).Assim,apropriadoternome funcionriocomoatributodoconjuntodeentidadesfuncionrio. Apareceumaquestonatural:oqueconstituiumatributoeoqueconstituiumconjunto deentidades?Desafortunadamentenoexisteumarespostasimples.Adistinodepende principalmentedaestruturadaempresaqueestsendomodeladaedasemntica associadaaoatributoemquesto.

associadaaoatributoemquesto. Existemdiversostiposdeatributossquaisveremosabaixo: Compostos.Osatributoscompostospodemserdivididosempartesmenores,ou subpartes,osquaisrepresentariamatributosbsicosmaissimplescomsignificados independentes.Porexemplo,umatributoendereopodesersubdivididoemrua, cidade,estadoecep.Poderamostambmdividiroatributoruaemnmero,nome ruaenmeroapartamento.Atributosdestetipoformamumahierarquia. Simples.Sochamadostambmporatributosatmicos.Elesnosodivisveis. Monovalorados.Soatributosquepossuemapenasumvalorparaumaentidade emparticular.Porexemplo,aidadeumatributomonovaloradoparaumaentidade pessoa. Multivalorado.Soatributosquepossuemumoumaisvaloresparaomesmo.Por exemplo,oatributoidiomadeumaentidadealunopodeconterosvaloresinglse francs.Paraumoutroalunopoderiaconterapenasumvalorespanhol.Paraum terceiroaluno,poderamoster3valoresparaesteatributo. Armazenado.Emgeraltodososatributossoarmazenados. Derivado.Algunsatributospodemterumarelaoentresi.Porexemplo,idadee datanascimentodeumapessoa.Paraumapessoaemparticular,podemos determinarovaloratualdeidadeatravsdoatributodatanascimento.Entoidade chamadoumatributoderivadoederivadodoatributodatanascimento.Alguns atributospodemserderivadosdeentidadesrelacionadas.Porexemplo,umatributo nmeroempregadosdeumaentidadedepartamentopodeserderivadoatravsda contagemdenmerodeempregadosquetrabalhamparaumdepartamento. Nulo.Emalgunscasos,umaentidadepodenonecessitardeumvaloraplicvela umdeseusatributos.Porexemplo,noatributonmeroapartamentocompostovisto acima,apenasdefiniremosvaloresparaestecampoquandoaentidadepessoaem particularmoraremumprdio.Outroexemplomultivaloradoidiomadeum aluno:casoestealunoemparticularnotenhaflunciaemnenhumalngua,ento nonecessitamospreencherovalordesteatributo.Arepresentaodeumatributo semvalorcolocarmosumvalorespecialnull.Nulltambmpodeserutilizado quandonoconhecemosovalordeumatributo,porexemplo,quandose desconhecidaadatadenascimentodeumapessoa.

RESTRIESDEMAPEAMENTO
UmesquemaERdeumaempresapodedefinircertasrestriescomasquaisocontedo dobancodedadostemdeestardeacordo.Umarestrioimportantesoas

cardinalidades(oumultiplicidade)domapeamento,queexpressamonmerode entidadessquaisoutraentidadepodeestarassociadaviaumconjuntode relacionamentos. Ascardinalidadesdomapeamentosomuitoteisnadescriodeconjuntosde relacionamentosbinrios,emboraocasionalmentecontribuamparaadescriode conjuntosderelacionamentosqueenvolvammaisdedoisconjuntosdeentidades.Ofoco aquiserapenasconjuntosderelacionamentosbinrios. ParaumconjuntoderelacionamentosbinrioRentreoconjuntodeentidadesAeB,a cardinalidadedomapeamentoprecisaserumdosseguintes: Umparaum:umaentidadeAestassociadanomximoaumaentidadeBeuma entidadeBestassociadanomximoaentidadedeA Umparamuitos:umaentidadeAestassociadaaqualquernmerodeentidades deB.UmaentidadedeB,entretanto,podeestarassociadanomximoauma entidadedeA Muitosparaum:umaentidadeAestassociadanomximoaumaentidadesde B.UmaentidadedeB,entretanto,podeestarassociadaaqualquernmerode entidadesdeA Muitosparamuitos:umaentidadeAestassociadaaqualquernmerode entidadesdeBeumaentidadedeBestassociadaaqualquernmerodeentidades deA.

Acardinalidadedomapeamentoparaumconjuntoderelacionamentosparticular obviamentedependentedomundorealqueestsendomodeladopeloconjuntode relacionamentos. Parailustrar,considereoconjuntoderelacionamentosContaCliente.Se,emumbanco especfico,umacontapodepertenceraapenasumcliente,eumclientepodeterdiversas contas,entooconjuntodosrelacionamentosumparamuitosdeclienteeconta.Se umacontapodepertenceradiversosclientes(comoumacontaconjuntadediversos membrosdeumafamlia),oconjuntoderelacionamentosmuitosparamuitos. Adependnciadeexistnciaformaoutraimportanteclassederestries. Especificamente,seaexistnciadaentidadexdependedaexistnciadaentidadey,ento xditodependentedaexistnciadey.Operacionalmente,issosignificaqueseyfor eliminado,xtambmoser.Aentidadeychamadadeentidadedominante,ex chamadodeentidadesubordinada. Parailustrar,considereosconjuntosdeentidadescontaetransao.Formamosum conjuntoderelacionamentoslogentreestesdoisconjuntos,oqualespecificaque,para

conjuntoderelacionamentoslogentreestesdoisconjuntos,oqualespecificaque,para umacontaparticular,podehaverdiversastransaes.Esteconjuntoderelacionamentos umparamuitosdecontaparatransao.Todaentidadedetransaodeveestar associadaaumaentidadedeconta.Casoumaentidadedecontasejaeliminada,todasas entidadesdetransaoassociadasaeladeveroserapagadastambm.Emcomparao, entidadestransaopodemsereliminadasdobancodedadossemprejudicarqualquer conta.Oconjuntodeentidadesconta,comovisto,dominante,etransao subordinadonoconjuntoderelacionamentoslog.

CHAVES
importantepodeespecificarcomoentidadeserelacionamentossoidentificados. Conceitualmente,entidadeserelacionamentosindividuaissodistintos,masnuma perspectivadebancodedadosadiferenaentreelesprecisaserexpressaemtermosde seusatributos.Oconceitodesuperchavepermitenosfazertaisdistines.Uma superchaveumconjuntodeumoumaisatributosque,tomandocoletivamente, permitenosidentificarunicamenteumaentidadenoconjuntodeentidades.Porexemplo, oatributoseguridadesocialdoconjuntodeentidadesclientesuficienteparadistinguir umaentidadeclientedasoutras.Destaforma,seguridadesocialumasuperchave.De formasemelhante,acombinaonomeclienteeseguridadesocialumasuperchave paraoconjuntodeentidadescliente.Oatributonomeclientedeclientenouma superchave,poisdiversaspessoaspodemteromesmonome. Oconceitodesuperchavenosuficienteparanossospropsitos,umavezque,como vimosanteriormente,umasuperchavepodeconteratributosasprios.SeKuma superchave,entotambmoqualquersubconjuntodeK.Frequentemente, procuramossuperchavesquenocontenhamnenhumsubconjuntoprprioquesejauma superchave.Taissuperchavesmnimassochamadaschavescandidatas. possvelquediversosconjuntosdistintosdeatributospossamservircomoumachave candidata.Suponhaqueumacombinaodenomeclienteeruasejasuficientepara distinguirentremembrosdoconjuntodeentidadescliente.Entoambos,{seguridade social}e{nomecliente,rua},sochavescandidatas.Emboraosatributosseguridade socialenomeclientejuntospossamdistinguirentidadesdecliente,suacombinaono formaumachavecandidata,umavezqueoatributoseguridadesocialsozinhouma chavecandidata. Utilizaremosotermochaveprimriaparadenotarumachavecandidataqueescolhida porumprojetistadebancodedadoscomomeioprincipaldeidentificaodeentidades dentrodeumconjuntodeentidades.

ENTIDADESFORTESEENTIDADESFRACAS
possvelqueumconjuntodeentidadesnotenhaatributossuficientesparaformaruma chaveprimria.Talconjuntodeentidadesnomeadocomoconjuntodeentidades fraco.Umconjuntodeentidadesquepossuiumachaveprimriadefinidocomo conjuntodeentidadesforte.Parailustrar,considereoconjuntodeentidadestransao quepossuitrsatributos:nmerotransao,dataequantia.Emboracadaentidade transaosejadistinta,transaesemcontasdiferentespodemcompartilharomesmo nmerodetransao.Assim,esteconjuntodeentidadesnotemumachaveprimriae, portanto,umconjuntodeentidadesfraco.Paraqueesteconjuntodeentidadesfracotenha significado,eledevefazerpartedeumconjuntoderelacionamentosumparamuitos. Esteconjuntoderelacionamentosnodeveteratributosdescritivos,umavezque qualqueratributorequeridopodeestarassociadoaoconjuntodeentidadefraco. Osconceitosdeconjuntosdeentidadesforteefracoestorelacionadossdependncias deexistnciaintroduzidasanteriormente.Ummembrodeumconjuntodeentidadesforte pordefinioumaentidadedominante,enquantoummembrodeumconjuntode entidadesfracoumaentidadesubordinada. Emboraumconjuntodeentidadesfraconotenhaumachaveprimria,precisamos todaviadeumaformadedistinoentretodasessasentidadesnoconjuntodeentidades quedependadeumaentidadeforteparticular.Odiscriminador(ouchaveparcial)de umconjuntodeentidadesfracoumconjuntodeatributosquepermitequeestadistino sejafeita.porexemplo,odiscriminadordoconjuntodeentidadesfracotransaoo atributonmerotransao,umavezqueparacadacontaumnmerodetransao univocamenteidentificaumanicatransao. Achaveprimriadeumconjuntodeentidadesfracoformadapelachaveprimriado conjuntodeentidadesfortedoqualeledependentedeexistncia(oudependncia existencial),maisseudiscriminador.Nocasodoconjuntodeentidadestransao,sua chaveprimria{nmeroconta,nmerotransao},ondenmerocontaidentificaa entidadedominantedeumatransaoenmerotransaodistingueentidadesde transaodentrodamesmaconta. Asentidadesfracassorepresentadasporumretnguloduplicado.Oconjuntoderelaes queidentificamasentidadesfracassorepresentadosporlosngulosduplicados.Os atributosqueconstituemachaveparcial(oudiscriminadores)sosublinhadosdeforma tracejada.

REPRESENTAOGRFICADOMER

ltimaAtualizao:14/04/2005