Especialização / generalização. Especialização top-down a partir da super-classe identificam-se as subclasses

Documentos relacionados
Bases de Dados. Modelo Entidade-Associação. Exemplo do banco. branch. account depositor. loan. borrower customer. IST DEI Bases de Dados

Bases de Dados. Modelo Entidade-Associação. Exemplo do banco. branch. account depositor. loan. borrower customer. IST DEI Bases de Dados

Bases de Dados. Modelo Entidade-Associação. Processo de desenvolvimento. descrição do tema. características do domínio. requisitos funcionais.

Bases de Dados. Modelo Entidade-Associação. Exemplo do banco. IST DEI Bases de Dados

Processo de desenvolvimento. Compreender o domínio interagir com utilizadores e recolher requisitos Desenho conceptual

Bases de Dados. Conversão para Modelo Relacional. Modelo Entidade-Associação. IST DEI Bases de Dados

Bases de Dados. Conversão para Modelo Relacional. Diagrama E-A. IST DEI Bases de Dados

Conjuntos de entidades Conjuntos de relações Restrições de Mapeamento Chaves Diagrama ER Opções de desenho Extensões ao modelo ER Exemplo

Bases de Dados. Dependências funcionais. Menos tabelas com mais dados? loan_number amount L L

Modelo Entidade-Relacionamento

GEE051 - Banco de Dados Projeto de BD Projeto Conceitual. Ilmério Reis da Silva UFU/FACOM /2

Modelagem Entidade Relacionamento Estendida. Evandro E.S. Ruiz, Ph.D.

Álgebra Relacional operações adicionais. Encontrar tuplos que obedecem a uma dada relação questões do tipo: quem já leu todos os livros que eu já li?

Modelo Entidade-Relacionamento

Técnicas de Modelação de Dados

UML - Diagrama de Classes

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

Extensões do Modelo Entidade-Relacionamento

Sumário. Modelo Entidade-Associação : Avançado 1 Associações Ternárias. Exemplo. Associações Ternárias. Exemplo. André Restivo. September 21, 2010

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação

Sistemas de Banco de Dados Prof. Flávio de Oliveira Silva, M.Sc. O esquema de uma relação é escrito da seguinte forma:

Bases de Dados 2013/2014 Modelo Entidade-Associação (EA) Helena Galhardas 2013 IST. Bibliografia

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

Diagramas Entidade-Relação

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge

Banco de Dados I Generalização/Especialização

Diagramas Entidade-Associação

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Modelo Entidade-Associação (EA)

UML Unified Modeling Language

A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de Perryridge

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Projeto Banco de Dados

Mapeamento Modelo Entidade Relacionamento para Modelo Relacional. Evandro E.S Ruiz, Ph.D.

Unidade 4 Projeto de BD Relacional

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória.

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Estrutura das Bases de Dados Relacionais Redução a tabelas de um Esquema ER Álgebra Relacional Operações Estendidas da Álgebra Relacional Modificação

Técnicas de Modelação de Dados

Bases de Dados. Parte III. O Modelo Relacional

Ciclo de Desenvolvimento de BD

Correspondência das NOTAÇÕES Razão de Cardinalidade e Restrição de participação com Restrição Estrutural

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

Modelo Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

GES013 Sistema de Banco de Dados Modelo de Entidade-Relacionamento (ER)

Bases de Dados. Parte II. Os Modelos ER e EER

Aula 4 SBD Modelo Entidade Relacionamento Parte 2. Profa. Elaine Faria UFU

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Bases de Dados. Parte VIII: Normalização

Bases de Dados. Parte II Os Modelos ER e EER

A Linguagem de Modelagem Unificada

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Ordenação de tuplos order by

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

Apostila de Modelagem de Banco de Dados

IEC Banco de Dados I Aula 08 Modelo E. E. R.

Banco de Dados. André Luís Duarte Capítulo 2. exatasfepi.com.br

7.8 DIAGRAMA DE CLASSES

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

Bases de Dados. Normalização. Formas Normais. 1FN : atomicidade dos atributos. 2FN : proíbe dependência parcial de chaves

Bibliografia. Bases de Dados 2012/2013 Modelo Relacional. Helena Galhardas. Raghu Ramakrishnan, Database Management Systems, Cap. 3 10/2/ IST

Auto-Referenciamento e Herança

Bases de Dados. Parte VII Normalização

SIG SIG. GEO-OMT Exercícios. Alisson Fernando Coelho do Carmo

CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS

Entidade Associativa

Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos:

Unidade 2 Modelo Conceitual

Modelagem Conceitual parte I

Modelagem Conceitual parte I

04/11/2016 UML. Prof. Esp. Fabiano Taguchi DIAGRAMAS DE CLASSE

Bases de Dados. Remoções em árvores B + Remoção em árvores B +

Banco de Dados I Parte II a: Abordagem Entidade-Relacionamento

Introdução ao Modelo Relacional

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS MODELO ENTIDADE- RELACIONAMENTO

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência

1FN: os atributos de uma relação têm que ser atómicos. FNBC: para qualquer dependência funcional α β numa relação, ou α β é trivial ou α é super-chave

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Capítulo 2 Modelo Entidade- Relacionamento. Prof. Mario Dantas

IEC Banco de Dados I Aula 09 Modelo E. R. para relacional

MC536. Modelo Entidade- Relacionamento

INTRODUÇÃO AO MODELO RELACIONAL

Lista de Prioridades. Estrutura de Dados II Prof. Erinaldo

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

Modelo Relacional. Comparação entre Tipos de Diagramas. Modelos de registos. Exemplo de uma Relação

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

Bases de Dados. Apresentação da disciplina. Programa

Aula 7 SBD ER para Relacional. Profa. Elaine Faria UFU

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

Construindo modelos ER. Capítulo 3

Projeto Conceitual Usando o Modelo-Entidade Relacionamento

Sistemas de Informação e Bases de Dados 2012/2013. Modelo Relacional. Alberto Sardinha 2012 IST

MÓDULO 8 INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA POR OBJETOS O QUE É A PROGRAMAÇÃO ORIENTADA POR OBJETOS 10

Transcrição:

Bases de Dados Extensões ao Modelo E-A Especialização / generalização Especialização top-down a partir da super-classe identificam-se as subclasses Generalização bottom-up a partir das sub-classes identifica-se a super-classe 2 1

Especialização / generalização Representação com "is a" 3 Especialização / generalização Atributos comuns entre entidades p.ex. entre funcionário e cliente ambos tem nome e morada criar uma entidade pessoa funcionário e cliente têm atributos específicos adicionais Entidades específicas herdam das genéricas atributos participação em associações 4 2

Especialização / generalização 5 Especialização / generalização Especialização sucessiva funcionário e cliente subclasses de pessoa funcionário_permanente e funcionário_temporário subclasses de funcionário Herança múltipla quando são várias as entidades de onde herda 6 3

Condições de especialização Definida por condição normalmente dependente do valor de um atributo p.ex. tipo de conta ser conta à ordem ou conta a prazo Definida pelo utilizador utilizador coloca ou retira nas super- e sub-classes p.ex. o gestor determina quando é que o funcionário passa de funcionário_temporário a funcionário_permanente 7 Condições de especialização Disjunta quando só pode pertencer a uma das sub-classes p.ex. conta ser ou conta à ordem ou conta a prazo Sobreposta quando pode estar presente em várias sub-classes p.ex. o funcionário que é também cliente do banco 8 4

Condições de especialização Total quando tem que pertencer a uma das sub-classes p.ex. conta ser uma de conta à ordem ou conta a prazo Parcial quando pode pertencer apenas à super-classe p.ex. o funcionário que não pertence a equipa nenhuma 9 Condições de especialização Impacto das modificações à BD atenção às inserções e remoções p.ex. remover de super-classe p.ex. inserir em sub-classe efeitos dependem das condições de especialização 10 5

Agregação Gestão das tarefas dos funcionários nas agências gestor para cada triplo (funcionário, tarefa, agência) 11 Agregação Solução: agregação! uma associação passa a ser uma entidade 12 6

Bases de Dados Exemplo de Modelo E-A Descrição do domínio 1. O banco está organizado em agências. Cada agência está localizada numa cidade e é identificada por um nome único. 14 7

Descrição do domínio 2. Os clientes do banco são identificados pelo seu customer_id. O banco guarda o nome do cliente e a rua e cidade onde vive. Os clientes podem ter contas e podem contrair empréstimos. O cliente pode estar associado com um funcionário na qualidade de gestor de empréstimo ou gestor de conta. 15 Descrição do domínio 3. Os funcionários do banco estão identificados por um employee_id. A administração do banco guarda o nome e número de telefone de cada funcionário, os nomes dos dependentes desse funcionário, e o employee_id do gestor desse funcionário. O banco também regista a data de entrada do funcionário ao serviço bem como a respectiva duração. 16 8

Descrição do domínio 4. O banco oferece 2 tipos de contas à ordem e a prazo. As contas podem ter vários titulares e um cliente pode ter várias contas. Cada conta tem um número único e um saldo. Contas a prazo têm um taxa de juro. Contas à ordem têm um limite de débito. 17 Descrição do domínio 5. Um empréstimo é criado numa agência e pode ser contraído por um ou mais clientes. O empréstimo é identificado por um loan_number. O banco mantém um registo da quantia em dívida e dos pagamentos do empréstimo identificados por um número sequencial. A data e quantia de cada pagamento são registadas. 18 9

Descrição do domínio - associações borrower muitos clientes para muitos empréstimos loan_branch muitos empréstimos para uma agência loan_payment muitos pagamentos para um empréstimo depositor muitos clientes para muitas contas cust_banker muitos clientes para um funcionário works_for um gestor para muitos funcionários 19 Diagrama E-A (parte 1) 20 10

Diagrama E-A (parte 2) 21 Diagrama E-A (completo) 22 11

Bases de Dados Dilemas ao criar o Modelo E-A Dilema #1 atributos ou entidades? Dada a entidade employee(employee_id, employee_name,, telephone_number) será que telephone não podia ser uma entidade? telephone(telephone_number, location) implicaria também associação emp_telephone 24 12

Dilema #1 atributos ou entidades? 25 Dilema #1 atributos ou entidades? Resposta ao dilema depende do domínio e das operações pretendidas evitar demasiada complexidade Cuidados a ter não usar a chave primária de uma entidade como atributo de outra (errado em E-A) não incluir numa associação as chaves primárias das associações participantes (já lá estão implicitamente) 26 13

Dilema #2 entidades ou associações? Um empréstimo é uma entidade ou uma associação entre cliente e agência?... 27 Dilema #2 entidades ou associações? Problema: situação em que vários clientes contraem empréstimos conjuntamente implicaria replicação de dados Resposta ao dilema associações com atributos são fortes candidatas a entidades 28 14

Dilema #3 onde colocar os atributos? Posição dos atributos de uma associação podem ser colocados na entidade muitos de um para muitos muitos para um ou em qualquer das entidades numa associação um para um 29 Dilema #3 onde colocar os atributos? Seja depositor uma associação um-para-muitos 30 15

Dilema #3 onde colocar os atributos? Problemas e se uma conta for movimentada por vários clientes? (e quisermos guardar qual deles) Resposta ao dilema se houver possibilidade de a associação ser muitos-para-muitos, colocar os atributos na própria associação 31 Dilema #4 associações binárias ou n-árias? Conversão de associações n-árias para binárias criar n associações binárias auxiliares criar uma entidade auxiliar 32 16

Dilema #4 associações binárias ou n-árias? Em vez de (a i, b i, c i ) passamos a ter: (a i, e i ) em R A (b i, e i ) em R B (c i, e i ) em R C 33 Dilema #4 associações binárias ou n-árias? Problemas desenho fica mais complexo e menos claro se a associação for muitos-para-um, perde-se essa restrição no E-A p.ex. se for muitos-para-um de A e B para C Resposta ao dilema converter para binárias sempre que possível 34 17

Sumário da notação 35 18