Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

Tamanho: px
Começar a partir da página:

Download "Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL"

Transcrição

1 Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL Alisson Giovanni Rosa 1, Ronaldo dos Santos Mello 1 1 Departamento de Informática e Estatística Universidade Federal de Santa Catarina (UFSC) Florianópolis SC Brasil {alisson,ronaldo}@inf.ufsc.br Abstract. This paper presents the architecture of a translator of XML documents, that represent relational schemata, to SQL/DDL schemata. Such documents are usually generated by relational database modeling tools, and the contribution of this work is to allow interchanging and further creation of relational schemata through the use of XML format. The translator considers existing technologies to the solution of the problem in order to reduce the complexity of the final solution, in particular XSL technology. It uses XSLT transformations to eliminate the need for constructing a proprietary annotations processor. Resumo. Este artigo apresenta a arquitetura de um Tradutor de documentos XML, que representam esquemas relacionais, para esquemas SQL/DDL. Tais documentos são usualmente gerados por ferramentas de modelagem de bancos de dados relacionais e a contribuição deste trabalho é permitir o intercâmbio e posterior geração de esquemas relacionais entre parceiros de negócio através do formato XML. O Tradutor utiliza tecnologias já existentes na solução do problema, no intuito de reduzir a complexidade da solução final, em particular a tecnologia XSL. A utilização de transformações XSLT elimina a necessidade da construção de um processador de anotações proprietário. 1. Introdução O foco deste artigo são dados no formato XML que representam esquemas relacionais. Muitas ferramentas de projeto de bancos de dados relacionais persistem o resultado do desenvolvimento, ou seja, o esquema relacional, em formato XML. É o caso de ferramentas como a ERWIN [Computer Associates 2006], a Rational Rose [IBM 2006], e a brasileira brmodelo [Cândido 2005], esta última desenvolvida no Grupo de Banco de Dados da UFSC. Entretanto, cada ferramenta segue um esquema proprietário para a disposição destas informações no arquivo XML. Isto torna extremamente caro o trabalho de extrair o esquema relacional destes arquivos XML (com a intenção de gerar o esquema SQL de implementação para um SGBD específico), na impossibilidade de se ter acesso à ferramenta que criou este arquivo XML. Assim sendo, este trabalho tem por objetivo criar uma ferramenta de apoio ao mapeamento e extração de esquemas relacionais especificados em arquivos XML, bem como a geração dos comandos SQL para a criação das tabelas componentes do esquema de implementação do banco de dados. A finalidade deste trabalho é permitir um mapeamento flexível de esquemas relacionais representados em XML, ou seja, um método de mapeamento que seja executado diretamente sobre um arquivo XML. Esta

2 abordagem é particularmente interessante quando um arquivo descrevendo o esquema do documento XML não estiver disponível. Uma possível solução para o problema (adotada neste trabalho) é a utilização da tecnologia XSLT [W3C 2006], que tem como finalidade transformar documentos XML em outros documentos XML ou outros documentos texto, em substituição aos processadores de anotações propostos em outras ferramentas, citadas adiante na Seção 2. Neste trabalho, XSLT é utilizada tanto para realizar transformações nos arquivos XML de entrada (segundo regras de mapeamento definidas pelo usuário) em um arquivo XML padronizado e semanticamente compreensível para a fase de geração do SQL de criação de tabelas, quanto na geração do script SQL, que é a saída do Tradutor. Tal solução evita a necessidade de construir um processador de anotações fixas (associado a um esquema XML fixo) e torna a ferramenta mais aberta, uma vez que XSLT já possui vários processadores disponíveis livremente [Sourceforge.org 2006] [Apache.org 2006]. A solução proposta também define um conjunto de regras para extração de esquemas relacionais a partir de arquivos XML. No intuito de facilitar, e ao mesmo tempo assegurar a corretude da tradução do esquema relacional para os comandos SQL, a transformação do arquivo XML de entrada se dá em duas fases. O objetivo da primeira fase é gerar, a partir do arquivo de entrada, um arquivo XML em conformidade com um arquivo XML Schema que descreve a BNF [ISO 1996] do comando SQL Create Table. Na segunda fase, com base neste arquivo XML intermediário, é gerado o script SQL de criação das tabelas. Uma vez válido o arquivo XML intermediário de acordo com o arquivo XML Schema, garante-se que a sintaxe do comando SQL resultante está correta. Tanto na primeira como na segunda fase, as transformações são especificadas utilizando a linguagem XSLT. Este trabalho apresenta mais três seções. A Seção 2 descreve trabalhos relacionados. A Seção 3 detalha o Tradutor proposto e a Seção 4 apresenta a conclusão. 2. Trabalhos Relacionados Em geral, os trabalhos existentes na literatura tratam a questão da persistência e recuperação de arquivos XML em bancos de dados relacionais. Entretanto, não foram encontradas ferramentas específicas para o tratamento de arquivos XML cujo conteúdo seja a especificação de esquemas relacionais. Dois trabalhos mais robustos neste contexto são o X-Database [Varlamis et. al. 2001] e ShreX [Amer-Yahia et.al. 1984], que se propõem a realizar o mapeamento para esquema relacional de qualquer arquivo XML, não importando o seu conteúdo. A base do sistema X-Database é um arquivo XML Schema que descreve o esquema lógico dos dados a serem trocados. O sistema analisa a sintaxe do XML Schema e gera a base de dados relacional. Após, processa a decomposição em tuplas de tabelas de arquivos XML válidos de acordo com o XML Schema. A diferença fundamental entre o X-Database e o Tradutor proposto é que o primeiro necessita do XML Schema enquanto o segundo atua diretamente sobre o arquivo XML. ShreX é um sistema para decomposição e carga de documentos XML em bancos de dados relacionais, sendo o mapeamento definido por anotações em arquivos XML Schema que indicam quais elementos e atributos devem ser armazenados no banco. O esquema relacional correspondente é gerado por um processador de anotações que executa o parsing do XML Schema anotado. Em comum entre o ShreX e o Tradutor

3 proposto temos o fato de que ambos utilizam o conceito de regras padrão para guiar o mapeamento de elementos e atributos. Entretanto, ShreX utiliza um processador de anotações próprio, de difícil manutenção, enquanto o Tradutor proposto utiliza XSLT para esta função. Da mesma forma que o X-Database, as anotações são feitas em um XML Schema. O trabalho de Boshernitsan [Boshernitsan et. al. 2000] não tem como objetivo o mapeamento XML-relacional, mas contribuiu de forma relevante para a criação de uma estratégia de tradução em dois passos com o uso de um formato de troca, adotado pela ferramenta proposta. Ele apresenta um formato de troca de código de programação, baseado em XML, entre as ferramentas de um framework denominado Harmonia. Gerase uma representação em XML da árvore sintática de um programa escrito nas linguagens suportadas pelo framework. Em comum com o Tradutor proposto tem-se a geração de um XML intermediário baseado na gramática da linguagem. Porém, Boshernitsan não prevê o tratamento de variações das gramáticas, enquanto o Tradutor proposto pode tratá-las através de uma base de arquivos XSLT. O Tradutor proposto introduz algumas melhorias, se comparado com as características dos trabalhos expostos nesta Seção, como o fato de não necessitar de um processador de anotações próprio, nem tampouco necessitar do arquivo XML Schema associado ao arquivo XML de entrada. 3. O Tradutor Proposto O Tradutor proposto recebe como entrada um arquivo XML cujo conteúdo é uma especificação de um esquema relacional. Este arquivo é transformado em um arquivo XML cujo conteúdo está em conformidade com um esquema em XML Schema construído para representar a sintaxe BNF/EBNF [ISO 1996] do comando SQL Create Table em conformidade com o padrão ISO/IEC 9075:1992 da ISO [ISO 1992]. A definição deste esquema XML a partir de um BNF levou em conta a similaridade conceitual existente entre estas duas linguagens, ou seja, assumiu-se que os símbolos não-terminais da gramática correspondem a elementos da XML e as relações hierárquicas entre elementos são as produções. A partir deste XML intermediário gerado, a posterior geração do código SQL se torna automática e totalmente livre de erros de sintaxe. Um aspecto importante tratado pelo Tradutor é que parsers não reconhecem a semântica contida nos arquivos de entrada. Eles cuidam apenas da verificação da sintaxe do documento, ou seja, da aderência do documento às regras de sintaxe da linguagem. Em função disto, a etapa de importação do arquivo de entrada considera a intervenção de um usuário especialista para definir aspectos semânticos da importação. Para tanto, foram definidas regras de mapeamento específicas para arquivos XML que contenham esquemas relacionais, automatizando tanto quanto possível, a tarefa de tradução. Uma vez definidas, estas regras são persistidas e podem ser aplicadas posteriormente de forma automática, para novos arquivos XML com a mesma estrutura, ou seja, produzidos pelas mesmas fontes de dados (pessoas ou ferramentas de modelagem). Adiante, na Seção 3.2, esta interação é exemplificada. A arquitetura do Tradutor proposto é mostrada na Figura 1. Ele realiza a tradução do arquivo XML de entrada em dois passos, onde cada transformação XSLT representa a conclusão de um passo.

4 O objetivo do primeiro passo é criar um arquivo XML em um formato que atenda às especificações da sintaxe do comando SQL Create Table, utilizando o mapeamento definido pelo usuário e transformações XSLT. Uma vez este arquivo XML intermediário gerado é conhecido pelo Tradutor, o passo seguinte é realizado de forma automática, consistindo na aplicação de novas transformações XSLT sobre ele para gerar o script SQL. O arquivo XSLT a ser executado no segundo passo pode ser configurado, caso haja a necessidade de alterações no resultado da saída do Tradutor. Figura 1. Arquitetura do Tradutor O Tradutor necessita que o usuário primeiramente informe se já existe um XSLT com mapeamentos definidos para esta fonte de dados. Em caso positivo, o Tradutor simplesmente executa o primeiro passo de transformação, gerando o arquivo XML intermediário. Caso contrário, o Tradutor auxilia o usuário na definição dos mapeamentos através de uma base de regras padrão (ver Seção 3.2). De posse dos mapeamentos definidos pelo usuário, o Tradutor complementa um arquivo XSLT base com expressões XPath [W3C 2007] necessários para a geração do arquivo XML intermediário (ver mais detalhes na Seção 3.3). Uma vez gerado este arquivo, o passo seguinte é executado de maneira automática, uma vez que o XSLT utilizado para o segundo passo (geração do script SQL) tem um formato pré-definido, pois foi preparado para atuar sobre este formato de arquivo XML. As Seções a seguir detalham as etapas de funcionamento do Tradutor. 3.1 Etapa 1 Aquisição do Arquivo XML de Entrada O arquivo de entrada para o Tradutor representa um esquema relacional persistido em XML. A Figura 2, a seguir, ilustra a forma e o conteúdo de um arquivo proveniente da ferramenta brmodelo [Cândido 2005]. O arquivo descreve duas tabelas relacionais: Estados e Municípios. O método de persistência XML de cada ferramenta de modelagem é proprietário. Logo, cada arquivo XML é heterogêneo e pode manter mais informações do que apenas o esquema relacional em si, devendo estas informações serem descartadas. A próxima etapa se dedica a resolver estas questões.

5 3.2 Etapa 2 Definição dos Mapeamentos a partir das Decisões do Usuário e Regras Padrão O objetivo desta etapa é responder à ferramenta de tradução perguntas como: Quais elementos deste arquivo devem ser considerados tabelas, e de qual atributo ou elemento deve-se extrair os nomes destas tabelas? Quais elementos (ou atributos) simbolizam os campos de uma tabela, e de qual atributo ou elemento deve-se extrair os nomes dos campos e os tipos de dados a serem armazenados? <?xml version="1.0" encoding="iso "?> <MER> <Informacoes> <Posicao Left="0" Top="0"/> <TotalItens Valor="16"/> <Tipo Valor="LOGICO"/> <Versao Valor="1.0.0"/> </Informacoes> <Tabelas> <Tabela nome="estados" id="1"> <Nula Valor="0"/> <Color Valor=" "/> <Campos> <Campo nome="sigla" id="2"> <Nula Valor="-1"/> <ApenasSeparador Valor="0"/> <IsKey Valor="-1"/> <IsFKey Valor="0"/> <Tipo Valor="varchar"/> <TabOrigem Valor="0"/> </Campo> <Campo nome="nome" id="3"> <Nula Valor="-1"/> <ApenasSeparador Valor="0"/> <IsKey Valor="0"/> <IsFKey Valor="0"/> <Tipo Valor="nvarchar"/> <TabOrigem Valor="0"/> </Campo> </Campos> </Tabela> <Tabela nome="municipios" id="4"> <Nula Valor="0"/> <Color Valor=" "/> <Campos> <Campo nome="nome" id="5"> <Nula Valor="-1"/> <ApenasSeparador Valor="0"/> <IsKey Valor="-1"/> <IsFKey Valor="0"/> <Tipo Valor="nvarchar"/> <TabOrigem Valor="0"/> </Campo> <Campo nome="estado" id="6"> <Nula Valor="-1"/> <ApenasSeparador Valor="0"/> <IsKey Valor="0"/> <IsFKey Valor="-1"/> <Tipo Valor="varchar"/> <TabOrigem Valor="0"/> </Campo> </Campos> </Tabela> </Tabelas> </MER> <Texto> </Texto> Figura 2. Exemplo de arquivo XML de entrada. Considerando-se de antemão que o conteúdo dos arquivos XML de entrada sempre contém esquemas relacionais, sabe-se que existem restrições para os conceitos do modelo relacional que precisam ser respeitadas para um correto mapeamento dos elementos do arquivo de entrada. Por exemplo, sabe-se que, ao ser identificado um elemento XML como sendo uma tabela, este elemento deve possuir um conteúdo (subelemento ou atributo) que defina o seu nome. Para tanto, um conjunto de regras (ou restrições) de mapeamento foram definidas. A fim de facilitar a especificação de maneira mais formal destas regras de mapeamento, utilizam-se siglas. A Tabela 1 ilustra essas siglas. Diversos tipos de relacionamento entre dados XML podem ocorrer em um arquivo XML. O mais comum é o relacionamento hierárquico entre elementos, onde um

6 elemento filho está contido no elemento pai. Outro relacionamento é entre um elemento e seus atributos. O Tradutor trata estes dois tipos de relacionamento, utilizando a sintaxe XPath para especificá-los. Tabela 1. Siglas utilizadas para os conceitos do modelo relacional. Elemento Descrição Sigla Tabela Elemento identificador de uma tabela T Tabela.nome Elemento ou atributo que contém o nome da tabela definida para T TA1 Campo Elemento que identifica um campo de uma tabela definida para T C Campo.nome Elemento ou atributo que contém o nome do campo definido para C CA1 Campo.tipo Elemento ou atributo que contém o tipo de dado do campo definido CA2 para C Campo.nome_tabela Elemento ou atributo que contém o nome da tabela definida para T CA3 ao qual o campo pertence Campo.chave_primaria Elemento ou atributo que define a condição de chave primária para CA4 o campo definido para C Relacionamentos Par de elementos do tipo C, definindo um relacionamento entre eles R A definição de elementos pelo usuário deve obedecer a uma ordem de precedência pré-definida, denotada por A > B, onde A e B são elementos quaisquer, tal que A deve estar definido para que se possa definir B. Assim a primeira regra é a seguinte: (1) T > C > R Uma vez respeitada a regra (1), deve-se respeitar, ainda, as seguintes regras: (2) T é considerado definido quando estiver acompanhado de uma definição de TA1, sendo T um elemento qualquer e TA1 um dos caminhos XPath genéricos a seguir: (a) //T/ elemento de T /text() ou (b) //T/ elemento de T /@ atributo /text() ou (c) //T/@ atributo de T /text(). (3) C é considerado definido quando estiver acompanhado das definições de CA1, CA2, CA3 e, opcionalmente, CA4. C é definido por: (a) //T/ elemento de T ou (b) // elemento (4) CA1 é definido por: (a) // elemento de C /text() ou (b) // elemento de C /@ atributo /text() ou (c) //C/@ atributo de C /text(). (5) CA2 é definido por: (a) // elemento de CA1 /text() ou (b) // elemento de CA1 /@ atributo /text() ou (c) // atributo de CA1 /text(). (6) CA3 é inferido automaticamente a partir da Regra (3), sendo definido: (a) de acordo com a definição (a) da Regra (3) como: CA3 = T, ou (b) de acordo com a definição (b) da Regra (3) como:

7 // elemento de C /text() ou // elemento de C /@ atributo /text() ou // atributo de C /text(). (7) CA4 é definido por: (a) // elemento de CA1 /text() ou (b) // elemento de CA1 /@ atributo /text() ou (c) //@ atributo de CA1 /text() ou (d) // elemento de C /text()* ou (e) // elemento de C /@ atributo /text()* ou (f) //@ atributo de C /text()* * Esta regra só é utilizada se text() = CA1. (8) R é definido por um conjunto de pares (origem, destino), onde tanto origem como destino são elementos CA1, tal que: CA1(origem).T <> CA1(destino).T e CA1(origem).CA2 = CA1(destino).CA2 O mapeamento pelo usuário precisa ser feito apenas para um elemento ou atributo de cada tipo contido no arquivo XML de entrada. Através deste aprendizado por amostragem, o Tradutor libera o usuário de definir todos os componentes do esquema relacional até o final do arquivo XML. Essas decisões do usuário preenchem os requisitos mínimos para que o Tradutor esteja apto a executar a transformação XSLT, que irá processar o arquivo XML de entrada, gerando o XML intermediário. Este arquivo XSLT é específico para a fonte mapeada em questão e sua construção é detalhada na próxima Seção. 3.3 Etapa 3 Geração do arquivo XSLT de Transformação Com base nas decisões de mapeamento adquiridas na etapa anterior, o Tradutor gera um arquivo XSLT contendo os comandos de transformação a serem aplicados sobre o arquivo XML de entrada. Este arquivo é armazenado como um arquivo padrão de transformação para todo arquivo XML proveniente desta mesma fonte em um catálogo do Tradutor. Desta forma, não são necessárias novas intervenções do usuário para definir traduções sobre este formato. O arquivo XSLT é construído ao se integrar uma estrutura de um arquivo XSLT parcialmente definido (XSLT base) aos caminhos XPath obtidos na etapa anterior. O XSLT base possui a definição dos templates a serem utilizados na transformação dos XPath extraídos para fins de construção da instrução SQL Create Table correspondente, como mostra a Figura 3. <xsl:for-each select=" "> < table_definition > <xsl:text>create TABLE </xsl:text> <xsl:value-of select=" "/> </table_definition> </xsl:for-each> Figura 3. Descrição parcial do arquivo XSLT base para geração do XML intermediário.

8 Considerando o arquivo XML exemplo da Figura 2, neste ponto do processo já se obteve o XPath /MER/Tabelas/Tabela@nome como sendo o caminho que retorna o identificador das tabelas. Assim sendo, torna-se possível o preenchimento dos valores dos elementos <xsl:for-each select=" "> e <xsl:value-of select=" "/>, gerando assim um novo arquivo XSLT, específico para a transformação de arquivos de entrada provenientes desta mesma fonte. A Figura 4 mostra o arquivo XSLT da Figura 3 já com os valores preenchidos. <xsl:for-each select="tabela"> < table_definition > <xsl:text>create TABLE </xsl:text> <xsl:value-of select="tabela/@nome"/> </table_definition> </xsl:for-each> Figura 4. Descrição parcial do arquivo XSLT específico de uma fonte para geração do XML intermediário. 3.4 Etapa 4 Transformação do Arquivo XML de Entrada em um XML Intermediário Nesta etapa, um processador XSLT executa as transformações sobre o arquivo XML de entrada definidas no arquivo XSLT específico da fonte. O resultado desta transformação é um arquivo XML em conformidade com o arquivo XML Schema que descreve a sintaxe do comando SQL Create Table. Após a geração deste XML intermediário, o mesmo é validado contra o XML Schema. Caso a validação seja positiva, a geração do código SQL para a criação das tabelas ocorrerá sem erros de sintaxe. A execução do trecho de código XSLT ilustrado na Figura 4 gera um XML intermediário com os elementos <table_definition>, conforme mostra a Figura 5. < table_definition > CREATE TABLE Estados </table_definition> < table_definition > CREATE TABLE Municipios </table_definition> Figura 5. Trecho do arquivo XML intermediário. 3.5 Etapa 5 Geração do Script SQL Nesta etapa, transformações definidas em um arquivo XSLT proveniente de uma base de arquivos XSLT para a geração da saída (mantidas no catálogo do Tradutor) são aplicadas ao arquivo XML intermediário gerado na etapa anterior. Os arquivos XSLT pertencentes a esta base podem ser utilizados na transformação de dados de qualquer fonte, uma vez que a sua execução ocorre sobre o arquivo XML intermediário, já padronizado para manter a descrição de comandos Create Table.

9 O resultado desta última transformação é o comando SQL de criação das tabelas do esquema relacional contido no arquivo XML de entrada. O comando SQL para o exemplo apresentado anteriormente é mostrado na Figura 6. CREATE TABLE Estados ( sigla NVARCHAR(2), nome NVARCHAR(50), PRIMARY KEY(sigla) ); CREATE TABLE Municipios ( nome NVARCHAR(2), estado NVARCHAR(50) NULL, PRIMARY KEY(nome), CONSTRAINT FK_Municipios_Estados FOREIGN KEY ( estado ) REFERENCES Estados ( sigla ) ); Figura 6. Script SQL resultante da tradução. Vale observar que, uma outra vantagem do uso de transformações XSLT em etapas separadas durante o processo é que, no caso desta etapa, pode-se substituir o arquivo XSLT de geração do comando SQL por outro que especifique a transformação para uma determinada variante da linguagem SQL. Na prática, isto significa que é possível gerar o comando para SGBDs relacionais específicos, por exemplo, apenas definindo este arquivo XSLT quando da execução desta etapa do Tradutor e executando todas as etapas anteriores da mesma forma. 3. Conclusão Este artigo apresenta a arquitetura para um Tradutor de esquemas relacionais em XML para esquemas SQL. No desenvolvimento da solução buscou-se reduzir a complexidade encontrada em ferramentas semelhantes existentes na literatura. Esta redução de complexidade foi alcançada baseando a arquitetura na utilização de um processador XSLT qualquer para efetuar as transformações sobre os arquivos XML de entrada e intermediário. Desta forma, elimina-se a necessidade da construção de um processador de anotações próprio, como adotado por outros trabalhos. Adicionalmente, a especificação de um processo de tradução em dois passos, com a utilização de um formato intermediário de troca, tornou o Tradutor flexível em termos de escolha do formato de saída. A Etapa 5 pode considerar a substituição do arquivo XSLT de transformação por outro que especifique alguma variação da linguagem SQL ou mesmo outros formatos de saída como HTML, PDF, texto ou XML. Destaca-se como contribuição a integração de tecnologias já existentes na solução do problema, no intuito de reduzir a complexidade da solução final. Tal abordagem não foi encontrada nos trabalhos pesquisados na literatura, que, no sentido inverso, sugerem o desenvolvimento de tecnologias próprias para a solução do problema do mapeamento XML-relacional. A intenção é que este trabalho venha a se tornar uma ferramenta útil, preenchendo uma lacuna hoje existente, principalmente para ferramentas de modelagem conceitual de banco de dados que não dão suporte à geração do script SQL/DDL. O Tradutor encontra-se atualmente em fase de implementação e pretende-se obter a sua liberação segundo os modelos de licença pública adotados atualmente.

10 Como trabalhos futuros, salienta-se a construção de um modelo de persistência e recuperação de regras padrão (para domínios específicos ou não), que possa ser expandido com facilidade. Isto é necessário porque as regras padrão apresentadas neste artigo são parte da lógica do Tradutor, tornando atualmente a sua expansão mais trabalhosa. Também seria de grande valia o desenvolvimento de um método ou algoritmo de verificação automática de conflitos entre as regras padrão especificadas. Este método preveniria a definição de regras padrão conflitantes, que poderiam no futuro vir a impossibilitar determinado mapeamento pelo usuário. A construção de um módulo para edição interativa de arquivos XSLT de transformação para vários SQL de saída desejados é igualmente uma extensão interessante para o Tradutor. Referências Apache.org (2008) The Apache Xalan Project. Último acesso: Fevereiro de Amer-Yahia, S.; Du, F.; Freire, J. (1984) "ShreX: Managing XML Documents in Relational Databases". In: VLDB Boshernitsan, M.; Graham S. (2000) Designing an XMLbased Exchange Format for Harmonia. In: WCRE p Computer Associates (2008) ERwin Data Modeler Último acesso: Fevereiro de Cândido, C. (2005) Aprendizagem em Banco de Dados: Implementação de Ferramenta de Modelagem E.R. Programa de Pós-Graduação em Banco de Dados - Universidade Federal de Santa Catarina. Monografia de Especialização IBM (2008) Rational Rose. Último acesso: Fevereiro de ISO (1992) ISO/IEC : Database languages -- SQL -- Part 1: Framework (SQL/Framework) ISO (1996) ISO/IEC 14977: Syntactic metalanguage -- Extended BNF (E).zip Sourceforge.org (2008) SAXON The XSLT and XQuery Processor. Último acesso: Fevereiro de Varlamis, I.; Vazirgiannis, M. (2001) Bridging XML-Schema and relational databases. A system for generating and manipulating relational databases using valid XML documents. Proceedings of the ACM Symposium on Document Engineering, W3C (2007) XML Path Language (XPath) Version Último acesso: Novembro de W3C (2008) XSL Transformations (XSLT) Version Último acesso: Fevereiro de 2008.

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA SISTEMAS DE INFORMAÇÃO Resumo do Trabalho de Conclusão de Curso Entitulado Um Tradutor de Esquemas Relacionais

Leia mais

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE SISTEMAS DE INFORMAÇÃO Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL Aluno: Alisson

Leia mais

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago INE 5612 Professor: Frank Siqueira Alunos: Gustavo de Geus Leonardo Silva Jean Ercilio Thiago DESENVOLVEDORES JAVA EM TODO MUNDO LIDER GAVIN KING JBOSS MANTEVE O SUPORTE História Hibernate foi criado por

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas UTFPR - Universidade Tecnológica Federal do Paraná Processamento e otimização de consultas Leyza Baldo Dorini 04/Nov/2009 Programação da aula Introdução: processamento e otimização de consultas Etapas:

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Modelo ER & Modelo Relacional Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 18 de

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

Leia mais

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE SISTEMAS DE INFORMAÇÃO Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL Aluno: Alisson

Leia mais

5.1. Fluxo para geração do Roadmap

5.1. Fluxo para geração do Roadmap 46 5 VelvetH-DB Os Sistemas Gerenciadores de Banco de Dados (SGBDs), foram criados com o intuito de permitir o armazenamento e manipulação de grandes volumes de dados, fornecendo uma aplicação que garanta,

Leia mais

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste 6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam

Leia mais

FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS

FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS Acadêmico: Roger Anderson Schmidt Orientador : Marcel Hugo Supervisor : Ricardo de Freitas Becker Empresa

Leia mais

7 Conclusão e Trabalhos Futuros

7 Conclusão e Trabalhos Futuros Conclusão e Trabalhos Futuros 123 7 Conclusão e Trabalhos Futuros Esta dissertação apresenta a linguagem X-SMIL para autoria declarativa de documentos hipermídia. Nessa direção, o primeiro passo do trabalho

Leia mais

5 Estudo de Caso. 5.1.O Cenário

5 Estudo de Caso. 5.1.O Cenário 5 Estudo de Caso Para ilustrar a integração de repositórios de sistemas de bibliotecas digitais e sistemas de aprendizagem segundo a proposta apresentada nesta tese, neste capítulo apresenta-se um estudo

Leia mais

Conteúdo Minicurso. Modelo Conceitual (Alto Nível) Modelo Lógico (Nível Intermediário) Modelo Físico (Baixo Nível)

Conteúdo Minicurso. Modelo Conceitual (Alto Nível) Modelo Lógico (Nível Intermediário) Modelo Físico (Baixo Nível) Abstração II Simpósio de Informática do IF Baiano Campus Itapetinga 11 a 14 de julho de 2012 Conteúdo Minicurso Modelagem de Dados usando a Ferramenta ERwin Prof. MSc Pablo Freire Matos Informática - Instituto

Leia mais

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr.

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr. XSL - extemsible Stylesheet Language Prof. Antonio Almeida de Barros Jr. Agenda Conceitos XSLT - XSL Transformations Iteração e Classificação Processamento Condicional Copiando Nodos Variáveis Estude de

Leia mais

brmodelonext: a Nova Versão de uma Ferramenta para Modelagem de Bancos de Dados Relacionais

brmodelonext: a Nova Versão de uma Ferramenta para Modelagem de Bancos de Dados Relacionais brmodelonext: a Nova Versão de uma Ferramenta para Modelagem de Bancos de Dados Relacionais Otávio Soares Menna, Leonardo Antonio Ramos, Ronaldo dos Santos Mello Depto. de Informática e Estatística Universidade

Leia mais

Disciplina: Banco de Dados I Professora: Ms. Márcia Jani. Trabalho de BD1

Disciplina: Banco de Dados I Professora: Ms. Márcia Jani. Trabalho de BD1 Disciplina: Banco de Dados I Professora: Ms. Márcia Jani 1 Trabalho de BD1 Objetivo O objetivo deste trabalho é aplicar os conceitos aprendidos nas aulas, em um projeto prático de modelagem, implementação

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos Banco de Dados Parte 2 Prof. Leonardo Vasconcelos - Conceitos e Arquiteturas de SBD Modelos de dados: conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Permitem

Leia mais

Comentários: Desenvolvimento de Sistemas Rogério Araújo

Comentários: Desenvolvimento de Sistemas Rogério Araújo Comentários: Desenvolvimento de Sistemas Rogério Araújo rgildoaraujo@gmail.com 1 Técnico de informática no Ministério Público Federal Professor da Equipe Itnerante Desenvolvimento de Sistemas Certificações

Leia mais

Rui Carneiro, Rui Pereira, Tiago Orfão

Rui Carneiro, Rui Pereira, Tiago Orfão Geração de Gráficos SVG através de PHP Rui Carneiro, Rui Pereira, Tiago Orfão Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465 Porto. {ei04073,ei04077,ei03102}@fe.up.pt

Leia mais

6 Conclusão. 6.1 Contribuições

6 Conclusão. 6.1 Contribuições 91 6 Conclusão O uso dos padrões da Web Semântica, como o RDF e RDFa, na publicação de informações na Web vêm demonstrando ser a única forma viável de garantir a interoperabilidade [34][53][80-83] de dados

Leia mais

Obtendo Interoperabilidade Semântica em Sistemas. Metamorphosis

Obtendo Interoperabilidade Semântica em Sistemas. Metamorphosis Obtendo Interoperabilidade Semântica em Sistemas Heterogéneos de Informação com Metamorphosis Giovani R. Librelotto José Carlos Ramalho Pedro R. Henriques Departamento de Informática Universidade do Minho

Leia mais

5 Conclusão e trabalhos futuros

5 Conclusão e trabalhos futuros 5 Conclusão e trabalhos futuros Neste capítulo fazemos uma retrospectiva do trabalho realizado, uma avaliação da proposta de solução de integração de dados ou conhecimentos mostrada na dissertação e também

Leia mais

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

12.4 DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade 12.4 DER Mais sobre Cardinalidade A Cardinalidade é um dos princípios fundamentais sobre o relacionamento de um banco de dados relacional. Nela são definidos o número de ocorrências em um relacionamento

Leia mais

A linguagem SQL

A linguagem SQL SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão recebeu o nome de

Leia mais

CP Compiladores I Prof. Msc.. Carlos de Salles

CP Compiladores I Prof. Msc.. Carlos de Salles CP 5017.9 Prof. Msc.. Carlos de Salles 1 - EMENTA O Processo de Compilação. Deteção e Recuperação de Erros. Introdução à geração de Código Intermediário. Geração de Código de Máquina. Otimização. Uma visão

Leia mais

6 Comparação com Trabalhos Relacionados

6 Comparação com Trabalhos Relacionados 6 Comparação com Trabalhos Relacionados Neste capítulo apresentamos uma comparação do trabalho apresentado nesta tese com trabalhos relacionados, no que se refere à representação do conteúdo existente

Leia mais

7 Conclusão e Trabalhos Futuros

7 Conclusão e Trabalhos Futuros 7 Conclusão e Trabalhos Futuros Como um novo e poderoso paradigma para o design e a implementação de sistemas de software (Lind, 2001;Wooldridge et al., 2001), o SMA requer metodologias, linguagens de

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação

Leia mais

INE 5623 Projeto de Banco de Dados

INE 5623 Projeto de Banco de Dados UFSC-CTC-INE Curso de Sistemas de Informação INE 5623 Projeto de Banco de Dados Ronaldo S. Mello 2010/2 http://www.inf.ufsc.br/~ronaldo/ine5623 Plano da Disciplina Objetivo Conteúdo Avaliação Bibliografia

Leia mais

SQL Básica. Andre Noel

SQL Básica. Andre Noel SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou

Leia mais

4 Processo de Transformação

4 Processo de Transformação Tecnologias Relacionadas 43 4 Processo de Transformação Com a constante mudança nos requisitos (funcionais e não funcionais) do domínio da aplicação, há uma grande necessidade de que os sistemas estejam

Leia mais

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica FACULDADE: CENTRO UNIVERSITÁRIO DE BRASÍLIA UniCEUB CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONSTRUÇÃO DE COMPILADORES CARGA HORÁRIA: 75 H. A. ANO/SEMESTRE: 2017/02 PROFESSOR: EDUARDO FERREIRA DOS SANTOS

Leia mais

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever

Leia mais

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

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas Banco de dados Conteúdo: DDL Prof. Patrícia Lucas O mysql MySQL Workbench é uma ferramenta de design de banco de dados visual que integra o desenvolvimento SQL, administração, design de banco de dados,

Leia mais

Linguagens de Domínio Específico

Linguagens de Domínio Específico Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Definindo DSLs Linguagem específica de domínio: uma linguagem de programação de computadores de expressividade

Leia mais

Modelo Entidade-Relacionamento (E-R)

Modelo Entidade-Relacionamento (E-R) Modelo Entidade-Relacionamento (E-R) composto n lote n n n contrato_compra_venda n possui proprietário possui n associado cadastro n banco faz fronteira pertence n ruas n quadras n financiado empréstimo

Leia mais

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores Motivação Prof. Sérgio Faustino Compiladores Conhecimento das estruturas e algoritmos usados na implementação de linguagens: noções importantes sobre uso de memória, eficiência, etc. Aplicabilidade freqüente

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de fevereiro de 2018 1/24 Apresentação

Leia mais

conteúdos. bases de dados, SGBD e aplicações. conceitos. modelo relacional (DER) conceitos

conteúdos. bases de dados, SGBD e aplicações. conceitos. modelo relacional (DER) conceitos conceitos 1 conteúdos A necessidade de processamento de DADOS em tempo útil de forma a recolher INFORMAÇÃO relevante, foi sempre uma necessidade sentida pelo Homem. conceitos modelo relacional (DER) 04-01-2012

Leia mais

pgmodeler: muito mais que um modelador de bancos de dados PostgreSQL

pgmodeler: muito mais que um modelador de bancos de dados PostgreSQL pgmodeler: muito mais que um modelador de bancos de dados PostgreSQL Raphael Araújo e Silva Bacharel em Ciência da Computação pela Universidade Federal do Tocantins; Há 12 anos atuando como Desenvolvedor

Leia mais

Trabalho de Linguagens Formais e Compilação

Trabalho de Linguagens Formais e Compilação Trabalho de Linguagens Formais e Compilação Desenho de uma linguagem simples e do seu compilador para MIPS. (cod. 5387) Departamento de Informática Universidade da Beira Interior Ano lectivo 2012/2013

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

Modelagem Conceitual parte I

Modelagem Conceitual parte I Modelagem Conceitual parte I Vitor Valerio de Souza Campos Objetivos Apresentar a modelagem conceitual como parte integrante do projeto de um BD Mostrar as vantagens de uma documentação conceitual de dados

Leia mais

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde: Dados da Web Introdução de XML Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM

Leia mais

Modelagem Conceitual parte I

Modelagem Conceitual parte I Modelagem Conceitual parte I Vitor Valerio de Souza Campos Objetivos Apresentar a modelagem conceitual como parte integrante do projeto de um BD Mostrar as vantagens de uma documentação conceitual de dados

Leia mais

3 Processo de Teste. 3.1.Visão Geral do Processo

3 Processo de Teste. 3.1.Visão Geral do Processo 3 Processo de Teste Nesse capítulo será apresentado um processo de teste que foi desenvolvido para que diminua o retrabalho e o esforço gasto no processo de teste tradicional. Inicialmente é mostrada uma

Leia mais

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA INTEGRAÇÃO DE APLICAÇÕES APLICADA À EXTRAÇÃO E QUALIFICAÇÃO AUTOMÁTICA DE PUBLICAÇÕES DE PESQUISADORES: UM CASO BASEADO NO CURRÍCULO LATTES 1 APPLICATION INTEGRATION APPLIED TO AUTOMATIC EXTRACTION AND

Leia mais

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise

Leia mais

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

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. MODELAGEM DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o

Leia mais

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos Introdução Necessidade de diminuir a complexidade na interação código-banco de dados para o programador,além de diminuir

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

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

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIENCIAS DA COMPUTAÇÃ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

Leia mais

3 Tecnologias Relacionadas

3 Tecnologias Relacionadas Tecnologias Relacionadas 31 3 Tecnologias Relacionadas O objetivo deste capítulo é apresentar um resumo de cada tecnologia relacionada ao processo proposto nesta dissertação, mostrando suas principais

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD Disciplina: Banco de Dados Prof: Márcio Palheta, Esp

Leia mais

Compiladores. Conceitos Básicos

Compiladores. Conceitos Básicos Compiladores Conceitos Básicos Processadores de Linguagem De forma simples, um compilador é um programa que recebe como entrada um programa em uma linguagem de programação a linguagem fonte e o traduz

Leia mais

DOSSIER DA DISCIPLINA

DOSSIER DA DISCIPLINA DOSSIER DA DISCIPLINA PED - PROCESSAMENTO ESTRUTURADO DE DOCUMENTOS Mestrado em Informática (1º ano) + Curso de Especialização em Informática (1º ano) Docente responsável: José Carlos Ramalho Ano lectivo

Leia mais

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Sistemas de Informação RENATO SULZBACH MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES

Leia mais

Modelagem Física e SQL

Modelagem Física e SQL Programação em Banco de Dados - Parte 1 Modelagem Física e SQL Prof. Pablo Passos prof.pablo.passos@gmail.com SQL - Um modelo físico é gerado a partir de um modelo lógico já construído. A geração dos objetos

Leia mais

E-Portefólio da especificação ao processamento digital

E-Portefólio da especificação ao processamento digital E-Portefólio da especificação ao processamento digital José Carlos Ramalho jcr@di.uminho.pt http://www.di.uminho.pt/~jcr Contexto Processamento Estruturado de Documentos Disciplina do 5º ano da LESI e

Leia mais

Revisando Banco de Dados. Modelo Relacional

Revisando Banco de Dados. Modelo Relacional : Revisando Banco de Dados Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para consulta e atualização pelo usuário. Sistema Gerenciador

Leia mais

CONTEÚDO PROGRAMÁTICO

CONTEÚDO PROGRAMÁTICO CONTEÚDO PROGRAMÁTICO XML e XSLT Completo Carga horária: 40 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO Ementa do curso

Leia mais

edsoncs@gmail.com www.linkedin.com/in/edsonhu Agenda Banco de Dados Relacional Modelo Descritivo Modelo Conceitual Modelo Lógico Arquitetura Cliente/Servidor Componentes SQL Server Management Studio (SSMS)

Leia mais

EA975 - Laboratório de Engenharia de Software

EA975 - Laboratório de Engenharia de Software EA975 - Laboratório de Engenharia de Software Turmas K/L - 2017 Aula 1 O que vamos desenvolver? Vamos desenvolver uma aplicação distribuída, empregando a arquitetura 3-Tier segundo o estilo REST/HTTP (Respresentational

Leia mais

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar - Aula 8 - ESTRATÉGIAS DE PROJETO DE BANCO DE DADOS 1. INTRODUÇÃO Uma vez conhecedores dos conceitos do modelo conceitual e das duas estratégias do modelo lógico, é possível traçar um projeto de banco

Leia mais

Banco de Dados. Linguagem SQL

Banco de Dados. Linguagem SQL Banco de Dados Linguagem SQL 1 A linguagem SQL: história Em junho de 1970, o matemático Edgar Frank Codd, publicou o artigo "A Relational Model of Data for Large Shared Data Banks" na revista "Communications

Leia mais

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática UERJ Oscar Luiz Monteiro de Farias 1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática UERJ Oscar Luiz Monteiro de Farias 2 Conceitos de Sistemas de Banco de Dados e Arquitetura

Leia mais

132 6 Conclusão 6.1. Contribuições da Tese

132 6 Conclusão 6.1. Contribuições da Tese 132 6 Conclusão Esta tese teve como objetivo principal o estudo da aplicação de transformações para manter a rastreabilidade de um sistema de software. Esta abordagem permite a captura automática das informações

Leia mais

Abordagem relacional. Capítulo 4

Abordagem relacional. Capítulo 4 Abordagem relacional Capítulo 4 Abordagem Relacional Abordagem de modelagem de dados usada nos sistemas de gerência de banco de dados do tipo relacional. Modelagem em nível lógico (SGBD) e não conceitual.

Leia mais

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage Sistema de Banco de Dados UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage Resumo da Unidade Banco de dados BD SGBD Objetivo Visão Geral Abstração Modelo de Dados Entidade Relaciomento(ER)

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados em outros momentos

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Dados x Informações Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados

Leia mais

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

Aula 7 SBD ER para Relacional. Profa. Elaine Faria UFU Aula 7 SBD ER para Relacional Profa. Elaine Faria UFU - 2017 Introdução Modelo ER Conveniente para representar um projeto de BD inicial de alto nível Modelo Relacional Pode ser usado para suportar a implementação

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

3 Kuaba: Uma Ontologia para Design Rationale

3 Kuaba: Uma Ontologia para Design Rationale 3 Kuaba: Uma Ontologia para Design Rationale Para que o conhecimento registrado durante o design possa ser automaticamente processado, é desejável representar o design rationale de uma maneira formalmente

Leia mais

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

Laboratório de Banco de Dados. Prof. Luiz Vivacqua. (la.vivacqua@gmail.com) Ementa Conceitos básicos Sistemas de banco de dados Relacional Visão Geral do PostGreSQL Álgebra Relacional Operadores básicos Operadores adicionais A Linguagem de Consulta Estruturada

Leia mais

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

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Data Warehouse ETL. Rodrigo Leite Durães.

Data Warehouse ETL. Rodrigo Leite Durães. Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,

Leia mais

Teste Exemplo Revisão da tentativa 1

Teste Exemplo Revisão da tentativa 1 Teste Exemplo Revisão da tentativa 1 Iniciado em: Quinta, 6 Dezembro 2007, 21:31 Completado em: Quinta, 6 Dezembro 2007, 21:48 Tempo gasto: 16 minutos 53 segundos Classificação: 8/20 (40% Nota: 8 sobre

Leia mais

4 ALBATROZ : Um ambiente para desenvolvimento de SMA

4 ALBATROZ : Um ambiente para desenvolvimento de SMA 41 4 ALBATROZ : Um ambiente para desenvolvimento de SMA Resumo Neste capítulo será apresentado o processo de desenvolvimento do ambiente Albatroz. Cada ferramenta é detalhada indicando suas funcionalidades.

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Manipulação de Dados com SQL

Manipulação de Dados com SQL Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language

Leia mais

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais 1 Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais Fabiano Fagundes, Parcilene F. Brito, Fernando L. Oliveira, Jackson G. Souza, Carlos H. Tolentino Resumo O desenvolvimento colaborativo

Leia mais

Tabelas. Banco de Dados I MySQL

Tabelas. Banco de Dados I MySQL FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de

Leia mais

2 Metodologias para Projetos de Aplicações Hipermidia

2 Metodologias para Projetos de Aplicações Hipermidia 2 Metodologias para Projetos de Aplicações Hipermidia O processo de desenvolvimento de aplicações é o objeto de diversas pesquisas, principalmente no caso das aplicações voltadas para a Internet, que diferem

Leia mais

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Meio pelo qual se pode indicar os passos que devem ser realizados pelo computador para resolver problemas; Através da linguagem,

Leia mais

Arquitetura de um Ambiente de Data Warehousing

Arquitetura de um Ambiente de Data Warehousing Arquitetura de um Ambiente de Data Warehousing Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri Arquitetura Típica usuário usuário... usuário

Leia mais

Notas sobre XSLT. O modo correcto para declarar um documento xsl é:

Notas sobre XSLT. O modo correcto para declarar um documento xsl é: Notas sobre XSLT XSLT é a abreviatura de extensible Stylesheet Language Tansformations. É uma linguagem para transformação de documentos xml. Permite transformar um documento xml noutro documento xml,

Leia mais

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA MODELAGEM CONCEITUAL DE DADOS

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA MODELAGEM CONCEITUAL DE DADOS CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA MODELAGEM CONCEITUAL DE DADOS BANCO DE DADOS FUNDAMENTOS E COMPLEMENTOS 01.Funcionamento básico de um banco de dados relacional Um

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

COMPILAÇÃO. Ricardo José Cabeça de Souza

COMPILAÇÃO. Ricardo José Cabeça de Souza COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo

Leia mais

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX.

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX. JSON Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX. 1. Introdução JSON (JavaScript Object Notation) é um modelo para armazenamento e transmissão

Leia mais