MAPEAMENTO OBJETO RELACIONAL. Professora Lucélia Oliveira

Documentos relacionados
BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING -PROJETO LÓGICO RELACIONAL. Prof. Angelo Augusto Frozza, M.Sc.

Revisando Banco de Dados. Modelo Relacional

Prof.: Clayton Maciel Costa

Modelo Relacional. Aula 02

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

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

Bancos de Dados. 7. Mapeamento ER/ERE para Relacional

Tópico: Mapeamento Objeto Relacional

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

Migração Modelo ER-Relacional

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

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

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Fundamentos de Banco de Dados e Modelagem de Dados

Professor Eros Moura, DSc

Banco de Dados I. Aula 10 - Prof. Bruno Moreno 23/09/2011

UML. Diagrama de Classe

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROJETO DE BANCO DE DADOS RELACIONAL. Profº Erinaldo Sanches Nascimento

P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

Orientação a Objetos (OO)

Anexo II Mapeamento entre modelos

UML Unified Modeling Language

Projeto de BD Relacional

Projeto de BD Relacional

Revisão de Bancos de Dados

Projeto de BD Relacional

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

Apostila de Modelagem de Banco de Dados

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

Banco de Dados Mapeamento Entidade Relacionamento para Relacional

Projeto Lógico de BDOO

Modelagem Conceitual parte I

Modelagem Conceitual parte I

Modelagem de Dados. Modelagem Conceitual

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

Diagramas de actividades

Sistemas de Banco de Dados

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

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

Diagrama de Classes (Notação) - Aula 11 (parte 2)

Normalização de dados

MODELO DE BANCO DE DADOS RELACIONAL

Modelagem de Dados (Estrutura Relacional)

Modelagem de Processos

Projeto de Banco de Dados

Projeto de Banco de Dados

Técnicas de Modelação de Dados

Análise e Projeto de Software Parte I. Marcos Dósea

Modelagem Orientada a Objeto

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

Banco de Dados. Aula 4 - Prof. Bruno Moreno 02/09/2011

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Requisitos de sistemas

Introdução. O que é um Banco de Dados (BD)?

Alguns Exercícios Resolvidos

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Levantamento, Análise e Gestão Requisitos. Aula 03

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

2010 Diagrama Entidade - Associação

PCS3413 Engenharia de Software e Banco de Dados

Computação Instrumental

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

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

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

Sumário. BD Orientado a Objetos

Aula 01 Conceito de Banco de Dados e SGBD

Linguagem de Programação. Diagrama de classes

Banco de Dados I Transformação entre Modelos

António Rocha Nuno Melo e Castro

Modelo Entidade-Relacionamento

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

Introdução e projeto de Bancos de dados Completo

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Unidade 4 Projeto de BD Relacional

Modelo Entidade-Relacionamento (E-R)

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Programação Orientada a Objetos

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Extensões do Modelo Entidade-Relacionamento

MODELAGEM DE DADOS UNIDADE 4 Modelo Entidade-Relacionamento. Luiz Leão

Capítulo 2. Orientação a Objetos

Sistemas de Arquivos Convencionais

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão

Fundamentos de Banco de Dados Aula II

PROJETO: CONFERÊNCIA ACADÊMICA. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

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

UML. Diagrama de Classes

Banco de Dados I 3 Modelagem de Dados Lógico e Físico

Análise das Necessidades

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich

Curso: Banco de Dados I. Conceitos Iniciais

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

Análise e Projeto de Sistemas

Banco de Dados Diagrama Entidade Relacionamento DER

Transcrição:

MAPEAMENTO OBJETO RELACIONAL Professora Lucélia Oliveira

OS PROBLEMAS A Tecnologia orientada a objetos se consolidou como forma usual para desenvolver sistemas de software. A tecnologia de banco de dados relacionais é uma das tecnologias que tiveram maior êxito na área de computação.

DIFERENÇAS Os princípios básicos do paradigma da orientação a objetos e do modelo relacional são muito diferentes: No modelo de objetos, os elementos (objetos) correspondem a abstrações que incluem dados e comportamentos. No modelo relacional, os elementos correspondem apenas a dados.

CONCEITOS MODELO RELACIONAL Relação: pode-se pensar em uma relação como uma tabela composta de linhas e colunas. Chave primária: é uma coluna ou conjunto de colunas cujos valores podem ser utilizados para identificar unicamente uma linha de uma relação Chave estrangeira: utilizadas para ligar duas relações. Deve existir, em uma das duas relações, uma coluna cujos valores fazem referência a valores de uma coluna da outra relação.

DIFERENÇAS O Modelo Relacional e o Diagrama de Classes não são equivalentes, as semelhanças são apenas semânticas: O Modelo Relacional é um modelo de dados O Modelo de Classes modela objetos que encapsulam dados e comportamentos

MAPEAMENTO DE CLASSES E ATRIBUTOS Classes são mapeadas para relações. Pode ser que várias classes sejam mapeadas para uma única relação ou que uma única classe seja mapeada para várias relações. Um atributo é mapeado para uma ou mais colunas. Nem todos os atributos são persistentes. Exemplo: Pode ser que uma classe Pedido tenha um atributo derivado, total, utilizado para guardar um valor a ser pago por um pedido, mas que este atributo não seja armazenado no banco de dados.

ASSOCIAÇÕES Associações de Conectividade um para um 1. A associação é obrigatória para ambos os extremos 2. A associação é opcional para ambos os extremos 3. A associação é obrigatória em um extremo e opcional no outro extremo Nos casos 1 e 2 a escolha da chave estrangeira é aleatória. No caso 3, deve-se optar pela relação que corresponde à classe de participação obrigatória. Empregado(idEmpregado, matricula, CPF, nome, endereco, CEP ) Gerencia Departamento(idDepartamento, sigla, nome, idempregadogerente)

ASSOCIAÇÕES Associações de Conectividade um para muitos Neste caso deve adicionar uma chave estrangeira na relação de cardinalidade muitos referindo-se à chave primária da tabela de cardinalidade 1. Empregado(idEmpregado, matricula, CPF, nome, endereco, CEP, iddepartamento) Trabalha Departamento(idDepartamento, sigla, nome,idempregadogerente)

ASSOCIAÇÕES Associações Muitos-para-Muitos Neste caso uma nova relação deve ser criada. Há duas alternativas para se definir a chave primária da relação crida. Uma chave primária composta pelas chaves primárias das duas relações participantes do relacionamento. Criar uma coluna de implementação que sirva como chave primária simples da relação da associação.

AGREGAÇÕES E COMPOSIÇÕES Uma agregação é um tipo especial de associação. O mesmo procedimento para realizar o mapeamento de uma associação poderá ser usado para mapear uma agregação (ou composição).

AGREGAÇÕES E COMPOSIÇÕES A diferença semântica entre uma associação e uma agregação influi na forma como o SGBDR deve agir quando um registro da relação correspondente ao todo deve ser excluído ou atualizado. Isso pode ser implementado, por exemplo, utilizando-se recursos de um SGBDR, como triggers e stored procedures. Exemplo: não faz sentido continuar mantendo os itens do pedido, de um pedido que já foi excluído.

CLASSES ASSOCIATIVAS Para cada classe associativa é criada uma nova relação associativa.

GENERALIZAÇÃO Existem três alternativas para se mapear relacionamentos de generalização: 1. Uma relação para cada classe da hierarquia 2. Uma relação para toda a hierarquia 3. Uma relação para cada classe concreta da hierarquia

UMA RELAÇÃO PARA CADA CLASSE DA HIERARQUIA Neste caso, uma relação é criada para cada uma das classes Ponto forte Esta é a alternativa que melhor reflete o modelo orientado a objetos. Ponto Fraco Apresenta desvantagens com relação ao desempenho da manipulação das relações.

DESVANTAGENS Sempre que houver a inserção ou remoção de um objeto, seja ele de que subclasse for, deverá haver inserção ou remoção em duas tabelas, porque as colunas que representam objetos dessa classe estão divididos em duas relações. Algumas consultas precisam processar dados em que as colunas necessárias não estão na mesma relação. Neste caso uma operação de junção (join bastante cara do ponto de vista de desempenho) deverá ser usada.

UMA RELAÇÃO PARA TODA A HIERARQUIA Neste caso, cria-se uma única relação com colunas para representar os atributos da superclasse e também os atributos de todas as subclasses. Deve-se criar uma nova coluna para identificar a que classe da hierarquia pertence o objeto. Pontos fortes É bastante simples e facilitam situações em que objetos mudam de classe. Pontos Fracos Desperdício de espaço no armazenamento.

DESVANTAGENS Um novo atributo deve ser criado para a classe: toda a estrutura hierárquica sofre a modificação (mesmo sem necessidade) Desperdício de espaço de armazenamento: principalmente quando a classe possui várias irmãs. Os objetos pertencem a uma, e somente uma classe da hierarquia, mas, os atributos são comuns a todas as classes.

UMA RELAÇÃO PARA CADA CLASSE CONCRETA DA HIERARQUIA Neste caso, para cada subclasse é criada uma relação. Os atributos específicos de cada subclasse correspondem a coluna da relação correspondente e também possui colunas para cada atributo herdado da superclasse. Ponto forte Agrupa os objetos de uma classe em uma única relação. Ponto Fraco Ao modificar a superclasse, todas as relações sofrem modificações.

DESVANTAGEM Quando uma superclasse é modificada, cada uma das relações correspondentes às suas subclasses deve ser modificada.

EXEMPLO 1ª. Alternativa Contribuinte(id, endereco) PessoaFisica(id, nome,datanascimento, cpf, idcontribuinte) PessoaJuridica(id, cnpj, razaosocial, idcontribuinte) 2ª. Alternativa Pessoa(id, nome,datanascimento, cpf, cnpj, razaosocial,tipo) 3ª. Alternativa PessoaFisica(id, nome,datanascimento, cpf, endereco) PessoaJuridica(id, cnpj, razaosocial, endereco)

CONCLUSÃO Nenhuma das alternativas de mapeamento de generalização é a melhor. Cada uma delas possui vantagens e desvantagens, e a escolha da alternativa a ser utilizada depende das características do sistema de software que está sendo desenvolvido.