Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Traçando modelos de dados PUC Minas – Unidade Barreiro Curso Sistemas de Informação Bancos de Dados – Unidade II Profº. Palhares – agosto de 2014 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 2 Bibliografia Básica: • NAVATHE, Shamkant B., ELSMARI, Ramez. Sistemas de Banco de dados. Cap. 7: Modelagem de dados usando o modelo Entidade-relacionamento (ER). 6ª edição. São Paulo: Addison Wesley, 2011. • Vide outras referências no plano de ensino e no planejamento da disciplina. PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 3 Recordando conceitos Esquema em Banco de Dados � é a descrição do banco de dados. Descreve a forma como o banco de dados está estruturado e as regras que deve seguir PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 4 Recordando conceitos Instância � “a coleção de informações armazenadas no banco de dados em um determinado instante” (KORTH) � é a fotografia do banco de dados � muitas vezes nos referimos a ocorrências como instância A arquitetura de três níveis e a A arquitetura de três níveis e a modelagem conceitualmodelagem conceitual PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 6 Modelo Conceitual � Constituem uma importante fase do projeto de banco de dados � É a representação dos requisitos funcionais existentes no mini mundo da aplicação ou do usuário, levantado durante a fase de análise � Inclui entidades, relacionamentos e restrições 2 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 7 Modelo Conceitual No Modelo Conceitual de Banco de Dados não existe nenhuma preocupação com implementação física PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 8 NAVATHE, pág. 43 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 9 Conceitos Entidade: � é tudo aquilo que a organização deseja guardar informação a respeito � Possui vida independente � Ex.: empregado, automóvel, cargo, departamento, etc.. PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 10 Conceitos Atributo: � identificam ou qualificam uma entidade Podem ser: � simples ou compostos; mono ou multivalorados; armazenados ou derivados; obrigatórios ou com possibilidade de serem nulos; complexos. PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 11 Conceitos Tipo de Entidade: � um conjunto de entidades que têm os mesmos atributos � entity type � entity set PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 12 Conceitos Atributo chave: � chave � chave candidata � chave primária � chaves alternativas 3 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 13 Conceitos Domínio: � especifica o tipo de dado � conjunto de valores aos quais estão associados cada atributo � discreto ou não PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 14 Símbolos ENTIDADE ENTIDADE FRACA PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 15 Símbolos ATRIBUTO ATRIBUTO CHAVE PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 16 Símbolos ATRIBUTO MULTIVALORADO ATRIBUTO COMPOSTO PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 17 Símbolos ATRIBUTO DERIVADO PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 18 Relacionamento É uma associação entre duas ou mais entidades com determinado significado 4 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 19 Relacionamento e1 e2 e3 e4 d1 d2 d3 r1 r2 r4 r3 Empregado X Departamento PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 20 Relacionamento � Cardinalidade � Grau � Totalidade � Relacionamentos recursivos � Atributos de relacionamento PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 21 Símbolos RELACIONAMENTO RELACIONAMENTO IDENTIFICADOR PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 22 Entidade Fraca � Entidade Fraca: É uma entidade, cuja existência depende da existência de outra entidade � Relacionamento identificador: associa uma entidade forte a uma entidade fraca. � Uma entidade fraca tem sempre uma participação total no relacionamento PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 23 Símbolos 1 N TOTALIDADE CARDINALIDADE PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 24 5 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 25 Outros Conceitos � Especialização � Generalização � Especialização (disjunto / sobreposto) PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 26 NAVATHE, pág. 77 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 27 Exemplos � exemplificar com conjuntos generalização/especialização PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 28 Conceitos Especialização: � disjunto total (disjoint, total) � disjunto parcial (disjoint, partial) � Sobreposto total (overlapping, total) � Sobreposto parcial (overlapping, partial) PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 29 NAVATHE, pág. 84 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 30 Semântica � alguns problemas: Empregado - Trabalha - Departamento Empregado - Gerencia - Departamento (exemplificar com traçado no quadro) 6 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 31 Exercícios: modelo conceitual � Vide exercícios propostos na pasta Material Didático/Trabalhos, do SGA PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 32 Projeto Lógico � Acompanhe e anote as aulas expositivas referentes a este tópico PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 33 Exercícios: modelo lógico � Os exercícios para modelos no projeto lógico são os mesmos propostos para o modelo conceitual e se encontram na pasta Material Didático/Trabalhos, do SGA PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 34 Mapeamento de Diagrama de Classes para o DER � O processo é semelhante ao mapeamento físico de bancos de dados � MER apresenta dados e relacionamentos entre eles � Modelo de classes apresenta objetos (dados e comportamento) PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 35 Mapeamento de Diagrama de Classes para o DER � Via de regra, classes são mapeadas para Entidades � Muito freqüentemente não existe correspondência unívoca entre classes e Entidades � Pode ser que várias classes sejam mapeadas em uma única Entidade � Ou uma classe seja mapeada em várias Entidades PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 36 Mapeamento de Diagrama de Classes para o DER � Um atributo será mapeado para um ou mais atributos � Atributos derivados não são mapeados DER � Atributos multivalorados serão mapeados para uma nova Entidade 7 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 37 Mapeamento de Diagrama de Classes para o DER Cliente CPF Nome: string Telefone: string Logradouro: string Nascimento: data Idade: integer CEP: string Número: string Dígito: string PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 38 Mapeamentode Diagrama de Classes para o DER Cliente {id, cpf, nome, telefone, logradouro, nascimento, idCEP} CEP {idCEP, número, sufixo} Cliente {id, cpf, nome, telefone, logradouro, nascimento, cep} PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 39 Mapeamento de Diagrama de Classes para o DER � No exemplo anterior, poderíamos ter vários atributos em uma só coluna (cpf e dv) � Um atributo em várias colunas (endereço: comercial e particular) � Um atributo em uma nova Entidade (telefone) PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 40 Mapeamento de Diagrama de Classes para o DER � Associações � Utiliza conceito de chave-estrangeira trabalha Departamento Empregado Siga: string Nome: string Matrícula: string CPF: string Nome: string Endereço: string CEP: string Projeto Nome: string Verba: decimal 0..1 1 gerenciado 1 * * * PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 41 Mapeamento de Diagrama de Classes para o DER � Considere duas classes C1 e C2, e que essas classes foram mapeadas em duas Entidades E1 e E2 � Associação um-para-um � Quando há uma associação entre C1 e C2 de conectividade um para um, deve se adicionar uma chave-estrangeira em uma das relações pra referenciar a chave- primária da outra Entidade PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 42 Mapeamento de Diagrama de Classes para o DER � Como escolher onde ficar a chave estrangeira? � A associação é obrigatória em ambos os extremos (tanto faz) � A associação é opcional em em ambos os extremos (tanto faz) � A associação é opcional em apenas um dos extremos (adiciona-se na opcional) � Muitas classes com associação um-para-um podem ser mapeadas em uma única Entidade 8 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 43 Mapeamento de Diagrama de Classes para o DER � Associações de conectividade um para muitos � Adiciona-se a chave estrangeira na Entidade que representa a classe com muitas ocorrências PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 44 Mapeamento de Diagrama de Classes para o DER � Associações de conectividade muitos para muitos � Um relacionamento deve ser criado � Considera-se duas associações um para muitos � A chave da Entidade de associação pode ser uma chave composta ou uma coluna de implementação PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 45 Mapeamento de Diagrama de Classes para o DER � Agregações � Uma agregação é uma forma especial de associação. Portanto os mesmos procedimento de associações serão empregados � Diferenças apenas de como o SGBDR deverá agir: se o objeto todo for removido, os objetos partes também o serão? (utilizar gatilhos) � Se o objeto todo for restaurado, restaura-se também os objetos partes (gatilhos) PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 46 Mapeamento de Diagrama de Classes para o DER � Associações reflexivas 1 Empregado Matrícula: string CPF: string Nome: string Endereço: string CEP: string supervisor Empregado {matricula, nome, Endereço, Cep, idSupervisor} 1 1 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 47 Mapeamento de Diagrama de Classes para o DER � Associações ternárias (ou n-nárias) � Age-se conforme visto nas binárias: um Relacionamento para representar a associação é criado; chaves estrangeiras de todas elas são colocadas neste Relacionamento 1 1 1 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 48 Mapeamento de Diagrama de Classes para o DER � Classes Associativas 1 1 1 0..11 Empregado Projeto Matrícula: string CPF: string Nome: string Endereço: string CEP: string Nome: string Verba: decimal Ferramenta Nome: string Descrição: decimal* * trabalho utilização Cargahorária remuneração datauso 9 PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 49 Mapeamento de Diagrama de Classes para o DER � Generalização C CCC PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 50 Mapeamento de objetos para o modelo relacional � Generalização � Uma Entidade para cada classe da hierarquia � Uma Entidade para toda a hierarquia � Uma Entidade para cada classe concreta da hierarquia � (esta parte será vista a pós o estudo do modelo Relacional) PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 51 Exercícios mapeamento de diagrama de classes para o ER � Os exercícios para esta parte serão os mesmos propostos para o modelo conceitual/lógico e se encontram na pasta Material Didático/Trabalhos, do SGA PUCMinas - Curso Sistemas de Informação - Bancos de Dados - Profº. Palhares 52 Fim da Unidade II
Compartilhar