aula-03

44
Conte´ udo do curso Modelos conceituais Universidade Estadual de Campinas - UNICAMP Instituto de Computa¸c˜ ao - IC MC536 – Bancos de Dados: Teoria e Pr´ atica Aula #3 – Modelos conceituais: MER e MER Estendido Profs. Anderson Rocha e Andr´ e Santanch` e Campinas, 1 de Agosto de 2012 Anderson Rocha Arquitetura de Banco de Dados 1/44

Upload: rubens

Post on 17-Dec-2015

212 views

Category:

Documents


0 download

DESCRIPTION

cfdffdv

TRANSCRIPT

  • Conteudo do cursoModelos conceituais

    Universidade Estadual de Campinas - UNICAMPInstituto de Computacao - ICMC536 Bancos de Dados: Teoria e Pratica

    Aula #3 Modelos conceituais: MER e MER Estendido

    Profs. Anderson Rocha e Andre Santanche`

    Campinas, 1 de Agosto de 2012

    Anderson Rocha Arquitetura de Banco de Dados 1/44

  • Conteudo do cursoModelos conceituais

    Conteudo do curso

    1. Introducao: arquitetura de banco de dados.

    2. Modelos de dados: modelagem e abstracoes.

    3. Modelos conceituais: modelo entidade-relacionamento (ER)basico e estendido.

    4. Modelo relacional: definicoes e formalizacao.

    5. Mapeamento do modelo ER para o modelo relacional.

    6. Dependencias funcionais e normalizacao.

    7. Linguagens de definicao e de manipulacao de dados.I Algebra relacional;I Calculo relacional.

    8. Processamento de consultas.

    9. Controle de concorrencia.

    10. Mecanismos de protecao e recuperacao.

    Anderson Rocha Arquitetura de Banco de Dados 2/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Modelagem de dados usando o modelo ER

    I O modelo Entidade/Relacionamento (ER) e um modelo dedados conceitual de alto nvel.

    I Utilizado para o projeto conceitual dos dados.I Precisa de informacoes das especificacoes das operacoes

    basicas feitas pelos usuarios finaisI Especificacao de requisitos.

    I Criado em 1976 por Peter Chen.

    Anderson Rocha Arquitetura de Banco de Dados 3/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Abordagem Entidade-Relacionamento

    I Modelo de dados e representado atraves de um modeloentidade-relacionamento (MER).

    I MER e representado graficamente por um diagrama deentidade-relacionamento (DER).

    Anderson Rocha Arquitetura de Banco de Dados 4/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Conceitos basicos do modelo ER (1)

    Conceito Definicao Smbolo

    EntidadeSao conjuntos de instancias, objetosda realidade modelada.

    RelacionamentoSao acoes que interagem com as en-tidades.

    AtributosSao caractersticas comuns a`sinstancias que formam entida-des/relacionamentos.

    Totalidade

    Restricao imposta a`s entidades eaos relacionamentos, onde todas asinstancias de 1 entidade tem que es-tar relacionadas a instancias da outraentidade envolvida no relacionamento

    Anderson Rocha Arquitetura de Banco de Dados 5/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Conceitos basicos do modelo ER (2)

    I Entidades sao objetos ou coisas do mundo real quepossuem uma existencia independente e sao de interesse parauma determinada aplicacao.

    I Atributos sao propriedades usadas para descrever umaentidade/relacionamento.

    Anderson Rocha Arquitetura de Banco de Dados 6/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Conceitos basicos do modelo ER (3)

    Figura: Entidade Livros, e composta pelos atributos Codigo, Ttulo eIdioma.

    Anderson Rocha Arquitetura de Banco de Dados 7/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Atributos (1)

    I Simples: geralmente e so um conjunto de caracteres.

    I Compostos: formado pelo conjunto de n atributos simples.Exemplo: Endereco = rua + numero + bairro.

    Figura: Atributo composto.

    Anderson Rocha Arquitetura de Banco de Dados 8/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Atributos (2)

    I Monovalorados: cada atributo possui uma instancia.

    I Multivalorados: um atributo pode possuir n instancias, porexemplo um livro que possui varias edicoes. Neste caso,edicoes seria um atributo multivalorado de livros. Exemplo:

    Figura: Atributo multivalorado.

    Anderson Rocha Arquitetura de Banco de Dados 9/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Atributos (3)

    I Armazenados-basicos: sao os atributos comuns desenhadosexplicitamente no modelo ER).

    I Derivados: nao sao armazenados no BD, possuem valorescalculados quando necessario e sao representados por linhatracejada. Exemplo: lucro da venda de um livro pode sercalculado ja que existem os valores de preco de venda e decusto.

    Figura: Atributo derivado.

    I Cada atributo de um tipo de entidade possui um conjunto devalores, ou domnio.

    Anderson Rocha Arquitetura de Banco de Dados 10/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Atributo Identificador (Chave) (1)

    I Atributo (ou combinacao de atributos) que identificaunivocamente uma instancia de entidade.

    I Atributo identificador pode ser composto.

    I Uma entidade pode tem mais de um atributo identificador.

    Anderson Rocha Arquitetura de Banco de Dados 11/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Atributo Identificador (Chave) (2)

    Figura: Atributos identificadores.

    Anderson Rocha Arquitetura de Banco de Dados 12/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Atributo Identificador (Chave) (3)

    I O conceito de chave foi introduzido por Peter Chen em 1976,com o motivo de identificar uma instancia.

    I Porem a chave deve ser vista de forma mais ampla, como umarestricao de integridade. Para o conceito de chave deve-seentender que a instancia e unica.

    I O valor de um atributo que e chave nao pode se repetirdentro do conjunto de todas as instancias da entidade.

    Anderson Rocha Arquitetura de Banco de Dados 13/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Relacionamento (1)

    I Um relacionamento e uma associacao entre duas ou maisentidades distintas (ou instancias da entidade), com umdeterminado significado.

    I Exemplo: Empregado Joao Trabalha Em DepartamentoPesquisa.

    I Um tipo de relacionamento R entre n tipos de entidadese1, e2, . . . , en define um conjunto de associacoes entreentidades desse tipo.

    Anderson Rocha Arquitetura de Banco de Dados 14/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Auto-Relacionamento

    I Relacionamento entre instancias da mesma entidade.

    I Instancias participam com papeis diferentes.

    Anderson Rocha Arquitetura de Banco de Dados 15/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Grau de relacionamento (1)

    I O grau de um relacionamento e o numero de entidadesparticipantes

    1. Unarios;2. Binarios;3. Ternarios.

    Anderson Rocha Arquitetura de Banco de Dados 16/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Grau de relacionamento (2)

    Figura: Relacionamento unario.

    Anderson Rocha Arquitetura de Banco de Dados 17/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Grau de relacionamento (3)

    Figura: Relacionamento binario.

    Anderson Rocha Arquitetura de Banco de Dados 18/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Grau de relacionamento (4)

    Figura: Relacionamento ternario.

    Anderson Rocha Arquitetura de Banco de Dados 19/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Relacionamento

    I Mais do que um relacionamento pode existir entre as mesmasentidades.

    Anderson Rocha Arquitetura de Banco de Dados 20/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Restricoes sobre tipos de relacionamento (1)

    I Relacao de cardinalidade especifica o numero de instanciasde um tipo de relacionamento que uma entidade podeparticipar.

    I Pode ser: 1 para 1 (1:1), 1 para n (1:n), n para 1 (n:1) ou npara n (n:n).

    I Relacao de participacao especifica se a existencia dasentidades dependem de ela estar associada ou nao a outraentidade. Pode ser chamada de obrigatoria (total) ou opcional(parcial).

    Anderson Rocha Arquitetura de Banco de Dados 21/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Restricoes sobre tipos de relacionamento (2)

    I CARDINALIDADE + PARTICIPACAO = RESTRICOESESTRUTURAIS.

    I As restricoes estruturais definem como as entidades seraorepresentadas, ou seja, a participacao mnima e maxima dasinstancias dos tipos de entidades nos relacionamentos.

    Anderson Rocha Arquitetura de Banco de Dados 22/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Cardinalidade maxima

    I Um-para-um (1:1).

    I Um-para-muitos (1:N) ou muitos-para-um (N:1).

    I Muitos-para-muitos (N:M).

    Anderson Rocha Arquitetura de Banco de Dados 23/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Relacionamento N : 1

    Figura: Relacionamento N : 1.

    Anderson Rocha Arquitetura de Banco de Dados 24/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Relacionamento N : M

    Figura: Relacionamento N : M.

    Anderson Rocha Arquitetura de Banco de Dados 25/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Cardinalidade mnima (1)

    I Tambem chamada de restricao de participacao ou restricao dedependencia de existencia.

    I Zero (participacao opcional, existencia nao dependente)Associacao opcional.

    I Um ou muitos (participacao obrigatoria, existenciadependente) Associacao obrigatoria.

    Anderson Rocha Arquitetura de Banco de Dados 26/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Cardinalidade mnima (2)

    I Especificada em cada participacao de uma entidade E em umrelacionamento R.

    I Especifica que cada entidade e E se relaciona com nomnimo min e no maximo max instancias do relacionamentoem R.

    I Padrao (sem restricao): min = 0, max = n.

    I Deve ter min max , min 0, max 1.I Derivada do conhecimento do domnio da aplicacao.

    Anderson Rocha Arquitetura de Banco de Dados 27/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Cardinalidade mnima (3)

    Figura: Exemplo de cardinalidade mnima e maxima.

    Anderson Rocha Arquitetura de Banco de Dados 28/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Cardinalidade mnima (3)

    Figura: Exemplo de cardinalidade mnima e maxima.

    Anderson Rocha Arquitetura de Banco de Dados 29/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Entidade Associativa (1)

    I Tipo de entidade que associa instancias de um ou mais tiposde entidades e contem atributos que sao peculiares para orelacionamento.

    Anderson Rocha Arquitetura de Banco de Dados 30/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Entidade Associativa (2)

    I Como identificar?I Relacionamento do tipo N : M;I A entidade associativa tem significado independente;I Tem um ou mais atributos;I Participa de um ou mais relacionamentos independentemente

    das entidades do relacionamento associado.

    Anderson Rocha Arquitetura de Banco de Dados 31/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Entidade Associativa (3)

    Anderson Rocha Arquitetura de Banco de Dados 32/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Entidade Associativa (4)

    Anderson Rocha Arquitetura de Banco de Dados 33/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Exerccios (1)

    I Uma pequena locadora de vdeos possui cerca de 2.000 fitasde vdeo, cujo emprestimo deve ser controlado.

    I Cada fita possui um numero.

    I Para cada filme, e necessario saber seu ttulo e sua categoria(comedia, drama, aventura, . . . ).

    I Cada filme recebe um identificador proprio. Para cada fita econtrolado que filme ela contem.

    I Para cada filme ha pelo menos uma fita, e cada fita contemsomente um filme.

    I Alguns poucos filmes necessitam duas fitas.

    I Os clientes podem desejar encontrar os filmes estrelados peloseu ator predileto. Por isso, e necessario manter a informacaodos atores que atuam em cada filme.

    Anderson Rocha Arquitetura de Banco de Dados 34/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Exerccios (2)

    I Nem todo filme possui atores considerados estrelas.

    I Os clientes, a`s vezes, desejam receber referencias dedeterminado ator, tais como o nome real, a data denascimento, etc.

    I A locadora possui muitos clientes cadastrados.

    I Somente clientes cadastrados podem alugar fitas.

    I Para cada cliente e necessario saber seu pre-nome e seusobrenome, seu telefone e seu endereco.

    I Cada cliente recebe um numero de associado.

    I Desejamos saber quais fitas estao locadas por um dado cliente.

    I Um cliente pode locar varias fitas ao mesmo tempo. Nao saomantidos registros historicos de alugueis.

    Anderson Rocha Arquitetura de Banco de Dados 35/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Solucao

    Figura: Uma solucao possvel para o problema da videolocadora.

    Anderson Rocha Arquitetura de Banco de Dados 36/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    MER estendido

    I Inclui todos os conceitos do MER basico.I Conceitos adicionais

    1. Subclasses/Superclasses;2. Especializacao/Generalizacao;3. Heranca de atributos;4. Agregacao

    Anderson Rocha Arquitetura de Banco de Dados 37/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Subclasses e superclasses

    I Uma entidade pode ter subgrupos adicionais de suasentidades.

    I Uma entidade que e membro de uma subclasse herda todos osatributos e relacionamentos da entidade superclasse.

    I Processos de Especializacao e Generalizacao.

    Anderson Rocha Arquitetura de Banco de Dados 38/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Restricao de nao-sobreposicao

    I Conhecida como Disjointness Constraint.I Especifica que as subclasses da especializacao sejam disjuntas

    I Uma entidade pode ser um membro de no maximo umasubclasse da especializacao;

    I Representacao: d no diagrama EER.

    I Se nao e disjunto, ha sobreposicaoI A mesma instancia pode ser membro de mais de uma

    subclasse da especializacao;I Representacao: o no diagrama EER.

    Anderson Rocha Arquitetura de Banco de Dados 39/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Restricao de Completude

    I Conhecida como Completeness Constraint.I Total

    I Especifica que toda instancia na superclasse deve ser membrode alguma subclasse;

    I Representacao: t no diagrama EER.

    I ParcialI Permite que uma entidade nao pertenca a nenhuma das

    subclasses;I Representacao: p no diagrama EER.

    Anderson Rocha Arquitetura de Banco de Dados 40/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Generalizacao

    Figura: Exemplo de generalizacao.

    Anderson Rocha Arquitetura de Banco de Dados 41/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Agregacao

    I Agrega duas ou mais entidades em conceito (entidade) demais alto nvel.

    Figura: Exemplo de agregacao.

    Anderson Rocha Arquitetura de Banco de Dados 42/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Anderson Rocha Arquitetura de Banco de Dados 43/44

  • Conteudo do cursoModelos conceituais

    MER basico (ER)MER estendido (EER)

    Duvidas?

    Figura: O pensador - Auguste Rodin.

    Anderson Rocha Arquitetura de Banco de Dados 44/44

    Contedo do cursoModelos conceituaisMER bsico (ER)MER estendido (EER)