Baixe o app para aproveitar ainda mais
Prévia do material em texto
Tópicos: a) MER - Principais Elementos b) Exemplo SISTEMA: "ACOMPANHAMENTO DE SEMINÁRIOS" c) Entidades e atributos d) Extensões de atributos e) Relacionamentos binários f) Estudo de caso ZipCar g) Exercícios propostos Modelo Conceitual E-R - parte 1 Atributos são as características relevantes das entidades que fornecem detalhes descritivos sobre as entidades. 2UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira Principais elementos Modelo Entidades Relacionamentos O caminho mais usual para produzir “databases” é a partir do diagrama ER (chamado de MER – modelo entidades-relacionamentos), o qual é classificado como modelo semântico. O modelo ER que usaremos foi publicado por Peter Chen em 1976 que apresentou a ideia de diagramas ER e a maioria de publicações sobre o tema são variantes do modelo original de Chen. Com o modelo ER tipo Chen o projetista não precisa considerar como o “database” será implementado. ENTIDADES ���� representam abstratamente os elementos (fatos, pessoas, organismos sociais, etc.) existentes no mundo organizacional (negócio). As entidades modeladas devem despertar algum interesse em mantermos dados, ou informações, sobre elas. ATRIBUTOS ���� são os dados ou valores que descrevem a entidade. RELACIONAMENTOS ���� representam as associações entre os elementos do conjunto de entidades. Nota: Procuramos seguir a notação original de CHEN com algumas pequenas alterações para simplificar ou para dar maior representação esquemática. 3UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira Modelo Entidades Relacionamentos Empregado matricula nome endereço sexo data admissão Entidades Relacionamentos Exemplos de conjuntos de entidades: GERENTE ���� Maria; VEICULO ���� GM Corsa; DEPARTAMENTO ���� Comercial; EMPREGADO ���� Pedro; As entidades de mesma natureza são colecionadas em um mesmo conjunto de entidades. Conjunto de entidades atributos Exemplo: EMPREGADO trabalha em PROJETO • Os substantivos são as entidades e os verbos são os relacionamentos. A interpretação do diagrama: Existem pares ordenados (e, p) de elementos que estão estruturalmente associados. ���� As associações entre entidades podem ser identificadas através dos “eventos” que as entidades participam. Empregado Projeto trabalha em relacionamento Principais elementos 4UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira TIPOS DE EVENTOS: Evento Externo: Ocorre no ambiente. É originado pelas entidades do ambiente do sistema. Forma geral: Entidade externa + ação + objeto Exemplos: Cliente solicita material. Setor administrativo admite um empregado. Evento Temporal: Ocorre em intervalo de tempo relativamente fixo, depende normalmente de alguma informação obtida na memória do sistema. Forma geral: Conotação temporal + atividade + objeto Exemplos: Mensalmente emitir contracheque de funcionários. Diariamente preparar lista de entrega de assinaturas. É hora de preparar pagamento de material comprado. Fundamentos da Análise Essencial Evento: É qualquer mudança de propriedades que afeta o sistema. Eventos 5UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira Exemplo Exemplo de Modelo Conceitual E-R SISTEMA: "ACOMPANHAMENTO DE SEMINÁRIOS" As pessoas se inscrevem em seminários via postal ou telefônica. Cada inscrição dá origem a uma fatura e, após o seu pagamento, a uma carta de confirmação que são enviadas para o inscrito. Os pagamentos chegam por depósito bancário e existe um mecanismo para as pessoas cancelarem suas inscrições, com até cinco dias de antecedência do seminário, se assim o desejarem. LISTA DE EVENTOS 1) Cliente faz inscrição. 2) Diariamente gerar fatura de inscrição . 3) Seminário recebe inscrição. 4) Cliente cancela inscrição. 5) Cliente paga fatura. 6) Administração planeja os seminários do período. Observação: A “carta de confirmação” não foi considerada como um dos conjuntos de entidade devido ao fato que ela é única. Da mesma forma não foi considerado “administração”. 6UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira Modelo Entidades Relacionamentos faz Cliente Seminário cancela Inscrição paga recebe 1 n n n 1 n 1 1 cardinalidade relacionamento Relacionamento total: (bolinha) ex: não há fatura sem a inscrição ou sem o cliente, mas pode haver cliente sem fatura. Versão preliminar Fatura n gera 1 Cardinalidade modela a “classe do relacionamento”. “1 : n” significa (um para muitos) que um cliente faz pagamentos de um número qualquer de faturas. Exemplo O “tipo do relacionamento” (total ou parcial) indica a exigência da participação de uma entidade no relacionamento. conjunto de entidades MER do sistema: "ACOMPANHAMENTO DE SEMINÁRIOS" 7UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira 1. Usaremos a convenção de nomes de conjuntos de entidades no singular. 2. O conjunto de entidades representa todos os elementos da coleção. 3. Os atributos são os nomes dos itens de dados que caracterizam a entidade. 4. A concatenação dos atributos descreve a entidade. 5. As instâncias de uma mesma entidade possuem os mesmos atributos. 6. Um atributo identificador de uma instância é o atributo determinante. Atributo determinante ���� Chave primária a) Não há duas instâncias iguais no conjunto de entidades. b) Chaves candidatas são os atributos capazes de identificar uma instância. c) Um atributo determinante não se repete e não pode conter o valor “vazio”. d) A chave primária é sinalizada pelo nome do atributo sublinhado, ex.: idCliente. e) A chave primária pode ser definida pelo grupamento de mais de um atributo. Exemplos: conjunto de entidades com atributos Entidades e atributos Modelo Entidades Relacionamentos Cliente idCliente nome endereço sexo nascimento telefone * Seminário idSeminario nome dataInicio dataFim local limite Inscrição idInscrição data idSeminario 8UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira Extensões ao modelo original de Chen a) Atributos multivalorados: • São atributos que podem ter vários valores. Exemplos: assuntos de um livro, telefone de um cliente, etc. Assinalado por um “*” asterisco junto ao nome do atributo. b) Atributos compostos: • São atributos compostos por outros atributos. Exemplo: atributos compostos ���� endereço e local Extensões de atributos Modelo Entidades Relacionamentos Cliente idCliente nome endereço sexo nascimento telefones * Representação em um dicionário de dados (glossário) cliente = { idCliente + nome + endereço + sexo + nascimento + (telefone) } endereço = local + CEP + cidade + estado local = rua + numero + complemento local CEP cidade estado rua numero complemento concatenação repetição 9UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira c) Atributo derivado: • É um atributo que foi originado de outros atributos. Exemplos: • numero de inscritos em um seminário ���� pode ser obtido pela soma das inscrições individuais; • idade do cliente ���� pode ser obtida pela data de nascimento; • quantidade de assentos vagos em um avião; • valor total de uma fatura. • Atributos derivados não precisam ser armazenados. ENTIDADE FRACA ou ENTIDADE DEPENDENTE: • É uma entidade que possui dependência existencial de outra entidade. • Cada instância da entidade fraca existe somente porque está associada a outra instância de uma entidade diferente. Exemplo: • itens de uma fatura; • dependentes de um empregado; • inscrições de clientes em seminários. OBS: não deve ser mantida na base os dados as instâncias de uma entidade fraca(dependente) se não mais existir a instância da entidade que ela estaria associada. Extensões de atributos Modelo Entidades Relacionamentos 10UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira Fonte: http://www.zipcar.com/how Estudo de caso ZipCar Modelo Entidades Relacionamentos 1) Candidato pede para ser associado. 2) Associado reserva veículo. 3) Associado libera veículo. 4) Associado entrega veículo. 5) Posto abastece veículo. 6) Mensalmente cobrar fatura de associado. 7) Associado paga fatura. 8) Associado escolhe plano. 9) Associado nomeia dependente. LISTA DE EVENTOS Car Sharing, an alternative to car rental and car ownership – Zipcar 11UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira Todos os planos dos associados da ZipCar cobram taxa de filiação de $30 Modelo Entidades Relacionamentos (valores por hora) (valores por hora) • O plano OC é cobrado pelas horas utilizadas no mês. • Planos EVPs são cobrados pelo valor que superar a mensalidade. As horas que não ultrapassarem o limite podem ser repassadas segundo a política de “rollover”. Estudo de caso ZipCar 12UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira RELACIONAMENTOS: Representam as associações entre os elementos do conjunto entidades. 1. Um relacionamento binário é um par ordenado (e1, e2) onde e1 e e2 são elementos dos conjuntos de entidades E1 e E2, respectivamente. � O diagrama representa que associados se ligam a planos através do conjunto de relacionamentos “escolhas”. � Os símbolos “1” e “N” próximo as entidades determinam a classe do relacionamento. A figura modela que “escolhas” é um relacionamento de classe “N : 1”, ou “muitos para um”. Representa que cada associado escolhe um plano e que cada plano pode ter sido escolhido por um número qualquer de associados. � Se um relacionamento é N:1 em um sentido, ele é 1:N no outro sentido. � Definição matemática da classe de relacionamento binário “N : 1” Relacionamentos Modelo Entidades Relacionamentos Associado Plano escolhe N 1 13UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua OliveiraUERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira 2. Outras classes de relacionamentos: � relacionamento de classe “1 : 1”, ou “um para um” Modela que “pedidos” é um relacionamento de classe “1 : 1”, ou “um para um”. Representa que cada candidato solicita no máximo uma associação e que cada associado foi aceito por um pedido de candidato. � relacionamento de classe “N : M”, ou “muitos para muitos” Modela que “reservas” é um relacionamento de classe “N : M”, ou “muitos para muitos”. Representa que nesta classe de relacionamento não há nenhuma restrição na formação de pares. Um associado pode reservar vários veículos e que um veículo pode ter sido reservado por vários associados. 3. O grau do relacionamento é o número de entidades envolvidas. Relacionamentos binários envolvem duas entidades e relacionamentos ternários envolvem três entidades. Relacionamentos Modelo Entidades Relacionamentos Associado Veículo reserva N M Candidato Associado pede para ser 1 1 14UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira Associado Veículo reserva N M Relacionamentos Modelo Entidades Relacionamentos 4. Relacionamento com limitação por uma constante: “c : N” entre E1 e E2 • Significa que cada elemento de E1 pode estar associado a um número qualquer de elementos de E2, mas cada elemento de E2 pode no máximo estar associado a “c” elementos de E1. - O associado pode nomear até 3 (três) dependentes e o dependente foi nomeado exatamente por 1 (um) associado. 5. Atributos de relacionamentos: Caso em que o atributo depende tanto da entidade E1 como da E2. • Exemplos: - preço de um material praticado pelo fornecedor em um fornecimento - nota de um aluno em uma disciplina cursada. - A reserva de um veiculo feita por um associado. data dataReserva inicioPeriodo fimPeriodo Dependente Associado nomeia 3 1 15UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira Relacionamentos Modelo Entidades Relacionamentos 6. Auto relacionamento: Um relacionamento que associa instâncias de um conjunto de entidades a instâncias desse mesmo conjunto é chamado de um auto relacionamento. • Exemplos: - Funcionário gerencia funcionários. (papéis: gerente e gerenciado) - Material é composto por material. (papéis: peça e componente) - Fatura cobra fatura. (fatura atual e fatura anterior mapeiam os papéis desempenhados no relacionamento) 7. Relacionamentos parciais e totais: � É uma restrição de integridade muito frequente em situações reais. � Representa através de uma “bolinha” que a instância da entidade é mandatória para aquele relacionamento. � No exemplo anterior esta modelado que pode não existir fatura anterior (quando não houver débitos pendentes), mas a fatura atual há. Formalmente: Seja um relacionamento R entre E1 e E2, Faturacobra 1 1 Fat Atual Fat Anterior 16UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira Estudo de caso ZipCar Modelo Entidades Relacionamentos Candidato 1 pede para ser 1 1 Associado 3 Veículo libera N M 2 reserva N M 4 entregaN M Fatura 8Plano escolhe N 1 61 62 considera computa ZIP 1 N N 1 7 1 N paga Posto M 5 N abastece Dependente 9 nomeia 3 1 cobra 1 1 FatAtual FatAnterior MER do sistema: “Zip Car" 17UERJ – CTC/IME – Banco de Dados 1 - 12-2 © Prof. A Padua Oliveira BIBLIOGRAFIA Chen, Peter; The Entity-Relationship Model - Toward a Unified View of Data, ACM Transactions on Database Systems 1 (1): 9–36. (March 1976). C. J. Date, “Introdução a Sistemas de Bancos de Dados” – 8ª Edição”, Editora Campus, 2003. Setzer, Valdemar; Banco de Dados – conceitos, modelos, gerenciadores, projeto lógico e projeto físico; Editora Edgard Blücher Ltda., SP, 1986. Silberschatz, Avi; Korth, H; Sudarshan, S; Database System Concepts, 6th Edition, McGraw-Hill, 2005.
Compartilhar