Conversão do modelo UML para o modelo relacional



Documentos relacionados
Conversão de modelo E/A e UML para o modelo relacional

SQL: Definição de tabelas, Modificações à Base de Dados

Álgebra relacional. Fernando Lobo. Conjunto de operadores que permitem manipular relações: produtos cartesianos e joins.

Dependências Funcionais

Álgebra relacional. Fernando Lobo. Base de Dados, aula 12

SQL: Interrogações simples

Fernando Lobo. Base de Dados, Universidade do Algarve 1/19. Professores da disciplina. Fernando Lobo (T e P) Alvaro Barradas (P) 2/19

Modelação Conceptual de Base de Dados

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

Forma Normal de Boyce Codd 3 a Forma Normal

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Profa. Daniela Barreiro Claro

Capítulo 8. Introdução UML

Programação SQL. Introdução

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Databases. Ferramentas gráficas na modelação lógica das BD. O Modelo Entidade-Relação (Associação) O Modelo de Classes no UML

Computadores e Sistemas de Informação. Bases de Dados Relacionais (linguagem SQL)

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Programação Orientada a Objetos (DPADF 0063)

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

UML Diagramas de Classes

Modelo Relacional. 2. Modelo Relacional (Lógico)

Modelo Relacional. Aécio Costa

Funcionários. Funcionários. PrimeiroNome NomesDoMeio ÚltimoNome. CPF Nome Salário. CPF PrimeiroNome NomesDoMeio ÚltimoNome Salário

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Banco de Dados Capítulo 2: Modelo Relacional. Bach. em Ciência da Computação UFPB/CCT Cláudio Baptista, PhD

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language)

Dependências Multi-Valor, 4 a Forma Normal

Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Introdução ao SQL. Aécio Costa

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

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

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

PROGRAMAÇÃO ORIENTADA A OBJETOS

Sessões. Cookies HTTP Sessões Atributos de sessão

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Técnicas e Linguagens para Banco de Dados I

INF Fundamentos de Banco de Dados Exercícios sobre normalização

Modelo de Dados. Modelos Conceituais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Figura 1. Figura 2. Prova Escrita de Base de Dados 5 Novembro V2 Número do Aluno: Nome do Aluno: 1º Teste (90 Minutos)

BANCO DE DADOS I AULA 6. Wlllamys Araújo willamysaraujo7@gmail.com

JSP - ORIENTADO A OBJETOS

Adicionando Caixas de Verificação no seu Programa Java

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

POO Programação Orientada a Objetos. Classes em Java

Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. ! Generalização/Especialização

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Orientação a Objetos

Ciclo de vida de um banco de dados relacional

Implementação de Classe e Auto-Relacionamento em Java

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU

3.1 Definições Uma classe é a descrição de um tipo de objeto.

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

MC536 Bancos de Dados: Teoria e Prática

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

WEBSERVICE CNA Cadastro Nacional Adoção

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Índice. Introdução Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais... 35

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Banco de Dados. Aula 5 - Prof. Bruno Moreno 06/09/2011

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

Capítulo 3: Modelo Relacional!

11/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Classes Abstratas e Interfaces

UML & Padrões Aula 2 1

Modelo Relacional. Modelo Relacional. Conceitos Gerais: Relação

Modelo Entidade-Relacionamento

Generalização e Especialização Banco de Dados

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

1. Introdução 2. Conceitos 3. Gerenciador de Banco de Dados (SGBD) 3.1. Arquitetura ANSI/SPARC Regras básicas 3.3.

BANCO DE DADOS MODELAGEM ER GENERALIZAÇÃO / ESPECIALIZAÇÃO. Prof.: Jean Carlo Mendes carlomendes@yahoo.com.br

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Engenharia de Software. Enunciado da Primeira Parte do Projecto

Banco de Dados. Sérgio Luiz Ruivace Cerqueira

Bases de Dados. Parte III: O Modelo Relacional

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas

Programação por Objectos. Java

Roteiro. Modelagem de Dados: Usando o Modelo Entidade-Relacionamento. BCC321 - Banco de Dados I. Processo de Projeto de Banco de Dados.

CICLO DE VIDA DE UM BD

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

SQL. Autor: Renata Viegas

ENGENHARIA DA COMPUTAÇÃO CONTEÚDO 4 GENERALIZAÇÃO E ENTIDADE ASSOCIATIVA. Prof. Msc. Ricardo Antonello BANCO DE DADOS I

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Transcrição:

Conversão de modelo UML para o modelo relacional Fernando Lobo Base de Dados, Universidade do Algarve 1 / 19 Conversão do modelo UML para o modelo relacional Diagrama de classe Relação atributos da classe atributos da relação. chave da classe chave da relação. Exemplo: s : string : int : int : boolean s( nome, ano, duração, ) 2 / 19

Conversão do modelo UML para o modelo relacional Associação entre classes Relação os atributos são a união das chaves das classes envolvidas. Nota: deve-se renomear o nome dos atributos para não haver conflito de nomes. Exemplo: Actor participa sexo data_nascimento Participa( nome, ano, nomeactor ) 3 / 19 Associação entre classes relação. Qual a chave? 3 casos: muitos-muitos: a chave é a união das chaves dos conjuntos entidade envolvidos. muitos-um: a chave é a chave correspondente ao muitos. um-um: escolhe-se uma das duas. 4 / 19

Exemplo: Participa (muitos-muitos) Actor participa sexo data_nascimento União da chave de Actores (nomeactor) com a chave de s (nome,ano). Participa( nome, ano, nomeactor ) 5 / 19 Outro exemplo: Produz (muitos-um) produz 0..1 Estudio Escolhe-se apenas a chave de s (nome,ano). Produz( nomeestúdio, nome, ano ) 6 / 19

Simplificação Relações oriundas de associações muitos-um podem ser eliminadas. Mas temos que colocar a chave da classe do lado um como atributo da relação do lado muitos. No exemplo anterior, a relação Produz pode ser eliminada se colocarmos a chave de Estúdios (nomeestudio) como atributo da relação s. Porquê? s( nome, ano, duração,, nomeestúdio ) 7 / 19 Exemplo completo Actor participa sexo data_nascimento produz 0..1 Estudio 8 / 19

Vai dar origem a 4 relações s( nome, ano, duração,, nomeestúdio ) Actores( nome,, sexo, datanascimento ) Estúdios( nome, ) Participa( nomeactor, nome, ano ) 9 / 19 Uma possível instância da BD s: nome ano duração nomeestúdio Star Wars 1977 124 true Fox Indiana Jones 1983 130 true Universal Actores: nome sexo datanascimento Harrison Ford 789 Palm Dr, Hollywood m 1942-07-13 Carrie Fisher 123 Maple St, Hollywood f 1956-10-21 Emilio Estevez 32 Elm St, Beverly Hills m 1962-05-12 10 / 19

Uma possível instância da BD (cont.) Estúdios: nome Fox Disney Universal 127 Springfield Av, Hollywood 14 Lincoln St, Los Angeles 23 Universal Studies Dr., Los Angeles Participa: nomeactor nome ano Carrie Fisher Star Wars 1977 Harrison Ford Star Wars 1997 Harrison Ford Indiana Jones 1983 11 / 19 Classe associativa Classe associativa Relação os atributos são a união das chaves das classes envolvidas na associação mais os atributos da classe associativa Exemplo: Actor Participa sexo data_nascimento salario Participa( nome, ano, nomeactor, salario ) 12 / 19

Associação de uma classe com ela própria Quando temos uma associação envolvendo objectos da mesma classe com temos de colocar a chave 2 vezes, uma para cada papel. Exemplo: 0..1 original sequencia 13 / 19 Associação de uma classe com ela própria SequênciaDe( seqnome, seqano, orignome, origano ) SequênciaDe: seqnome seqano orignome origano Rocky II 1982 Rocky I 1980 Rocky III 1985 Rocky II 1982............ 14 / 19

Classes de suporte Estudio Eq. Filmagem PK PK numero Estúdios( nome, ) EquipasFilmagem( número, nomeestúdio ) A associação entre a classe de suporte e a classe dona pode ser eliminada (porque é muitos-um). e não é necessário acrescentar nada a EquipasFilmagem. Porquê? 15 / 19 Sub-classes Existem 2 alternativas: 1 Criar uma relação para cada sub-classe. 2 Combinar toda a hierarquia numa única classe e usar valores NULL sempre que um atributo não se aplica. 16 / 19

Exemplo: s Crime Misterio Cartoons arma 17 / 19 Alternativa 1 s( nome, ano, duração, ) CrimeMistério( nome, ano, arma ) Cartoons( nome, ano ) Um filme que não seja Cartoon nem de Crime-Mistério, aparece apenas na relação s. Um filme que seja apenas um Cartoon (ex: Lion King ) irá aparecer nas relações s e Cartoons. Um filme que seja simultaneamente um Cartoon e um CrimeMistério (ex: Who Framed Roger Rabbit ) irá aparecer em 3 relações: s, Cartoons e CrimeMistério. 18 / 19

Alternativa 2 s( nome, ano, duração,, arma ) Gone with the wind tem um NULL para o atributo arma. Lion King tem um NULL para arma. Murder on the orient express não tem NULLs. NOTA: Perdemos informação. Não sabemos se um determinado filme é um cartoon (ou crime-mistério, ou ambos). Solução possível: colocar mais um atributo, ex: género. 19 / 19