UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIENCIAS DA COMPUTAÇÃO

Documentos relacionados
FERRAMENTA DE APOIO AO MAPEAMENTO DE MODELO TEMPORAL DE DADOS PARA UM SGBD RELACIONAL

Versão º. Semestre de 2006 Marcelo Nogueira São José dos Campos - SP

Banco de Dados I Introdução SQL

Modelos de Dados Temporais

A linguagem SQL

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

Material Teórico. Organização de Dados. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

Marcio Victorino

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Manipulação de Dados com SQL

Implementação de BDs Temporais

PROJETO INTEGRADOR Levantamento de Requisitos

10g PRINCIPAIS SERVIDORES UNIVERSAIS

12.4 DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

Banco de Dados. Professora: Luciana Faria

Disciplina: Banco de Dados Tema: SQL Parte 2

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

BCD29008 Banco de dados

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

Modelo Entidade-Relacionamento (E-R)

Arquivo. Banco de Dados. Organização dos Arquivos. Banco de Dados. Banco de Dados. Introdução a Computação

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

Teste Exemplo Revisão da tentativa 1

A linguagem SQL

Banco de Dados. Linguagem SQL

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Tabelas. Banco de Dados I MySQL

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

Modelagem Física e SQL

BCD29008 Banco de dados

Linguagem SQL (Parte II)

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

SQL Linguagem de Definição de Dados

Modelagem Física e SQL

UFG - Instituto de Informática

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

Linguagem de Definição de Dados (DDL)

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

Introdução a Bancos de Dados

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Linguagem de Consulta Estruturada (SQL)

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

PARTE I - INTRODUÇÃO A BANCO DE DADOS

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

BANCO DE DADOS ORIENTADO A OBJETOS

Sumário. Banco de Dados Temporal (BDT)

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

Fundamentos de Banco de Dados Postgre com Sql

Banco de Dados Loja Virtual. CLIENTE(ClienteId, PrimNome, UltNome, Endereço, Cidade, Cep, Telefone)

Mapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo

Monitoria GDI. Aula Prática. OR (Aula 1)

BCD29008 Banco de dados

A linguagem SQL

Banco de Dados. Aula 03. Prof. Diemesleno Souza Carvalho

AULA 01 Bancos de Dados Relacionais Arquitetura Linguagem SQL Componentes: DDL, DML, DCL. Prof. Msc. Célio R. Castelano

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

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

IMPLEMENTAÇÃO DE UM BANCO DE DADOS TEMPORAL UTILIZANDO O MODELO ORIENTADO A OBJETO TF-ORM

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte

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

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

SQL. Autor: Renata Viegas

Structured Query Language (SQL) Aula Prática

Modelagem Conceitual parte I


Modelagem Conceitual parte I

SQL Básica. Andre Noel

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

MySql. Introdução a MySQL. Andréa Garcia Trindade

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Introdução a Banco de Dados Prof. Msc Denival A. dos Santos

Sumário. Banco de Dados Temporal

Revisando Banco de Dados. Modelo Relacional

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Aula 06 Sistemas Embarcados LT38C

BCD29008 Banco de dados

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

Linguagem SQL Restrições, Triggers e Views

Ferramenta de apoio a Experimentos em Engenharia de Software

ROSIANE APARECIDA OLIVEIRA MODELAGEM E DESENVOLVIMENTO DE UM BANCO DE DADOS TEMPORAL

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Transcrição:

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIENCIAS DA COMPUTAÇÃO FERRAMENTA DE APOIO AO MAPEAMENTO DE MODELO TEMPORAL DE DADOS PARA UM SGBD RELACIONAL ACADEMICO:MARCOS LUIS KRETZCHMER ORIENTADOR:EVERALDO ARTUR GRAHL 14/11/2007 Marcos Luis Kretzchmer 1

Introdução Objetivos ROTEIRO Banco de dados Temporal Modelo TempER Especificação Implementação Conclusão 14/11/2007 Marcos Luis Kretzchmer 2

INTRODUÇÃO A modelagem de banco de dados temporal tem como objetivo dotar os modelos de dados dos aspectos temporais Para o desenvolvimento da ferramenta estudou-se modelagem de banco de dados temporal, bem como o modelo TempER 14/11/2007 Marcos Luis Kretzchmer 3

OBJETIVO Desenvolvimento de uma ferramenta que auxilie o usuário na criação de uma base de dados temporal através do mapeamento para um sistema gerenciador de banco de dados relacional 14/11/2007 Marcos Luis Kretzchmer 4

BANCO DE DADOS TEMPORAL Um banco de dados temporal é aquele que apresenta alguma forma de representação de informações temporais, além do tempo definido pelo usuário [TON2000]. 14/11/2007 Marcos Luis Kretzchmer 5

CARACTERÍSTICAS Dimensão temporal possui 3 dimensões - Linha, Coluna e tempo Ordem no tempo comum assumir que o tempo flui linearmente Tempo absoluto define um tempo específico 14/11/2007 Marcos Luis Kretzchmer 6

CARACTERÍSTICAS Tempo relativo quando sua validade é relacionada à validade de um outro fato 14/11/2007 Marcos Luis Kretzchmer 7

ELEMENTOS PRIMITIVOS DA REPRESENTAÇÃO TEMPORAL Intervalo temporal Aberto Semi-aberto Fechado 14/11/2007 Marcos Luis Kretzchmer 8

TIPOS DE BANCO DE DADOS TEMPORAL Banco de dados instantâneos Os valores disponíveis são apenas os atuais Banco de dados de tempo de transação As informações temporais são associadas a cada valor definido Este tempo é fornecido automaticamente pelo SGBD 14/11/2007 Marcos Luis Kretzchmer 9

TIPOS DE BANCO DE DADOS TEMPORAL Banco de dados de tempo de validade As informações temporais são associadas a cada valor definido O tempo de validade deve ser armazenado como um atributo explícito Banco de dados bitemporais possuem os conceitos de tempo de validade e tempo de transação 14/11/2007 Marcos Luis Kretzchmer 10

MODELO TempER O modelo TempER é um modelo de dados tipo Entidade-Relacionamento que incorpora dispositivos que permitem referenciar os objetos (entidades, relacionamentos ou valores de atributos) à dimensão temporal. 14/11/2007 Marcos Luis Kretzchmer 11

MODELO TempER Componentes do modelo Entidades Entidades transitórias Entidades perenes Relacionamentos Relacionamentos temporais Relacionamentos intemporais Atributos Atributos temporais Atributos Intemporais 14/11/2007 Marcos Luis Kretzchmer 12

MODELO TempER Identificador interno de entidades - OID assumido que todas as instâncias dos conjuntosentidade, e apenas dos conjuntos-entidade, possuem um identificador interno O que se busca é aproximar o modelo TempER de um dos mais importantes princípios da orientação a objetos 14/11/2007 Marcos Luis Kretzchmer 13

MODELO TempER Perspectiva intemporal Não leva em consideração a dimensão temporal Perspectiva temporal o OID de uma entidade é visualizado como um estado associado a um conjunto de pontos do tempo 14/11/2007 Marcos Luis Kretzchmer 14

MAPEAMENTO DO MODELO TempER PARA O BANCO DE DADOS RELACIONAL Entidades transitórias 14/11/2007 Marcos Luis Kretzchmer 15

MAPEAMENTO DO MODELO TempER PARA O BANCO DE DADOS RELACIONAL Entidades perenes 14/11/2007 Marcos Luis Kretzchmer 16

MAPEAMENTO DO MODELO TempER PARA O BANCO DE DADOS RELACIONAL 14/11/2007 Marcos Luis Kretzchmer 17

MAPEAMENTO DO MODELO TempER PARA O BANCO DE DADOS RELACIONAL 14/11/2007 Marcos Luis Kretzchmer 18

ESPECIFICAÇÃO Início 9. Copia tabela para TabelaTemporal e incorpora atributo (Inicio_Validade, Fim_Validade) 1. Ler arquivo de entrada gerado pelo ERWIN S 2. Extrai Nome das tabelas, nome dos campos e armazena nas tabelas tabela e campo 8. Copia tabela para TabelaTemporal N 7. Relac. Transitório N 3. Lê Tabela 10. Copia tabela para tabelatemporal e Incorpora Atributo - ( OID ) S 6. Tabela Perene 4. Possui registro S N 5. Tabela transitória N S 1 11. Copia tabela para tabelatemporal e Incorpora Atributos temporais (OID, InicioValidade, FimValidade) 14/11/2007 Marcos Luis Kretzchmer 19

ESPECIFICAÇÃO Verifica tabela transitória - prefixo TR Copia tabela para tabela temporal e adiciona os campos (OID, Inicio_validade, Fim_Validade) 14/11/2007 Marcos Luis Kretzchmer 20

ESPECIFICAÇÃO Verifica tabela Perene - prefixo PE Copia tabela e adiciona o campo OID 14/11/2007 Marcos Luis Kretzchmer 21

ESPECIFICAÇÃO Verifica Relacionamento Transitório - prefixo T Copia tabela e adiciona o campo Inicio_validade, Fim_validade 14/11/2007 Marcos Luis Kretzchmer 22

ESPECIFICAÇÃO Relacionamento Intemporal Copia tabela 14/11/2007 Marcos Luis Kretzchmer 23

ESPECIFICAÇÃO 1 12. Ler Campo 17. Cria Triggers de controle de inserção e alteração de dados N 18. Gera Arquivo de saída 13. Possui Registro? N S Fim 16. Copiar campo para campotemporal 14. Campo Temporal S 15. Cria uma nova tabela em tabelatemporal e adiciona os campos (OID, InicioValidade, FimValidade, Campo) na tabela campotemporal 14/11/2007 Marcos Luis Kretzchmer 24

ESPECIFICAÇÃO Se sim Cria tabela temporal e adiciona (OID, Inicio, Fim e o próprio campo) Se não Cria campo na tabela temporal 14/11/2007 Marcos Luis Kretzchmer 25

ESPECIFICAÇÃO Cria as triggers necessárias para o controle de dados a ser incluído no banco 14/11/2007 Marcos Luis Kretzchmer 26

ESPECIFICAÇÃO Estrutura das tabelas de memória 14/11/2007 Marcos Luis Kretzchmer 27

IMPLEMENTAÇÃO Ferramentas utilizadas Delphi Banco de dados Oracle Técnicas Programação estruturada 14/11/2007 Marcos Luis Kretzchmer 28

OPERACIONALIDADE Modelo desenhado no ErWin para ser importado pela ferramenta 14/11/2007 Marcos Luis Kretzchmer 29

OPERACIONALIDADE Tela do ErWin para geração do Script 14/11/2007 Marcos Luis Kretzchmer 30

OPERACIONALIDADE SCRIPT GERADO PELO ERWIN CREATE TABLE PE_Funcao (codfuncao CHAR(18) NOT NULL, Descricao CHAR(18) NULL, At_SalarioReferencia CHAR(18) NULL); ALTER TABLE PE_Funcao ADD ( PRIMARY KEY (codfuncao) ) ; CREATE TABLE Preferencia (CodEmpregado CHAR(18) NOT NULL, codfuncao CHAR(18) NOT NULL); ALTER TABLE Preferencia ADD ( PRIMARY KEY (CodEmpregado, codfuncao) ) ; CREATE TABLE TR_Empregado (CodEmpregado CHAR(18) NOT NULL, Nome endereco CHAR(18) NULL, AT_Salario CHAR(18) NULL, CHAR(18) NULL); ALTER TABLE TR_Empregado ADD ( PRIMARY KEY (CodEmpregado) ) ; 14/11/2007 Marcos Luis Kretzchmer 31

OPERACIONALIDADE CONTINUAÇÃO - SCRIPT GERADO PELO ERWIN CREATE TABLE T_Alocacao (codfuncao CHAR(18) NOT NULL, CodEmpregado CHAR(18) NOT NULL); ALTER TABLE T_Alocacao ADD ( PRIMARY KEY (codfuncao, CodEmpregado) ) ; ALTER TABLE Preferencia ADD ( FOREIGN KEY (codfuncao) REFERENCES PE_Funcao ) ; ALTER TABLE Preferencia ADD ( FOREIGN KEY (CodEmpregado) REFERENCES TR_Empregado ) ; ALTER TABLE T_Alocacao ADD ( FOREIGN KEY (CodEmpregado) REFERENCES TR_Empregado ) ; ALTER TABLE T_Alocacao ADD ( FOREIGN KEY (codfuncao) REFERENCES PE_Funcao ) ; 14/11/2007 Marcos Luis Kretzchmer 32

OPERACIONALIDADE TELA DA FERRAMENTA 14/11/2007 Marcos Luis Kretzchmer 33

OPERACIONALIDADE Trecho do Script gerado pela ferramenta CREATE TABLE Funcao ( OID INTEGER NOT NULL, codfuncao CHAR(18) NOT NULL, Descricao CHAR(18) ); CREATE TABLE Preferencia ( OID_Empregado INTEGER NOT NULL, OID_Funcao INTEGER NOT NULL, CodEmpregado CHAR(18) NOT NULL, codfuncao CHAR(18) NOT NULL ); CREATE TABLE Empregado ( OID INTEGER NOT NULL, CodEmpregado CHAR(18) NOT NULL, Nome CHAR(18), endereco CHAR(18) ); CREATE TABLE Empregado_T ( OID INTEGER NOT NULL, INICIO_VALIDADE DATE, FIM_VALIDADE DATE ); 14/11/2007 Marcos Luis Kretzchmer 34

OPERACIONALIDADE Teste de inserção de dados no Oracle INSERT INTO EMPREGADO VALUES (1,1,'MARCOS','CASA'); 1 linha criada. SQL> INSERT INTO EMPREGADO_T VALUES (1,'01-JAN-2000','31-DEZ-2000'); 1 linha criada. SQL> INSERT INTO EMPREGADO_SALARIO VALUES (1,'01-JAN-2000','01-JAN-2001','500'); INSERT INTO EMPREGADO_SALARIO VALUES (1,'01-JAN-2000','01-JAN-2001','500') * ERRO na linha 1: ORA-20032: TABELA Empregado_T NÃO POSSUI OID E DATA DE INICIO E FIM DE VALIDADE PARA ESTE PERIODO ORA-06512: em "SCOTT.EMPREGADO_SALARIO_32", line 14 ORA-04088: erro durante a execução do gatilho 'SCOTT.EMPREGADO_SALARIO_32' 14/11/2007 Marcos Luis Kretzchmer 35

OPERACIONALIDADE Continuação - teste de inserção de dados no Oracle SQL> INSERT INTO EMPREGADO_SALARIO VALUES (1,'01-JAN-2000','31-JAN-2000','500'); 1 linha criada. SQL> DELETE FROM EMPREGADO_T; DELETE FROM EMPREGADO_T * ERRO na linha 1: ORA-20025: TABELA Empregado_Salario POSSUI OID E DATA DE INICIO E FIM DE VALIDADE PARA ESTE PERIODO ORA-06512: em "SCOTT.EMPREGADO_T_25", line 14 ORA-04088: erro durante a execução do gatilho 'SCOTT.EMPREGADO_T_25' SQL> DELETE FROM EMPREGADO_SALARIO ; 1 linha deletada. 14/11/2007 Marcos Luis Kretzchmer 36

RESULTADOS Mapeamento para o SGBD Relacional Incorporação dos aspectos temporais Controle de inserção, alteração e exclusão de dados 14/11/2007 Marcos Luis Kretzchmer 37

LIMITAÇÕES Tempo de validade Alteração - não verificação de duplicidade na própria tabela Um campo temporal por tabela Não é feita verificação de nome repetido de tabelas e campos Cardinalidade 14/11/2007 Marcos Luis Kretzchmer 38

CONCLUSÃO A ferramenta constituída permitiu a modelagem do tempo de validade, o controle de inclusão, exclusão e alteração de dados respeitando a validade temporal através do uso de triggers (gatilhos) 14/11/2007 Marcos Luis Kretzchmer 39

EXTENSÕES Criar um ambiente para modelagem do modelo TempER Criar uma linguagem para manipulação de dados para o modelo TempER Implementar os tipos de banco de dados de transação e bitemporais 14/11/2007 Marcos Luis Kretzchmer 40

ELEMENTOS PRIMITIVOS DA REPRESENTAÇÃO TEMPORAL Elemento temporal É uma união finita de intervalos de tempo 14/11/2007 Marcos Luis Kretzchmer 41

MODELO TempER Componentes do modelo Entidades Entidades transitórias Entidades perenes Relacionamentos Relacionamentos temporais Relacionamentos intemporais Atributos Atributos temporais Atributos Intemporais 14/11/2007 Marcos Luis Kretzchmer 42