44
1 Modelo Entidade- Modelo Entidade- Relacionamento Relacionamento Instituto de Informática e Estatística Universidade Federal de Santa Catarina Vania Bogorny

Aula2_ModeloERa

Embed Size (px)

Citation preview

  • Modelo Entidade-RelacionamentoInstituto de Informtica e Estatstica Universidade Federal de Santa Catarina

    Vania Bogorny

  • Plano de AulaModelos de Dados (Reviso)O Modelo Entidade-Relacionamento EntidadesAtributosRelacionamentosIdentificando Entidades e RelacionamentosResumo da AulaBibliografiaTema de Casa

  • Modelos de DadosModelo de dados: Descrio formal da estrutura de um banco de dados

    Modelos propostos:Modelo conceitualModelo Lgico Modelo FsicoProjeto FsicoProjeto LgicoProjeto ConceitualNveisDe AbstraoMinimundo

  • Modelos de DadosModelo conceitual (projeto conceitual)Modelo de dados abstrato que descreve a estrutura de um banco de dados independente de um SGBD

    Modelo lgico (projeto lgico)Modelo de dados que representa a estrutura dos dados de um banco de dados Dependente do modelo do SGBD

    Modelo fsico (projeto fsico)Nvel de Implementao Depende do SGBD nfase na eficincia de acessoAbordado na Aula de HojeEmpregadoNomeEndereo

    Empregado (Nome, Endereo)

  • Plano de AulaModelos de DadosO Modelo Entidade-RelacionamentoEntidadesAtributosRelacionamentosIdentificando Entidades e RelacionamentosResumo da AulaBibliografiaTema de Casa

  • Modelagem ConceitualModelo Entidade Relacionamento (ER) a tcnica mais conhecidaTem como objetivo auxiliar na especificao geral do sistemaO modelo de dados representado graficamente atravs de um Diagrama de Entidade-Relacionamento (DER).

    Principais conceitos do Modelo ER so:EntidadesAtributos eRelacionamentos

    Notao: Criada por Peter Chen em 1976Notao usada: Heuser

  • EntidadeEntidade um conjunto de objetos do mundo real sobre os quais se deseja manter informaes no banco de dados distinguvel de outros objetosRepresentada atravs de um retnguloPode representar: objetos concretos (uma pessoa)objetos abstratos (um departamento)

    Departamento Contabilidade Financeiro Jurdico PessoalPossui propriedadesAtributos e Relacionamentos

  • EntidadeExemplos de Entidades:Sistema BancrioClienteConta CorrenteConta PoupanaAgnciaSistema de Controle de Produo de IndustriaProdutoEmpregadoDepartamentoEstoque...

  • Plano de AulaModelos de DadosO Modelo Entidade-RelacionamentoEntidadesAtributosRelacionamentosIdentificando Entidades e RelacionamentosResumo da AulaBibliografiaTema de Casa

  • Atributo um dado que associado a cada ocorrncia de uma entidade ou de um relacionamentoExemplos de atributos de entidades:

    EmpregadoNomeEndereoSalrio DepartamentoDescrio nmeroDeFuncionrios

  • ExerccioConsiderando um sistema acadmico, envolvendo entidades que todos conhecemos, defina pelo menos 3 atributos para cada uma das entidadesAlunoDisciplinaProfessorTurma

  • Plano de AulaModelos de DadosO Modelo Entidade-RelacionamentoEntidadesAtributosRelacionamentosDefinio de relacionamentosExercciosCardinalidade Mxima e MnimaExercciosRelacionamentos Unrios, Binrios e TernriosIdentificando Entidades e RelacionamentosResumo da AulaBibliografiaTema de Casa

  • RelacionamentosComo expressamos que Joo trabalha no Departamento de Contabilidade?

    EmpregadoDepartamento

  • RelacionamentosRelacionamento: uma associao entre entidadesRepresentado atravs de um losngulo e linhas que ligam as entidades relacionadas

    nomeDoRelacionamentoAB

  • RelacionamentosExemplos de RelacionamentosCliente ContaContaClienteMedicoPacienteConsulta CidadeResidncia

  • Relacionamentos com AtributosExemplo IMdicoPacienteConsultadataDaConsulta nome celular nome endereoDr. PauloDr. FloraVania Jos22/10/200705/02/200920/03/2009esquemainstncias

  • Relacionamentos com AtributosExemplo IIEmpregadoProjetoAtuaofuno nome salariosiglaVaniaPedroGabrielAATOM Sinplicoordenadorpesquisadorbolsista

  • ExerccioIdentifique os relacionamentos no modelo e os atributos do relacionamento (quando houver):

  • Cardinalidade de RelacionamentosUma propriedade importante dos relacionamentos a especificao de quantas ocorrncias de uma entidade podem estar associadas a uma determinada ocorrncia de outra entidade

    Existem 2 cardinalidades: Mxima Mnimaa4a3a1a2b1

    b2

    b3

    b4

    A BA ocorrncia a1 da entidade Aest relacionado a quantasOcorrncias em B?

  • Cardinalidade Mxima

  • Relacionamento Um para Um 1:1Uma ocorrncia de A est associada a no mximo uma ocorrncia de B, e uma ocorrncia em B est associada a no mximo uma ocorrncia em A.JooPedroPauloMariaJurdicoContabilidadeFinanceiroConjunto A(Empregado)Conjunto B(Departamento)

  • Relacionamento Um para Muitos 1:NUma ocorrncia de A est associada a vrias ocorrncias de B, porm uma ocorrncia de B deve estar associada a no mximo uma ocorrncia em AConjunto A(Departamento)ContabilidadeFinanceiroAnaPedroJooSandroConjunto B(Empregado)

  • Relacionamento Muitos para Muitos M:N ou N:NUma ocorrncia de A est associada a qualquer nmero de ocorrncias de B, e uma ocorrncia em B est associada a qualquer nmero de ocorrncias em ASigmodaMM-TOMSinpliAATOMConjunto A(Empregado)Conjunto B(Projeto)JooPedroPauloMaria

  • ExerccioIdentifique as cardinalidades mximas dos relacionamentos do modelo ER

  • Cardinalidade MnimaO modelo ER permite expressar cardinalidades mnimas e mximas em cada relacionamentoCardinalidade Mnima: nmero mnimo de ocorrncias de uma entidade A com relao a uma outra entidade B

    Representao:(cardinalidade mnima, cardinalidade mxima)Cardinalidades Possveis: (1,1); (1,N); (0,1);(0,N);(N,N)

    Cardinalidade mnima = 1 (relacionamento obrigatrio)Cardinalidade mnima = 0 (relacionamento opcional)

  • Cardinalidade Mnima e MximaClienteContaContaCliente(1,1)(1,N)Exemplo de Relacionamento Obrigatrio: cada ocorrncia de cliente est relacionado a no mnimo quantas contas e no mximo quantas contas?Cada ocorrncia de conta est relacionada a no mnimo quantos clientes e no mximo quantos clientes?

    Exemplo de Relacionamento Opcional:

    EmpregadoDepartamentoGerencia (1,1)(0,1)

  • Atributos tambm podem ter CardinalidadeMonovalorado: possui um valor nico em uma entidadeExemplo: nome

    Multivalorado: possui mais de um valor para cada ocorrncia da entidadeExemplo: telefone

    Empregadotelefone (0,N)nome Endereo Salrio EmpregadonomeEndereo Salrio

  • Atributos tambm podem ter CardinalidadeCardinalidade mnima 1: atributo obrigatrio 0: atributo opcional Cardinalidade mxima1: atributo monovalorado N: atributo multivalorado

    TELEFONE (0,N)ClientenomeEndereo (1,N)

  • ExerccioEspecificar as cardinalidades mnimas e mximas dos relacionamentos

  • Relacionamentos e Papis

    Papel a funo que uma ocorrncia da entidade cumpre dentro de uma ocorrncia do relacionamentoNo obrigatria no Modelo ERClienteContaContaCliente(1,1)(1,N)movimenta movimentadaalocadoenvolve

  • Auto-Relacionamento (Relacionamento Unrio)Relacionamento entre ocorrncias da mesma entidadeEmpregadosupervisionaJooPedroPauloMariasupervisionadaPessoa(0,1)(0,1)casadoComEsposaMaridoRobertoPedroFelipeAnaesposa

  • Relacionamento Binrio e Ternrio

    EmpregadoDepartamentotrabalha(1,N )(1,1 )CidadeDistribuidorProdutodistribuioBinrioTernrio (1,1) (1,N) (1,N)

  • Plano de AulaModelos de DadosO Modelo Entidade-RelacionamentoEntidadesAtributosRelacionamentosIdentificando Entidades e RelacionamentosResumo da AulaBibliografiaTema de Casa

  • Exerccio - RespostaAlunoTurmaDisciplinaProfessorMatrculaatuaoregncia daCodigo nome numeroCreditosCPF Matricula nomeCPFNomeSalario

    Numero Sala horario(0,N)(1,1)(1,1)(1,N)(0,N)(1,1)(1,N)(0,N)

  • Identificando EntidadesCada entidade deve ter um identificadorIdentificador (tambm conhecido como chave): o conjunto de um ou mais atributos ou relacionamentos cujos valores servem para distinguir uma ocorrncia da entidade das demais ocorrncias da mesma entidade

    Exemplo: os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um cidado brasileiro Representao no Modelo

    ClienteCPFNomeEndereco PrateleiraNumeroCorredorNumeroPrateleira

  • Identificando RelacionamentosQuando parte da chave um relacionamentoExemplo: CPF do Empregado e numero sequencial na entidade Dependente

    Entidade Fraca: entidade sem chave A entidade identificada por algum atributo da entidade + algum relacionamentoEntidade Forte: entidade com chave A entidade identificada por atributos da prpria entidadeNumeroNome CpfNomeEndereco

    Chave=CPF + numero

  • Relacionamento com Atributo IdentificadorDr. PauloDr. Flora22/10/200705/02/200920/03/2009MdicoPacienteConsultadataDaConsultaCRM nome celularCPF nome endereoVania Jos

  • ExerccioIdentifique os atributos chave das entidades e relacionamentos

  • Plano de AulaModelos de DadosO Modelo Entidade-RelacionamentoEntidadesAtributosRelacionamentosIdentificando Entidades e RelacionamentosResumo da AulaBibliografiaTema de Casa

  • ResumoAula de HojeEntidadesAtributosRelacionamentos

  • TerminologiaEntidade e instnciaPara referir-se a um objeto particularfala-se em instncia ou ocorrncia de entidadeDiferentes terminologias

    Heuser

    Peter Chen

    Orientao aObjetos(Bush)Departamento Contabilidade Financeiro Jurdico Pessoal

  • BibliografiaBibliografia BsicaHEUSER, C.A. Projeto de Banco de Dados. 6 Edio. Porto Alegre. Captulos 2 e 3

    Bibliografia ComplementarKorth, H. F.; Sudarshan, S; Silberschatz, A. Sistema de Banco de Dados. 5a ed. Editora Campus, 2006. - Captulo 6

    Elmasri, R.; Navathe S. B. Sistemas de Banco de Dados. 4 ed. Editora Addison-Wesley. 2005. - Captulo 3

  • Tema de CasaLer o captulo 3 do livro do Elmasri e Navathe para ver exemplos do uso da notao do Peter ChenConstrua um diagrama ER para a biblioteca descrita abaixo. O acervo de uma biblioteca composto por exemplares de livros. Cada livro caracterizado por um ou mais autores, um ttulo, uma editora, local de edio, um cdigo ISBN e um conjunto de palavras-chave. A biblioteca possui pelo menos um exemplar de cada livro, numerados seqencialmente (exemplares 1, 2, 3, etc). Os associados da biblioteca podem retirar exemplares dos livros. Cada associado pode levar emprestado no mximo trs exemplares. Para cada emprstimo registrada a data em que este foi realizado. Cada associado possui um cdigo, um nome e endereo.

    O modelo conceitual eh normalmente definido graficamente, a fim de poder visualizar os dados envolvidos e os relacionamentos entre elesFalar de varios exemplos de sistemas e aplicacoesO nome da entidade eh normalmente escrito no singularQUAL A PRIMEIRA COISA QUE NOS PRECISAMOS FAZER QUANDO PENSAMOS NA MODELAGEM DE UM SISTEMA? Eh idetificar os objetos de interessePor exemplo, se eu quero modelar o sistema de uma empresa, qual eh o primeio objeto que nos precisamos? Qual eh o objeto que toda empresa tem ou que a nossa empresa tem? Empregado. O nome do conjunto de objetos do mundo real empregadoFalar de varios exemplos de sistemas e aplicacoesO nome da entidade eh normalmente escrito no singularQUAL A PRIMEIRA COISA QUE NOS PRECISAMOS FAZER QUANDO PENSAMOS NA MODELAGEM DE UM SISTEMA? Eh idetificar os objetos de interessePor exemplo, se eu quero modelar o sistema de uma empresa, qual eh o primeio objeto que nos precisamos? Qual eh o objeto que toda empresa tem ou que a nossa empresa tem? Empregado. O nome do conjunto de objetos do mundo real empregadoEm alguns livros voces vao encontrar o nome do atributo escrito dentro da circunferenciaA notacao do Heuser eh melhor porque ocupa menos espaco no diagramaComo nos expressamos o relacionmaneot entre 2 entidades?

    Neste exemplo cada conta pertence a um nico cliente, no sendo permitida conta conjuntaSe conta conjunta permitida, entao ao lado do cliente seria 1,NCada ocorrencia de empregado gerencia no maximo um departamentoCada departamento gerenciado por no maximo uma empregadoExplicar o diagramaAte agora vimos as cardinalidades mximas.

    Neste exemplo cada conta pertence a um nico cliente, no sendo permitida conta conjuntaSe conta conjunta permitida, entao ao lado do cliente seria 1,NExplicar o diagramaExplicar o diagrama