Consulta a dados XML. Vanessa de Paula Braganholo.
|
|
- Moisés David Amarante Galindo
- 6 Há anos
- Visualizações:
Transcrição
1 Consulta a dados XML Vanessa de Paula Braganholo braganholo@dcc.ufrj.br
2 Linguagem de Consulta para XML 1996 padronização do XML Cada vez mais dados disponíveis neste formato Precisam ser consultados! Várias propostas surgiram na academia
3 Linguagens de Consulta para XML Diferentes abordagens : Orientadas para BD (XML-QL, Lorel, Yetl) Sintaxe semelhante a consultas de BD relacionais Orientadas para documentos (XQL) Paradigma Funcional Se baseiam em expressões de caminhos Eficientes na realização de consultas em profundidade Mistas (QUILT, XQuery) Material de Maria Luiza Machado Campos
4 Padronização? W3C define grupo de estudos para propor uma linguagem de consulta padrão Define requisitos para esta nova linguagem
5 Requisitos de Linguagens para XML Expressividade Necessidade de linguagem de consulta não-procedimental Validação Consultas devem dar suporte a namespaces Composição O resultado de uma consulta deve poder ser utilizado dentro de uma outra consulta Material de Maria Luiza Machado Campos
6 Requisitos de Linguagens para XML Deve usar sintaxe XML!!! Basear-se na sintaxe usada por outros padrões XML: XPointer, XSL, etc. Suporte à consulta aos dados e aos metadados Necessidade de uma GUI para consultas Material de Maria Luiza Machado Campos
7 Facilidades esperadas Suporte para operações de consultas padrão. Em uma perspectiva de BD: Seleção: Escolher um documento ou elemento de documento baseado em conteúdo, estrutura ou atributos. Extração: Extrair elementos específicos de um documento. Redução: Remover sub-elementos selecionados de um elemento Restruturação: Construir um novo conjunto de instâncias de elementos. Ordenação, recuperação em ranking e remoção de duplicatas. Combinação: Combinar dois ou mais elementos em um. Material de Maria Luiza Machado Campos
8 Facilidades esperadas Suporte às operações de inserção, atualização e remoção Alguns também pleiteiam gerenciamento de transações Suporte à consultas full-text, wildcards, etc. Habilidade de consultar múltiplos documentos. Material de Maria Luiza Machado Campos
9 Facilidades esperadas Segurança Autorização para operações de inserção, atualização e remoção. Talvez seja importante armazenar informações sobre a atualização: hora, dia, autor. Utilização Se um esquema está disponível, deve ser possível utilizálo para verificar correção da consulta. Inferência ou Mediação Semântica Material de Maria Luiza Machado Campos
10 Linguagens de Consulta XML - Evolução Material de Maria Luiza Machado Campos
11 XQL (XML Query Language) Extensão natural da sintaxe do XSL Compacta, fácil de expressar e ler Simples para casos usuais Embutível em programas, scripts, URLs Os resultados das consultas não retornam documentos com estruturas diferentes do original Não permite a consulta de várias fontes Material de Maria Luiza Machado Campos
12 XQL Processamento de consultas sobre documentos XML Utiliza a idéia de contexto Delimitado pelas expressões de caminhos Conjunto de nós (DOM) Resultado preserva ordem, hierarquia e identidade dos objetos XML-QL permite skolem (auto-numeração) Suporta função de agregação Não suporta inserção, exclusão, atualização, etc Material de Maria Luiza Machado Campos
13 XQL: Sintaxe Imita a sintaxe de navegação da URI Notação / : contexto raiz./ : contexto corrente // : descendente recursivo a partir da raiz.//: descendente recursivo a partir do nó : atributo * : qualquer elemento Material de Maria Luiza Machado Campos
14 Exemplo <?xml version='1.0'?> <!-- This file represents a fragment of a book store inventory database --> <bookstore specialty='novel'> <book style='autobiography'> <title>seven Years in Trenton</title> <author> <first-name>joe</first-name> <last-name>bob</last-name> <award>trenton Literary Review Honorable Mention</award> </author> <price>12</price> </book> <my:book style='leather' price='29.50' xmlns:my=' <my:title>who's Who in Trenton</my:title> <my:author>robert Bob</my:author> </my:book> </bookstore> Material de Maria Luiza Machado Campos
15 XQL: Exemplos (1)./author author /bookstore author/first-name author/* Material de Maria Luiza Machado Campos
16 XQL: Exemplos (2) author[first-name][2] book[excerpt]/author[degree] book[excerpt][title] book[excerpt $and$ title] author[name = ] author[name $eq$ ] author[. = Bob ] author[text() = Bob ] author[first-name!text() = Bob ] degree[index() $lt$ 3] degree[index() < 3] Material de Maria Luiza Machado Campos
17 XQL: Exemplos (3) author[publications!count() > 10] books[pub_date < date( )] books[pub_date < bookstore/(book magazine) //comment()[1] ancestor(book/author) author[0, 2 $to$ 4, -1] Material de Maria Luiza Machado Campos
18 Tamino - Interface Interativa Primeiro SGBD XML nativo Suportava XQL como linguagem de consulta Material de Maria Luiza Machado Campos
19 XQuery
20 XQuery W3C XML Query Language Linguagem declarativa similar a SQL Derivada diretamente do Quilt e XPath Mas aproveita características de muitas outras: XQL: sintaxe baseada em expressões de caminho, adequadas para hierarquias SQL: cláusulas baseadas em palavras reservadas tipo (SELECT-FROM- WHERE) OQL: noção de uma linguagem funcional, composta de expressões que podem ser encadeadas Status: Recomendação em Janeiro de 2007 Material de Maria Luiza Machado Campos
21 XQuery - FLWR Usa uma sintaxe for let where.. return for SQL from where SQL where return SQL select let (sem equivalência SQL) para variáveis temporárias, principalmente para execução de agregações FOR/LET associam valores às variáveis WHERE filtra o resultado vindo das cláusulas FOR/LET RETURN gera a saída da consulta Material de Maria Luiza Machado Campos
22 Expressões Condicionais Análogo ao IF-THEN-ELSE das linguagens de programação Caso o valor do teste seja verdadeiro, o valor da primeira expressão de resultado é retornado; Caso contrário, o resultado da segunda expressão é retornado. Diferencial importante da XQuery Material de Maria Luiza Machado Campos
23 XQuery Capaz de consultar documentos XML simples ou coleções de documentos XML; As consultas podem resultar na transformação dos resultados ou na criação de um novo documento XML; XQuery x XPath XPath não produz resultados de consultas em uma estrutura diferente da existente no documento Não permite realizar junções entre dados XML XQuery x XSLT XSLT é mais adequado à tranformação e XQuery à pesquisa Material de Maria Luiza Machado Campos
24 Onde XQuery pode ser usada? Ferramentas GUI Linhas de comando Programas escritos em Java, C++, e outras linguagens que necessitam extrair dados de documentos XML XQuery (XML) SQL (Banco de Dados) Material de Maria Luiza Machado Campos
25 Exemplo JXQI - Java XQuery API // import public class ExecutaXQuery { public static void main(string[] args) throws Exception { XQueryContext ctx = new XQueryContext(); Reader strm = new FileReader(args[0]); PreparedXQuery xq = ctx.preparexquery(strm); XQueryResultSet rset = xq.executequery(false); while (rset.next()) { XMLNode node = rset.getnode(); // node.print } } } Material de Maria Luiza Machado Campos
26 XQuery - Estrutura Uma consulta XQuery pode ser dividida em três partes: Declarações de Schema * Definição de funções * Expressões de consulta * Opcional Material de Maria Luiza Machado Campos
27 XQuery Estrutura Exemplo # Parte 1: Namespace e Declarações de Schema namespace xsd = # Parte 2: Definição de funções define function factorial (xsd:integer $n) returns xsd:integer { if ($n eq 0) then 1 else $n * factorial($n - 1) } # Parte 3: Expressões de consulta <Results> <Description>Factorial of 10</Description> <Value>{factorial(10)}</Value> </Results> Material de Maria Luiza Machado Campos
28 XQuery - Exemplos
29 Expressões FLWR Consultar os livros publicados em 1992 Expressão de caminho 1992 ] FLWR FOR $b in doc( bib.xml )/bib/book WHERE $b/@year = 1992 RETURN $b Material de Maria Luiza Machado Campos
30 Exemplo 1 <pedido numero="1000"> <cliente> <razao_social>abc</razao_social> <cgc> / </cgc> <endereco> <logradouro>rua das Flores,75 </logradouro> <cidade>porto Alegre</cidade> <estado>rs</estado> </endereco> </cliente> <itens_pedido> <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </itens_pedido> </pedido>
31 Exemplo 1 consulta XQuery <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return $c/razao_social } </resultado> Construtor de elemento o elemento <resultado> será jogado para a saída
32 Exemplo 1 consulta XQuery <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return $c/razao_social } </resultado> Comando for vem entre chaves chaves separam saída de expressões de consulta
33 Exemplo 1 consulta XQuery <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return $c/razao_social } </resultado> Função doc lê o documento pedido.xml
34 Exemplo 1 consulta XQuery <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return $c/razao_social } </resultado> Variável $c é ligada ao resultado da expressão de caminho /pedido/cliente
35 Exemplo 1 consulta XQuery <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return $c/razao_social } </resultado> $c <pedido numero="1000"> <cliente> <razao_social>abc</razao_social> <cgc> / </cgc> <endereco> <logradouro>rua das Flores,75 </logradouro> <cidade>porto Alegre</cidade> <estado>rs</estado> </endereco> </cliente> <itens_pedido> <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </itens_pedido> </pedido> pedido.xml
36 Exemplo 1 consulta XQuery <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return $c/razao_social } </resultado> O for é como um for de linguagem de programação. Para cada cliente que ele encontrar, vai retornar o bloco especificado em return
37 Exemplo 1 consulta XQuery <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return $c/razao_social } </resultado> O return deve ter uma expressão apenas (que pode ser complexa)
38 Exemplo 1 consulta XQuery <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return $c/razao_social } </resultado> $c/razao_social constrói no resultado um elemento razao_social" e seu conteúdo
39 Exemplo 1 consulta XQuery <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return $c/razao_social } </resultado> <resultado> <razao_social>abc</razao_social> </resultado>
40 Exemplo 2 <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return <nome>{$c/razao_social/text()}</nome> } </resultado> Mesmo exemplo, mas agora construímos uma tag <nome> no resultado, e o valor da tag <nome> é o conteúdo textual da tag <razao_social>
41 Exemplo 2 <resultado> {for $c in doc( pedido.xml")/pedido/cliente where $c/cgc = " / " return <nome>{$c/razao_social/text()}</nome> } </resultado> <resultado> <nome>abc</nome> </resultado>
42 Exemplo 3 <itens> {for $i in doc( pedido.xml")/pedido/itens_pedido/item } return $i/produto </itens> <pedido numero="1000"> <cliente> <razao_social>abc</razao_social> <cgc> / </cgc> <endereco> <logradouro>rua das Flores,75 </logradouro> <cidade>porto Alegre</cidade> <estado>rs</estado> </endereco> </cliente> <itens_pedido> <item> <produto>caneta azul</produto> $i <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </itens_pedido> </pedido>
43 Exemplo 3 <itens> <itens> <produto>caneta azul</produto> {for $i in doc( pedido.xml")/pedido/itens_pedido/item } return $i/produto </itens> <pedido numero="1000"> <cliente> <razao_social>abc</razao_social> <cgc> / </cgc> <endereco> <logradouro>rua das Flores,75 </logradouro> <cidade>porto Alegre</cidade> <estado>rs</estado> </endereco> </cliente> <itens_pedido> <item> <produto>caneta azul</produto> $i <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </itens_pedido> </pedido>
44 Exemplo 3 <itens> <itens> <produto>caneta azul</produto> <produto>papel</produto> {for $i in doc( pedido.xml")/pedido/itens_pedido/item } return $i/produto </itens> <pedido numero="1000"> <cliente> <razao_social>abc</razao_social> <cgc> / </cgc> <endereco> <logradouro>rua das Flores,75 </logradouro> <cidade>porto Alegre</cidade> <estado>rs</estado> </endereco> </cliente> <itens_pedido> <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> <item> <produto>papel</produto> $i <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </itens_pedido> </pedido>
45 Exemplo 3 <itens> {for $i in doc( pedido.xml")/pedido/itens_pedido/item } return $i/produto </itens> <itens> <produto>caneta azul</produto> <produto>papel</produto> </itens> <pedido numero="1000"> <cliente> <razao_social>abc</razao_social> <cgc> / </cgc> <endereco> <logradouro>rua das Flores,75 </logradouro> <cidade>porto Alegre</cidade> <estado>rs</estado> </endereco> </cliente> <itens_pedido> <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </itens_pedido> </pedido>
46 Expressões de Quantificação Expressão SOME Se algum elemento de uma coleção satisfaz determinada condição Quantificador existencial Expressão EVERY Se todos os elementos da coleção satisfazem esta condição Quantificador universal Material de Maria Luiza Machado Campos
47 <bib> <book> <author> <first>john</first> <last>stevens</last> </author> <author> <first>mary</first> <last>jane</last> </author> <title>abc</title> </book> <book> <author> <first>john</first> <last>stevens</last> </author> <author> <first>charles</first> <last>stevens</last> </author> <title>xxx</title> </book> </bib> DOC XML
48 Expressões de Quantificação Listar os títulos dos livros que satisfaçam a condição de o último nome de ALGUM dos autores ser igual a Stevens FOR $b IN doc("bib.xml")/bib/book WHERE SOME $a in $b/author/last SATISFIES $a = "Stevens" RETURN $b/title Material de Maria Luiza Machado Campos
49 <bib> <book> <author> <first>john</first> <last>stevens</last> </author> <author> <first>mary</first> <last>jane</last> </author> <title>abc</title> </book> <book> <author> <first>john</first> <last>stevens</last> </author> <author> <first>charles</first> <last>stevens</last> </author> <title>xxx</title> </book> </bib> FOR $b IN doc("bib.xml")/bib/book WHERE SOME $a in $b/author/last SATISFIES $a = "Stevens" RETURN $b/title
50 Expressões de Quantificação Listar os títulos dos livros que satisfaçam a condição de o último nome de TODOS os autores ser igual a Stevens FOR $b IN document("bib.xml")/bib/book WHERE EVERY $a in $b/author/last SATISFIES $a = "Stevens" RETURN $b/title Material de Maria Luiza Machado Campos
51 <bib> <book> <author> <first>john</first> <last>stevens</last> </author> <author> <first>mary</first> <last>jane</last> </author> <title>abc</title> </book> <book> <author> <first>john</first> <last>stevens</last> </author> <author> <first>charles</first> <last>stevens</last> </author> <title>xxx</title> </book> </bib> FOR $b IN document("bib.xml")/bib/book WHERE EVERY $a in $b/author/last SATISFIES $a = "Stevens" RETURN $b/title
52 XQuery O resultado de uma consulta XQuery pode não ser um documento XML! Exemplo: um resultado que não tem uma raiz
53 Exemplo 4 for $i in doc( pedido.xml")/pedido/itens_pedido/item doc("bib.xml")/bib/livro return return $l/titulo $i/produto <produto>caneta azul</produto>, <produto>papel</produto>
54 Exemplo 5 for $i in doc( pedido.xml")/pedido/itens_pedido/item return $i Fragmento 1 Fragmento 2 <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item>, <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item>
55 Exemplo 6 Para retornar mais de um elemento, sem raiz envolvendo cada retorno, usar parênteses for $i in doc( pedido.xml")/pedido/itens_pedido/item return ($i/produto, $i/quantidade) O parênteses é necessário para que $i/quatidade esteja dentro do escopo do for, caso contrário, o processador dirá que $i não foi declarada
56 Vamos brincar de consultar XML? Vamos brincar de consultar XML? Vamos usar um DEMO online para executar consultas Xquery Abram o site e escolham o link Relational As consultas serão feitas sobre os arquivos users.xml, items.xml e bids.xml Tais arquivos estão ligados às variáveis $users, $items e $bids, respectivamente Ao escrever a consulta, substitua doc( users users.xml ) ), por $users (e assim sucessivamente) Para ver o conteúdo destes arquivos, acesse
57 Exercício 1 Selecionar itemno e description dos itens onde offered_by = U01. Salve num arquivo chamado exercicio1.xq
58 Exercício 2 Monte uma consulta que traga todos os usuários, com name e rating, onde o rating= B". As tags devem aparecer no resultado em português. Salve num arquivo chamado exercicio2.xq <result> <usuario> <nome>tom Jones</nome><nota>B</nota> </usuario> <usuario> <nome>jack Sprat</nome><nota>B</nota> </usuario> <usuario> <nome>rip Van Winkle</nome><nota>B</nota> </usuario> </result>
59 Exercício 3 Selecionar todos os bids cujo itemno= Retorne o resultado no seguinte formato: <result> <bid><user><userid>u02</userid></user><bid>35</bid></bid> <bid><user><userid>u04</userid></user><bid>40</bid></bid> <bid><user><userid>u02</userid></user><bid>45</bid></bid> <bid><user><userid>u04</userid></user><bid>50</bid></bid> <bid><user><userid>u02</userid></user><bid>55</bid></bid> </result>
60 Exercício 4 Monte uma consulta que retorna todos os items (com sua estrutura completa) que tem reserve_price=25 e foram oferecidos por U02.
61 Junção Exemplo 7 <itens> {for $i in doc( pedido.xml")/pedido/itens_pedido/item, $c in doc( pedido.xml")/pedido/cliente return <desc> {$i/produto} {$c/razao_social} </desc> } </itens> <pedido numero="1000"> <cliente> <razao_social>abc</razao_social> <cgc> / </cgc> <endereco> <logradouro>rua das Flores,75 </logradouro> <cidade>porto Alegre</cidade> <estado>rs</estado> </endereco> </cliente> <itens_pedido> <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </itens_pedido> </pedido>
62 Junção Exemplo 7 <itens> {for $i in doc( pedido.xml")/pedido/itens_pedido/item, $c in doc( pedido.xml")/pedido/cliente return <desc> {$i/produto} {$c/razao_social} </desc> } </itens> <itens> <desc> <produto>caneta azul</produto> <razao_social>abc</razao_social> </desc> <desc> <produto>papel</produto> <razao_social>abc</razao_social> </desc> </itens> <pedido numero="1000"> <cliente> <razao_social>abc</razao_social> <cgc> / </cgc> <endereco> <logradouro>rua das Flores,75 </logradouro> <cidade>porto Alegre</cidade> <estado>rs</estado> </endereco> </cliente> <itens_pedido> <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </itens_pedido> </pedido>
63 Junção Exemplo 8 <itens> {for $i1 in doc( pedido.xml")/pedido/itens_pedido/item, $i2 in doc( pedido.xml")/pedido/itens_pedido/item return <desc> {$i1/produto} {$i2/quantidade} </desc> } </itens> <pedido numero="1000"> <cliente> <razao_social>abc</razao_social> <cgc> / </cgc> <endereco> <logradouro>rua das Flores,75 </logradouro> <cidade>porto Alegre</cidade> <estado>rs</estado> </endereco> </cliente> <itens_pedido> <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </itens_pedido> </pedido>
64 Junção Exemplo 8 <itens> {for $i1 in doc( pedido.xml")/pedido/itens_pedido/item, $i2 in doc( pedido.xml")/pedido/itens_pedido/item return <desc> {$i1/produto} {$i2/preco_unit} </desc> } </itens> <pedido numero="1000"> <cliente> <razao_social>abc</razao_social> <cgc> / </cgc> <endereco> <logradouro>rua das Flores,75 </logradouro> <itens> <cidade>porto Alegre</cidade> <estado>rs</estado> </endereco> </cliente> <itens_pedido> <item> </item> <item> </item> </itens_pedido> </pedido> <desc> <produto>caneta azul</produto> <preco_unit>2</preco_unit> </desc> <desc> <produto>caneta azul</produto> <produto>caneta azul</produto> <preco_unit>8</preco_unit> <quantidade>100</quantidade> </desc> <preco_unit>2</preco_unit> <desc> <produto>papel</produto> <preco_unit>2</preco_unit> <produto>papel</produto> </desc> <quantidade>100</quantidade> <desc> <preco_unit>8</preco_unit> <produto>papel</produto> <preco_unit>8</preco_unit> </desc> </itens>
65 Exercício 6 Faça a junção de items e bids por itemno Retorne no resultado: Userid Description itemno <bids> <bid> <userid>u02</userid> <description>red Bicycle</description> <itemno>1001</itemno> </bid> <bid> <userid>u04</userid> <description>red Bicycle</description> <itemno>1001</itemno> </bid> <bid> <userid>u02</userid> <description>red Bicycle</description> <itemno>1001</itemno> </bid>... </bids>
66 Diferença entre FOR e LET: FOR LET liga variáveis nodo iteração FOR $x in expr -- liga $x a cada valor na lista expr Exemplo FOR $i IN //item (Resulta em muitas associações, cada uma delas associa a variável $i a um item do pedido) liga variáveis coleção um valor LET $x := expr -- liga $x à lista expr inteira Exemplo LET $b := //item (Resulta em uma única associação onde a variável $i passa a possuir uma sequência com todos os itens do pedido) Material de Maria Luiza Machado Campos
67 Expressão LET Exemplo 9 let $I := doc( pedido.xml")/pedido/itens_pedido/item return $i <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item>, <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item>
68 Expressão LET Exemplo 9 let $I := doc( pedido.xml")/pedido/itens_pedido/item return $i <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item>, <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> Este exemplo retornou o mesmo que o exemplo 5, que usava for
69 FOR versus LET FOR liga variáveis nodo iteração FOR $x $xin INdoc( pedido.xml")//item RETURN <result> $x $x </result> Retorna: <result> <item>...</item></result> <result> <item>...</item></result> <result> <item>...</item></result>... LET liga variáveis coleção um valor LET $x $x := := doc( pedido.xml")//item RETURN <result> $x $x </result> Retorna: <result> <item>...</ item> <item>...</ item> <item>...</ item>... </result> Material de Maria Luiza Machado Campos
70 LET x FOR Exemplo 10 let $i := doc( pedido.xml")//item return <pedidos> {$i} </pedidos> for $l in doc( pedido.xml")//item return <pedidos> {$i} </pedidos>
71 LET x FOR Exemplo 10 let $i := doc( pedido.xml")//item return <pedidos> {$i} </pedidos> <pedidos> <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </pedidos> for $l in doc( pedido.xml")//item return <pedidos> {$i} </pedidos> <pedidos> <item> <produto>caneta azul</produto> <quantidade>100</quantidade> <preco_unit>2</preco_unit> </item> </pedidos>, <pedidos> <item> <produto>papel</produto> <quantidade>100</quantidade> <preco_unit>8</preco_unit> </item> </pedidos>
72 LET É usado principalmente para fornecer entrada para operadores de agregação max min sum count avg
73 COUNT Exemplo 11 <itens> {for $i in doc( pedido.xml")//item return {$i/produto} } {let $t := doc( pedido.xml")//item return <total_itens>{count($t)}</total_itens> } </itens> <itens> <produto>caneta azul</produto> <produto>papel</produto> <total_itens>2</total_itens> </itens>
74 Exercício 7 (a) Faça uma consulta que retorne a média de bids de todos os usuários (usar o documento bids) (b) Faça uma consulta que retorne a média de bids de cada usuário (dica: usar um for para pegar cada usuário e depois um let) Para pegar só os usuários diferentes: for $u in distinct-values($bids/bids/bid_tuple/userid)
75 Exercício 7 (cont.) (c) Faça uma consulta que retorna a descrição do item com reserve_price mais caro (d) Faça uma consulta que retorna a descrição dos itens que possuem um bid maior que seu reserve_price (e) Faça uma consulta que retorna o número de bids de cada item
76 Ordenação em XQuery <publisher_list> {FOR $p IN distinct-values(doc("bib.xml")//publisher) ORDER BY $p/name RETURN <publisher> <name> $p/text() </name> {FOR $b IN doc("bib.xml")//book[publisher = $p] ORDER BY $b/price DESCENDING RETURN <book> {$b/title} {$b/price} </book> </publisher> </publisher_list> Material de Maria Luiza Machado Campos
77 Consulta a vários documentos? Funções de entrada de dados: doc collection Para consulta a vários documentos, usar collection Coleção tem que estar definida Exemplo: exist suporta coleções
78 exist
79 Alguns Aplicativos XML Spy (interface gráfica) Galax (Open Source) FatDog XQEngine Microsoft XQuery Demo Qexo - GNU Kawa QuiP Software AG developer.softwareag.com/tamino/quip Material de Maria Luiza Machado Campos
80 Outras Linguagens de consulta Lorel (Lightweight Object REpository Language) YATL Xtract XMLQuery XML Query Engine XML-GL Quilt XML-QL Material de Maria Luiza Machado Campos
81 XQUpdate
82 Linguagem para atualização XQuery ainda não suporta atualizações Proposta está sendo desenvolvida (W3C Working Draft de 11 de Julho de 2006) Evolução da idéia publicada em 2001, num dos congressos mais importantes da área de Banco de Dados (SIGMOD): I. Tatarinov, Z. Ives, A. Halevy, and D. Weld. Updating XML. Maio de 2001
83 Funcionalidades: Deletar nodos Inserir nodos em uma determinada posição Substituir um nodo Modificar o valor de um nodo Substituir um nodo Modificar propriedades do nodo (valor, tipo, conteúdo, etc.) Mover nodos Permitir atualizações condicionais Permitir iterar sobre nodos para atualizá-los Permitir validação (esquema) Permitir que operações sejam compostas (o resultado de uma atualização é entrada de outra) Permitir atualizações parametrizadas
84 Sintaxe Como a linguagem ainda está sendo definida, veremos apenas alguns exemplos para mostrar a idéia da proposta Não vale a pena focar na sintaxe, já que ela provavelmente ainda vai mudar muito até a sua padronização
85 Exemplos Inserir um elemento year depois do publisher do primeiro book insert <year>2005</year> after fn:doc("bib.xml")/books/book[1]/publisher
86 Exemplos Excluir o último autor do primeiro livro delete {fn:doc("bib.xml")/books/book[1]/author[last()]}
87 Exemplos Aumentar o preço do primeiro livro em 10% replace value of {fn:doc("bib.xml")/books/book[1]/price} with fn:doc("bib.xml")/books/book[1]/price * 1.1
88 Exemplos Renomear o primeiro elemento author do primeiro book para principal-author rename {fn:doc("bib.xml")/books/book[1]/author[1]} to "principal-author"
89 Exemplos Retornar uma seqüência contendo todos os elementos employee que possuem Java como skill, excluindo o sub-elemento salary for $e in //employee[skill = "Java"] return transform copy $je := $e do delete {$je/salary} return $je
90 Extensões para a XQuery Cláusula FLWR agora tem um do (neste caso, o que vem depois TEM QUE SER uma expressão de atualização) FLWORExpr ::= (ForClause LetClause)+ WhereClause? OrderByClause? ("return" "do") ExprSingle
Consulta a dados XML - XQuery. Vanessa Braganholo
Consulta a dados XML - XQuery Vanessa Braganholo Linguagem de Consulta para XML 1996 padronização do XML Cada vez mais dados disponíveis neste formato Precisam ser consultados! Várias propostas surgiram
Leia maisGerência de Dados da Web
Sumário Gerência de Dados da Web - DCC922 - Linguagens de Consulta para Dados XML: XPath e Xquery Alberto H. F. Laender 2014 XPath Modelo de dados Expressões simples e atalhos Funções Expressões complexas
Leia maisGerência de Dados da Web
Sumário Gerência de Dados da Web - DCC922 - Linguagens de Consulta para Dados XML: XPath e Xquery Alberto H. F. Laender 2015 XPath Modelo de dados Expressões simples e atalhos Funções Expressões complexas
Leia maisXQuery Update. Gestão e Tratamento da Informação DEI IST
XQuery Update Gestão e Tratamento da Informação DEI IST (baseado nos slides de Ioana Manolescu, acessíveis em: http://www-rocq.inria.fr/~abitebou/master-ssd/slxqupdate.pdf) Agenda Aspectos básicos Porquê
Leia maisXSL - 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 maisArmazenamento Nativo. Vanessa Braganholo. Vanessa Braganholo
Armazenamento Nativo Vanessa Braganholo Vanessa Braganholo Como armazenar? 1. Sistema de arquivos 2. Banco de Dados Relacional/Objeto Relacional/etc. com suporte a XML (habilitado a XML ou híbrido) 3.
Leia maisANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início
Leia maisINE BDNC. Bancos de Dados XML
INE 661300 - BDNC Bancos de Dados XML Formas de Gerência de Dados XML SGBDRs estendidos com suporte à XML adequados a dados XML fortemente estruturados ( documentos orientados a registros )
Leia maisRá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 maisFormas de Gerência de Dados XML
Bancos de Dados XML Formas de Gerência de Dados XML SGBDRs estendidos com suporte à XML adequados a dados XML fortemente estruturados ( documentos orientados a registros ) beira-mar104apto
Leia maisXML. Prof. Júlio Machado
XML Prof. Júlio Machado julio.machado@pucrs.br INTRODUÇÃO O que é XML? É a sigla de Extensible Markup Language Linguagem de especificação para descrever dados Padrão aberto e largamente usado Definido
Leia maisGERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY. Prof. Angelo Augusto Frozza
GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY Prof. Angelo Augusto Frozza XQUERY (XML QUERY LANGUAGE) XQuery é para XML o que o SQL é para Banco de Dados. XQUERY (XML QUERY LANGUAGE) XQuery é uma linguagem
Leia maisIntroduçã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 maisOracle Database 10g: Fundamentos de SQL e PL/SQL
Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer
Leia maisUm 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 maisIntrodução XML. Vanessa Braganholo
Introdução XML Vanessa Braganholo {vanessa@ic.uff.br} Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo O que é XML? } XML = extensible Markup
Leia maisXQuery (2ª parte) DEI IST. (baseado nos slides de Ioana Manolescu, acessíveis em: http://www-rocq.inria.fr/~abitebou/master-ssd/slxquery.
XQuery (2ª parte) DEI IST (baseado nos slides de Ioana Manolescu, acessíveis em: http://www-rocq.inria.fr/~abitebou/master-ssd/slxquery.pdf) Agenda Formulação de interrogações Expressões FLOWR Sumário
Leia maisSumário. Gerência de Dados da Web - DCC922 - Linguagens de Consulta. Características Desejáveis de uma LC/DSE. Linguagens de Consulta
Sumário Gerência de Dados da Web - DCC922 - Linguagens de Consulta Alberto H. F. Laender Linguagens de Consulta para Dados da Web Caracterização geral Características desejáveis de uma LC/DSE Algumas Linguagens
Leia maisUTFPR - 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 maisAs Instruções DML. As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados:
As Instruções DML As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados: o INSERT - permite a inclusão de novos registros (linhas) nas tabelas o
Leia maisIntrodução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta
Bancos de dados XML Conceitos e linguagens de consulta Sidney Roberto de Sousa MC536 - Bancos de Dados: Teoria e prática Material base: W3Schools XPath and XQuery Tutorial http://www.w3schools.com/xpath/
Leia maisXQuery (1ª parte) Gestão e Tratamento da Informação DEI IST. (baseado nos slides de Ioana Manolescu, acessíveis em:
XQuery (1ª parte) Gestão e Tratamento da Informação DEI IST (baseado nos slides de Ioana Manolescu, acessíveis em: http://www-rocq.inria.fr/~abitebou/master-ssd/slxquery.pdf) Agenda Aspectos básicos Porquê
Leia maisProf. Fabiano Taguchi
BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com OPERAÇÕES LÓGICAS AND (E) Avalia as condições e devolve um valor verdadeiro caso ambas condições forem
Leia maisLinguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;
MySQL SQL (Structured Query Languagem ) Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; Inicialmente - Sequel
Leia maisAULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)
AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados
Leia maisUnidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano
Linguagem de Programação 1 Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Objetivo: Desenvolver a habilidade de comentar código adequadamente INTRODUÇÃO Até o momento
Leia maisXPath e XSLT. Ferramentas para Internet Marx Gomes Van der Linden. ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida )
XPath e XSLT Ferramentas para Internet Marx Gomes Van der Linden ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida ) XSL XSL Extensible Stylesheet Language Uma família de linguagens
Leia maisXMLs E INTEGRAÇÃO COM BANCOS DE DADOS
Faculdade de Tecnologia de Guaratinguetá. 07, novembro de 2011. XMLs E INTEGRAÇÃO COM BANCOS DE DADOS Abel Vieira, Cleber Lopes, Pedro Lemes saitovieira@gmail.com, cleber.campomori@gmail.com, pedro.lemes@gmail.com
Leia maisDados Semi-Estruturados e XML
Dados Semi-Estruturados e XML Dados da Web A Web constitui hoje um repositório universal de dados Características dos dados da Web: Disponíveis através de documentos textuais Utilizados apenas para consumo
Leia maisSumário. XML (extensible Markup Language)
Sumário 1 Introdução Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto-Relacional 3 BD Temporal 4 BD Geográfico 5 XML e Bancos de Dados XML (extensible Markup Language) Tecnologia desenvolvida
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED
Leia maisÁlgebra Relacional e SQL
Álgebra Relacional e SQL Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Álgebra Relacional Maneira teórica de se manipular o banco de dados relacional Linguagem de consulta procedural usuários
Leia maisOracle Database 11g: Introdução à Linguagem SQL Novo
Oracle University Contact Us: 0800 891 6502 Oracle Database 11g: Introdução à Linguagem SQL Novo Duration: 5 Days What you will learn Neste curso, os alunos aprendem os conceitos de bancos de dados relacionais.
Leia maisGrupo: Rodrigo Pescador Lucas Silveira Renê Rodrigues Eduardo Dellandrea Thiago Bonetti. BANCOS DE DADOS II Bancos de Dados Semi-Estruturados e XML
Bancos de Dados Semi-Estruturados e XML Grupo: Rodrigo Pescador Lucas Silveira Renê Rodrigues Eduardo Dellandrea Thiago Bonetti O que é XML: iniciando XML - Extensible Markup Language (Linguagem de Marcação
Leia maisDDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR
SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80
Leia maisIntroduçã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 maisMySql. Introdução a MySQL. Andréa Garcia Trindade
MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo
Leia maisXML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA
XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados
Leia maisBancos (Bases) de Dados
Bancos (Bases) de Dados Aula #8 SQL Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza SQL (Structured Query Language) Linguagem
Leia mais- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.
2.3 Linguagens relacionais (continuação) SQL Structured Query Language 1) "Query block" Select From Where - Um "query block" permite a implementação
Leia maisAgenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais
Linguagem de Consulta SQL Profa. Carla A. Lima Reis SQL Agenda Introdução Histórico BD relacionais Linguagem SQL Definição de BD Manipulação de BD com SQL Consultas SQL Consultas com várias tabelas Subconsultas
Leia maisXML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de
Capítulo 9: XML XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de documentos XML: XSLT Mapeamento entre documentos
Leia maisINE 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 maisGES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 1 Introdução e Consultas Basicas
GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 1 Introdução e Consultas Basicas Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC UFU/FACOM Página
Leia maisAvisos. SQL: Visões. Roteiro SELECT. Suporte de SQL para OLAP SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Cronograma das próximas aulas
Ciência da Computação GBC043 Sistemas de Banco de Dados Avisos SQL: Visões Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2019 Cronograma das próximas aulas
Leia maisFrancisco Roeder. Orientador: Prof. Adilson Vahldick
Francisco Roeder AGRUPAMENTO E ORDENAÇÃO NAS CONSULTAS EM BANCOS DE DADOS DISTRIBUÍDOS ATRAVÉS DE DRIVER JDBC Orientador: Prof. Adilson Vahldick Roteiro da apresentação Introdução Objetivos Fundamentação
Leia maisOracle Database: Fundamentos de SQL e PL/SQL
Oracle University Contact Us: 0800 891 6502 Oracle Database: Fundamentos de SQL e PL/SQL Duration: 5 Days What you will learn Este curso apresenta os fundamentos de SQL e PL/SQL e as vantagens das linguagens
Leia maisCapítulo 9: Sistemas de banco de dados
Capítulo 9: Sistemas de banco de dados Ciência da computação: Uma visão abrangente 11a Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Database (Banco de Dados) Uma coleção de dados
Leia maisTópicos. Apresentando a família XML HTML HTML. XML extesible Markup Language. Problemas com o HTML
Tópicos Apresentando a família XML Prof.Tiago Lopes Telecken telecken@gmail.com IFRS Rio Grande HTML XML A família de tecnologias XML (DTD, XML Schemas, XHTML, SVG, MathML, MusicML, XMI, CSS, XSLT, XLINK,
Leia maisMatéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
Matéria Introdutória Banco de Dados Motivação Necessidade de armazenar grandes quantidades de dados Necessidade de acessar as informações de maneira eficiente e segura Evolução histórica: desenvolvimento
Leia maisA U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A
BANCO DE DADOS GERENCIAL 1 A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A CONCEITOS LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) A linguagem
Leia mais2 Instalando e configurando o ambiente de desenvolvimento do Microsoft SQL Server
Sumário Parte 1 Introdução ao desenvolvimento de banco de dados com o Microsoft SQL Server 2005 1 Apresentando o desenvolvimento de banco de dados com o Microsoft SQL Server 2005... 21 O processo de armazenar
Leia maisPreparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018
Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação criar tabela Criar um novo arquivo de banco de dados chamado Escola Criar a tabela, como especificado abaixo: Create table
Leia maisAULA 2 VISÃO BÁSICA DE CLASSES EM PHP
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Leia maisIntrodução em Banco de Dados
Introdução em Banco de Dados Aula07 ComandosSQLeMySQL Prof: Franciel MySQL é um banco de dados cliente servidor gratuito É simples, tem alto desempenho, é disponível para várias plataformas e é robusto
Leia maisAula 06 Sistemas Embarcados LT38C
Aula 06 Sistemas Embarcados LT38C Prof. Lucas Ricken Garcia 2017/1 Introdução a Banco de Dados Coleção de dados relacionados. Fatos conhecidos que podem ser registrados e possuem significado implícito.
Leia maisBANCO DE DADOS PARA WEB
BANCO DE DADOS PARA WEB PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com BANCO DE DADOS O banco de dados será de fundamental importância para a criação de páginas dinâmicas,
Leia maisOracle Objeto-Relacional. Pablo Vieira Florentino
Oracle Objeto-Relacional Pablo Vieira Florentino Motivação - Modelo Objeto-Relacional Resposta dos Bancos de Dados Relacionais à Orientação a Objetos Relacional Suporte a SQL, transações, etc. Objeto Suporte
Leia maisRoteiro. SQL: Visões. Suporte de SQL para OLAP SELECT. Detalhando GROUP BY SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Consultas Avançadas Visões
Ciência da Computação GBC043 Sistemas de Banco de Dados Roteiro SQL: Visões Consultas Avançadas Visões Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2018
Leia maisBanco de Dados. SGBDs. Professor: Charles Leite
Banco de Dados SGBDs Professor: Charles Leite Sistemas de BD Vimos que um BANCO DE DADOS representa uma coleção de dados com algumas propriedades implícitas Por exemplo, um BD constitui os dados relacionados
Leia maisIntroduçã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 maisSumário. Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch)
Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos
Leia maisDados Semi-Estruturados e XML
Dados Semi-Estruturados e XML Sumário Dados da Web: Caracterização Gerência de Dados da Web Dados Semi-Estruturados Modelo de dados XML Definição de esquemas Linguagens de Consulta XPath, XQuery 1 Dados
Leia maisATUALIZANDO BANCO DE DADOS OBJETO RELACIONAL ATRAVÉS DE VISÕES XML
ATUALIZANDO BANCO DE DADOS OBJETO RELACIONAL ATRAVÉS DE VISÕES XML Mestrando: Wamberg Gláucon Chaves de Oliveira Orientadora: Profa. Dra. Vânia Maria Ponte Vidal Universidade Federal do Ceará Departamento
Leia maisXML - Extensible Markup Language
Por Sergio Crespo XML - Extensible Markup Language Extensible Markup Language (XML) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Isso
Leia maisAULA 01 Bancos de Dados Relacionais Arquitetura Linguagem SQL Componentes: DDL, DML, DCL. Prof. Msc. Célio R. Castelano
AULA 01 Bancos de Dados Relacionais Arquitetura Linguagem SQL Componentes: DDL, DML, DCL Prof. Msc. Célio R. Castelano TÓPICOS Projeto de Bancos de Dados Relacionais Arquitetura Modelagem Conceitual Modelagem
Leia maisCONTEÚ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 maisSQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.
LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre
Leia maisAula 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 maisPreparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013
Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação Criar um banco de dados denominado Escola ; Criar a tabela, como especificado abaixo: # RA Numeric(8) Nome Serie Turma
Leia maisBanco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional
Banco de Dados Banco de Dados II Conceitos Básicos Coleção logicamente coerente de dados relacionados com algum significado inerente; Exemplos de bancos de dados: Agenda de endereços (papel ou computador)
Leia maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Leia maisBanco de Dados. Professora: Luciana Faria
Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é
Leia maisManipulaçã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 maisS Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore
S Q L Asserções, Visões e Técnicas de Programação Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore Resumo Apresentaremos os seguintes tópicos: - Especificação de restrições genéricas
Leia maisSQL (com MySQL) Apresentação OBJETIVOS. Programação
SQL (com MySQL) Programação Formato: Mentored - Presencial Preço: 395 ( Os valores apresentados não incluem IVA. Oferta de IVA a particulares e estudantes. ) Horário: Flexível das 2ª a 6ª das 9h às 21h30
Leia maisVariáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
Leia maisDOM (Document Object Model)
DOM (Document Object Model) Modelo de dados para XML estrutura hierárquica (árvore) métodos de acesso (API DOM) principais classes de objetos document, node, nodelist e element execução de consultas e
Leia maisBanco 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 maisPCS3413. Engenharia de So-ware e Banco de Dados. Aula 17. Escola Politécnica da Universidade de São Paulo
PCS3413 Engenharia de So-ware e Banco de Dados Aula 17 Escola Politécnica da Universidade de São Paulo 1 SQL STRUCTURED QUERY LANGUAGE Manipulação de dados operações de modificam o estado das tabelas:
Leia maisROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br ROTEIRO Introdução
Leia maisWeb Development. Apresentação. Destinatários. Pré-requisitos. Web Design & Development
Web Development Web Design & Development Formato: Mentored - Online Preço: 968,50 ( Os valores apresentados não incluem IVA. Oferta de IVA a particulares e estudantes. ) Horário: Flexível das 24h/24h Duração:
Leia maisBanco de Dados PLPGSQL. Prof. Dr. Joel da Silva
Banco de Dados PLPGSQL Prof. Dr. Joel da Silva - Introdução 2 - Introdução A PLPGSQL ou PL/pgSQL é uma linguagem estendida da SQL que tem por objetivo auxiliar as tarefas de programação no PostgreSQL.
Leia maisSistemas da Informação. Banco de Dados I. Edson Thizon
Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel
Leia maisCompiladores Análise Semântica
Compiladores Análise Semântica Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp Árvores Sintáticas Abstratas (ASTs) A árvore de análise sintática tem muita informação redundante Separadores,
Leia maisDe forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função
.1 JDBC A linguagem Java possui classes que permitem a com um banco de dados. Essas classes fazem parte do pacote JDBC (Java Database Connectivity), uma API (Application Program Interface) que permite
Leia maisIEC Banco de Dados I Aula 11 Técnicas de Programação SQL
IEC Banco de Dados I Aula 11 Técnicas de Programação SQL Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Site: hjp://bdufam.wordpress.com Sumário
Leia maisJPQL (Java Persistence Query language)
JPQL (Java Persistence Query language) Uma query SELECT JPQL é formada pelas cláusulas SELECT e FROM (obrigatórias) e mais 4 cláusulas opcionais com o seguinte formato: SELECT... FROM... [WHERE...] [GROUP
Leia maisIntrodução a Banco de Dados Prof. Msc Denival A. dos Santos
Introdução a Banco de Dados Prof. Msc Denival A. dos Santos Dado Um dado sozinho, dissociado de um contexto, não expressa algo que traga qualquer certeza ou elimine dúvidas de qualquer natureza. No máximo,
Leia maisDouglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador
Douglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador Introdução Objetivos Fundamentação teórica Desenvolvimento da ferramenta Operacionalidade Resultados e discussão Conclusões Versões futuras
Leia maisIMPLEMENTAÇÃO DE BANCO DE DADOS
IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 LINGUAGEM SQL CONTEÚDO 2. LINGUAGEM SQL 2.1 Linguagens de Definição de Dados (DDL) 2.1.1 Criação de tabela: CREATE 2.1.2 Alteração de Tabela: ALTER 2.1.3 Exclusão
Leia maisTransformação de documentos XML
Transformação de documentos XML César Vittori cvittori@inf.ufrgs.br Outubro de 2000 Resumo XSLT: Transformações XSL. Transformação de documentos XML. XSLT Introdução XSLT: transformações XSL (inglês: XSL
Leia mais