aula 2- modelagem dados.ppt

download aula 2- modelagem dados.ppt

of 34

Transcript of aula 2- modelagem dados.ppt

  • Ronaldo Celso Messias CorreiaBanco de Dados I

    Modelo Entidade-Relacionamento

  • Sistema de Banco de DadosUma coletnea de conceitos que podem ser utilizados para descrever a estrutura de um banco de dados (tipos de dados, relacionamentos e restries) e tambm um conjunto de operaes bsicas para especificar recuperaes e atualizaes no banco de dadosCategorias de Modelos de Dados:Diviso baseada nos tipos de conceitos oferecidos para descrever a estrutura do DBModelos de dados conceituais (alto nvel)Oferece conceitos prximos ao usurioExemplo: modelo entidade-relacionamentoModelos de dados representacionais (ou de implementao)Descrevem a forma como os dados esto organizados dentro do computadorExemplo: modelo relacionalModelos de dados fsicos (baixo nvel)Descrevem detalhes de como os dados esto armazenados no computador

  • Projeto de Banco de DadosModelo bastante conhecido usado na criao do esquema conceitual Modelo Entidade-RelacionamentoNo esquema lgico os dados so descritos de forma dependente do SGBD a ser usadoEm funo da maior parte dos SGBDs comerciais serem relacionais: Modelo RelacionalProjeto Fsico: so especificados detalhes de armazenamento interno das informaes que podem influenciar o desempenho das aplicaes (ex: estruturas de arquivos usadas no acesso s informaes)

  • Modelo Entidade-RelacionamentoModelo desenvolvido por Chen em 1976Diversas extenses e notaes foram definidas ao longo do tempoProv ao usurio um alto nvel de abstrao, e por conseguinte facilita a construo de um esquema de BDA estrutura lgica do BD pode ser expressa graficamente pelo diagrama E-RPopularSimplicidade e ExpressividadeUm banco de dados representado por um modelo E-R, pode ser representado por uma coleo de tabelasO mapeamento entre os modelos E-R e Relacional relativamente simples.Existem vrias ferramentas destinadas a mapear o Modelo E-R para Relacional tambm chamado de esquema E-R ou diagrama E-R

  • Modelo Entidade-RelacionamentoDiversas extenses e notaes foram definidas ao longo do tempoOs dados do mundo real so representados por meio de conjuntos de entidades, relacionamentos entre esses e atributos que os caracterizamConjunto de Entidades: representa um conjunto de elementos do mundo real que tm a mesma estrutura e o mesmo significadoEstrutural e semanticamente iguaisEx: PessoasEntidade: elemento do conjunto de entidades identificado por caractersticas individuais definidas por meio do conceito de atributos Ex: coisas, objetos, pessoas (Murilo)Atributos: Propriedades que descrevem a entidade ou o relacionamento entre entidades Relacionamento: conjunto de associaes entre conjunto de entidades; podem ser caracterizados por atributos

  • Conjunto de EntidadesAs instncias de uma entidade no so representadas no diagrama de Entidades e Relacionamento, mas so semanticamente interpretadas no mesmo MER no trata Entidades individuais, apenas Conjuntos de EntidadesNotao DER: retngulo

  • AtributosValores que representam propriedades das entidades e relacionamentos no mundo realTipos:Atributo Monovalorado: possui um valor para cada entidade que caracteriza

    Atributo Multivalorado: possui mais de um valor para cada entidade que caracteriza

    Atributo Composto: quando o atributo tem vrios subcampos

    Atributo Derivado: quando o valor de um atributo obtido por meio de valores de outros atributos. Ex: tempo_de_casa pode ser derivado do valor da data_contratao

  • AtributosChave = Atributo ou um conjunto de atributos que, com seus valores, consiga identificar uma nica entidade dentro do conjunto de entidadesUma chave deve ser mnima no sentido de que se a chave for composta, nenhum atributo que a compe poder ser retirado, e ainda sim, a composio resultante continuar sendo chave o principal meio de acesso a uma entidadeOutras possveis chaves no so indicadas no diagrama, e no so contempladas pelo MER, mas podem ser anotadas separadamente, para efeito de documentaoChave Composta: mais de um atributo compe a chave de um conjunto de entidades. A concatenao de todos eles indica a chave nica Notao DER: grifar atributo chave

  • Conjunto de RelacionamentosRelacionamento uma associao entre uma ou vrias entidadesConjunto de Relacionamentos um conjunto de relacionamentos de mesmo tipoExpressam uma rica semntica entre os conjuntos de entidades por meio dos conceitos como:CardinalidadeRestrio de participao (total ou parcial)Grau de RelacionamentoEsses conceitos impem restries aos dados que alimentaro o banco de dadosNotao DER: losango

    Trabalha

  • Conjunto de RelacionamentosO grau de relacionamento: o nmero de entidades participantesBinrio, ternrio, etc.Dependendo do conjunto de entidades associadas entre si, necessrio adicionar atributos em um relacionamentoEx: Horas em Trabalha_Em entre Funcionrio e ProjetoExemplo MER:

  • CardinalidadeA cardinalidade expressa o nmero de entidades as quais outra entidade pode estar associada em um relacionamento Para um Um para um (1 para 1)Uma entidade em A est associada no mximo a uma entidade em B, e uma entidade em B est associada a no mximo uma entidade em AUm para muitos (1 para N)Uma entidade em A est associada a vrias entidades em B. Uma entidade em B, entretanto, deve estar associada no mximo a uma entidade em AMuitos para um (N para 1)Uma entidade em A est associada a no mximo uma entidade em B. Uma entidade em B, entretanto, pode estar associada a um nmero qualquer de entidades em AMuitos para muitos (N para N) - pode ser substituido por qualquer outra letra, como M, P, Q)Uma entidade em A est associada a qualquer nmero de entidades em B e uma entidade em B est associada a um nmero qualquer de entidades em A

  • Cardinalidade 1 para 1Exemplos:Um funcionrio gerencia no mximo 1 departamento. Um departamento gerenciado por no mximo um funcionrio

  • Cardinalidade 1 para muitosExemplos:Um funcionrio est lotado no mximo em 1 departamento. Um departamento tem at N funcionrios lotados nele

    1 Sentido da leitura 1 N Sentido da leitura 1

  • Cardinalidade muitos para muitosExemplos:Um funcionrio participa de vrios projetos. Um projeto pode ter a participao de at N funcionrios

  • Cardinalidade mxima e mnimaIndica se a participao das ocorrncias de entidades no relacionamento obrigatria ou opcionalUm funcionrio pode estar lotado no mximo em 1 departamento. Um departamento obrigatoriamente tem at N empregados lotados nele

  • Cardinalidade mxima e mnima

  • Grau de RelacionamentoIndica quantos conjuntos de entidades esto envolvidos em determinado relacionamentoOs relacionamentos podem ter associado vrios conjuntos de entidades, caracterizando:relacionamentos binrios (grau de relacionamento 2)relacionamentos ternrios (grau 3)relacionamentos quaternrios (grau 4), entre outros importante observar que um relacionamento com grau N > 2 s justificvel se no puder ser decomposto em relacionamentos com graus menores e ainda manter a semntica desejada

  • Relacionamento Ternrio Os relacionamentos entre mltiplas entidades expressam um fato em que todas as entidades ocorrem simultaneamente, ou seja, todas as ocorrncias do relacionamento possuem, sempre, ligaes com todas as entidades envolvidas no relacionamentoNo pode existir de um relacionamento triplo, em um determinado momento, se transformar em duplo

  • Relacionamento Ternrio Para descobrir a cardinalidade do relacionamento ternrio, deve-se prodecer da seguinte forma:Separar a entidade ALUNO e analisar o par PROFESSOR, DISCIPLINA. Para cada par PROFESSOR / DISCIPLINA podemos ter de 1 at N ALUNOS relacionadosSeparar a entidade PROFESSOR e analisar o par ALUNO, DISCIPLINA. Para cada par ALUNO / DISCIPLINA podemos ter 1 e somente 1 PROFESSOR relacionadoSeparar a entidade DISCIPLINA e analisar o par PROFESSOR, ALUNO. Para cada par PROFESSOR / ALLUNO podemos ter de 1 at N DISCIPLINAS relacionadasSempre que existe uma ocorrncia no relacionamento , esta apresenta referncia s trs entidades

  • Relacionamento Ternrio Podemos tentar quebrar o relacionamento ternrio em vrios binriosO problema a perda de informaes semnticasA informao representada por um conjunto de relacionamentos ternrio nem sempre pode ser obtidada apenas com conjunto de relacionamentos binriosex: como responder: Aluno A auxilia Professor P em qual Disciplina?

  • Relacionamento Ternrio Um mesmo Conjunto de Entidades pode desempenhar vrios papis num Conjunto de RelacionamentosUma Empresa (vendedora) negocia Produtos com outra Empresa (compradora)

  • Auto-RelacionamentoRepresenta uma associao entre ocorrncias de uma mesma entidadeRequer a identificao de papisPapel do relacionamento: utilizado quando no clara a participao de um determinado conjunto de entidades em um relacionamento A representao do papel extremamente importante quando se trata de um relacionamento unrio ou auto-relacionamentoEx: Um Funcionrio pode ser supervisionado por no mximo 1 Funcionrio. Um Funcionrio pode supervisionar no mximo N Funcionrios.

  • Entidade FracaConjunto de entidades que no possui identificao prpriaEntidade que no tem atributos que possam identific-la univocamente sua identificao depende de um relacionamento com uma entidade de outro conjuntoO identificador de um conjunto de entidades fracas tambm chamado de chave parcial de um conjunto de entidadesA chave primria de um conjunto de entidades fracas formada pela chave primria do conjunto de entidades fortes vinculada mais o identificador do conjunto de entidades fracasEx: Num relacionamento entre as entidades Funcionrio e Dependente, o Dependente s existe se houver um Funcionrio a ele associadoNotao DER: linha dupla no retngulo e no losango do relacionamentosublinhar com llinha tracejada a chave parcial

  • Entidade FracaExemplos:

  • Restrio de ParticipaoMostra se a existncia de uma entidade depende de outra entidade por meio de um relacionamentoH dois tipos de restrio de participao: participao total: toda entidade em um conjunto de entidades precisa ser relacionada com a entidade correspondente no relacionamento em questoparticipao parcial: somente parte do conjunto de entidades relacionada entidade correspondente no relacionamento

  • Restrio de ParticipaoParticipao total ou Dependncia Existncial: Uma entidade s existe se estiver associada a outra entidade por meio de um relacionamentoEx: uma entidade Ementa tem que participar de um relacionamento Possui, ou seja, deve estar associada a uma entidade Disciplina

  • Reconhecendo Entidades / RelacionamentosLista de perguntas teis para identificar entidades em um contexto:Que coisas so trabalhadas?O que pode ser identificado por nmero, cdigo?Essa coisa tem atributos? Esses atributos so relevantes, pertinentes?Essa coisa pode assumir forma de uma tabela? um documento externo (recibo, fatura, nota fiscal)? Se sim, forte candidato entidade.Tem significado prprio?Qual a entidade principal do contexto?Dicas:Substantivos que no possuem atributos podem ser atributos de outras entidadesAdjetivos colocados pelos usurios indicam normalmente atributos de uma entidade

  • Reconhecendo Entidades / RelacionamentosDicas: (cont)Verbos indicam provveis relacioanamentosAdvrbios temporais indicam provveis atributos de um relacionamentoProcure sempre visualizar a entidade principal do contexto sob anliseDicas para reconhecer e inserir relacionamentos no modelo:O relacionamento necessrio?Ele til? redundante? Se redudante, retirar?Qual sua finalidade? (Documentar)Verbos indicam possveis relacionamentosAnalisar sempre as entidades aos pares

  • Notao James MartinNotao de Peter Chen interessante e bastante expressiva, porm para grandes modelos torna sensivelmente confuso, com muitos cruzamentos e complicada de ser lidoAs ferramentas Case utilizam a notao da Engenharia de informaes ou notao de James Martin

  • Notao James Martin

    Exemplo de Modelagem, onde:

  • Notao James Martin

    EmpregadoDepartamentoEmpregadoDepartamentoTrabalha(1,1)(0,n)

  • Notao James Martin

    As principais diferenas entre as notaes:Os relacionamentos so representados apenas por uma linha que une as duas entidades;Somente relacionamentos binrios;A notao de cardinalidade mxima e mnima grfica, sendo assim: o smbolo mais prximo ao retngulo a representao da cardinalidade mxima e o mais distante a cardinalidade mnima.

  • Notao James Martin

    Associaes de Um para Um Associaes de Um para MuitosAssociaes de Muitos para Muitos

  • Exerccio

    Uma empresa organizada em departamentos, cada um com um nome nico, uma sigla e um funcionrio responsvel por gerenci-lo. Uma data determina quando o funcionrio iniciou suas atividades de gerncia no departamento.Um departamento da empresa controla vrios projetos, cada um com um cdigo nico e um nome. Um funcionrio da empresa est vinculado a um departamento, mas pode trabalhar em vrios projetos, sendo determinado o nmero de horas semanais dedicadas a cada um. Alm disso, todo funcionriotem um supervisor direto. Para cada funcionrio so armazenadas informaes como: nome, CPF, endereo, telefone(s) de contato,salrio e dependentes (primeiroNome, idade, parentesco)