XML Nativo XML. Levante a mão se você. XML Nativo. Mirella M. Moro

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

Download "XML Nativo XML. Levante a mão se você. XML Nativo. Mirella M. Moro"

Transcrição

1 XML Nativo Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais Levante a mão se você Nunca ouviu falar de XML Sabe escrever um documento XML Sabe consultas em XPath/XQuery Faz pesquisa com XML Conhece XML nativo Este minicurso é para vocês todos SBBD 2008: XML Nativo 2 XML Nativo XML Nativo XML XML A linguagem que apareceu para resolver todos os problemas do mundo É tipo assim A melhor linguagem para resolver alguns problemas de gerenciamento de dados Sim bem resolvido? XML Fever E. Wilde, R. J. Glushko Communications ACM, July 2008 SBBD 2008: XML Nativo 3 SBBD 2008: XML Nativo 4

2 XML Nativo XML está por toda a parte Web services (formato de feeds RSS) Integração (e-commerce) Padrões abertos para troca de arquivos XML está por toda a parte Advertising: adxml place an ad onto an ad network or to a single vendor Banking: MBA Mortgage Bankers Association of America credit report, loan file, underwriting Directories: dirxml Novell s Directory Services Markup Language Literature: Gutenberg convert the world s great literature into XML Geospatial: ANZMETA distributed national directory for land information Healthcare: HL7 DTDs for prescriptions, policies & procedures, clinical trials Human Resources: XML-HR standardization of HR/electronic recruiting XML definitions International Dvt: IDML improve the mgt. and exchange of info. for sustainable development Math: MathML Mathematical Markup Language News: NewsML creation, transfer and delivery of news Surveys: DDI Data Documentation Initiative, codebooks in the social and behavioral sciences Travel: opentravel information for airlines, hotels, and car rental places Voice: VoxML markup language for voice applications Wireless: WAP Wireless Application Protocol, wireless devices on the World Wide Web Weather: OMF Weather Observation Markup Format Web Servers: apachexml parsers, XSL, web publishing SBBD 2008: XML Nativo 5 SBBD 2008: XML Nativo 6 XML Nativo Semi-estruturado Modelo relacional: relações e propriedades tabelas e colunas Semi-estruturado: relaxa as restrições adiciona aninhamento, repetição e recursão Aninhamento Repetição Recursão <continents> <LatinAmerica> <Brazil language= Portuguese population= > <FamousThings> <people> <TopModels> </TopModels> <SoccerPlayers> </SoccerPlayers> <artists> <painter> </painter> <painter> </painter> </artists> </people> <parties> <carnival> </carnival> </parties></famousthings></brazil></latinamerica> </continents> SBBD 2008: XML Nativo 7 SBBD 2008: XML Nativo 8

3 Aninhamento Repetição Recursão <continents> <LatinAmerica> <Brazil language= Portuguese population= > <FamousThings> <people> <TopModels> </TopModels> <SoccerPlayers> </SoccerPlayers> <artists> <painter> </painter> <painter> </painter> </artists> </people> <parties> <carnival> </carnival> </parties> </FamousThings> </Brazil> </LatinAmerica> </continents> TopModels continents LatinAmerica Brazil FamousThings people SoccerPlayers painter artists painter parties carnival XML Nativo Muito se tem feito na pesquisa Mais ainda na indústria Muitas opções XML sobre tabelas relacionais XML como arquivos texto XML como estruturas de árvore FORMATO NATIVO SBBD 2008: XML Nativo 9 SBBD 2008: XML Nativo 10 Ao final deste minicurso Conceitos básicos de XML Modelo de dados XML Armazenamento de dados XML Consulta a dados XML Por que é importante?! FOCO: processamento NATIVO Roteiro 1. Conceitos básicos 2. Modelo de dados 3. Como modelar dados XML 4. Como armazenar dados XML 5. Como consultar dados XML 6. Revisão e oportunidades SBBD 2008: XML Nativo 11 SBBD 2008: XML Nativo 12

4 1.1. XML 1. Conceitos Básicos 1. XML 2. O que? 3. Quando? 4. Por quê? 5. Onde? 6. Como? 7. XML Nativo HTML usa tags para formatação (italic) Criar conjunto de tags para um domínio (ex. genoma), e traduzir dados para documentos apropriadamente marcados (tags) Linguagem usa tags para semântica Aplicável para qualquer semântica extensible Markup Language SBBD 2008: XML Nativo O que XML? Modelo de Dados Relacional Normalizado em tabelas (colunas, linhas) Estrutura definida Novo Modelo de Dados Baseado em árvores Representação de dados flexível, estrutura variável Compartilhamento de documentos entre sistemas e base de dados O que XML? É uma metalinguagem não uma linguagem específica Define regras de como marcar o documento não define os nomes usados na marcação Document Type Definition (DTD) para restringir a marcação permitida em uma classe de documentos Todas as linguagens naturais, independente de conjunto de caracteres, orientação de escrita, SBBD 2008: XML Nativo 15 SBBD 2008: XML Nativo 16

5 O que XML? <bibliografia> Tipo de elemento <artigo ID="object-fusion"> <autores> <autor>y. Papakonstantinou</autor> <autor>s. Abiteboul</autor> <autor>h. Garcia-Molina</autor> </autores> <artigocompleto source="fusion"/> <título>object Fusion in Mediator Systems</título> <public>vldb 96</public> </artigo> </bibliografia> Conteúdo, caracteres Elemento Conteúdo Elemento Elemento Vazio SBBD 2008: XML Nativo 17 XML vs. HTML <h1> Bibliografia </h1> <p> <i> Foundations of DB Systems</i>, Elmasri, Navathe <br> Addison-Wesley, 2006 <p> <i> Encyclopedia of DB Systems</i>, Ozsu, Liu, eds. <br> 2008 HTML tags apresentação, <bibliografia> estrutura genérica <livro> <titulo> Foundations of DB Systems </titulo> <autor> Elmasri </autor> <autor> Navathe </autor> <editora> Addison-Wesley </editora>... </livro> <livro>... <editor> Ozsu </editor>... </livro>... </bibliografia> XML tags conteúdo, semântica, (DTD-) específica SBBD 2008: XML Nativo Quando XML? Infraestrutura para Internet 1986 SGML (Standard Generalized Markup Language): define como representar documentos estruturados 1991 WWW e HTML 1991 Indústria adota WWW; grande expansão da Internet 1995 Evolução para novos tipos de negócios: baseados em conexão com pessoas do mundo inteiro e conexão de aplicações construídas por vários fornecedores (B2C, B2B) Necessidade de um formato de dados novo e comum (padrão) para ser usado na Internet 1.4. Por que XML? Flexível Padrão para descrever formato de dados Auto-descritivo, metadados no documento Legível e disponível em qualquer língua Possibilita o conteúdo (informação) de um documento ser separado dos detalhes de apresentação SBBD 2008: XML Nativo 19 SBBD 2008: XML Nativo 20

6 Por que XML? Auto-descritivo horrível TERCEIRA LINHA DO okprimeiro VERSO?! muito melhor ÐÏ^Qà \documentclass{article} <?xml version="1.0"?> \begin{document} <universal_library> \{Some Quotations from the <books> ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Universal Library} <book> ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ... ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \section{famous Quotes} <> Some Quotations from the Universal ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì \subsection{by William I} Library</> \textbf{\cite[sonnet <section> <> Famous Quotes </> XVIII]{shakespeare-sonnets- <subsection> <> By William I </> ^@Some Quotations from the Universal Library^M1 1609}} <quote bibref="shakespeare-sonnets-1609"> Famous Quotes^M1.1 By William I^M[2, \begin{verse} <> Sonnet XVIII</> Sonnet XVIII]^MShall I compare thee to a Shall I compare thee to a summer's summer's day?^mthou art more lovely and day?\\ <verse> more temperate.^mrough winds do shake the Thou art more lovely and more <line>shall I compare thee to a summer's darling buds of May,^MAnd summer's lease temperate. \\ day? </line> hath all too short a date.^msometime too hot Rough winds do shake the darling <line>thou art more lovely and more the eye of heaven shines,^mand often is his buds of May, \\ temperate. </line> gold complexion dimmed.^mand every fair And summer's lease hath all too short from fair some declines,^mby chance or a date. \\ <line>rough winds do shake the darling nature's changing course untrimmed.^mbut thy Sometime too hot the eye of heaven buds of May, </line> eternal summer shall not fade,^mnor lose shines, \\ </verse> possession of that fair thou owest,^mnor shall And often is his gold complexion Death brag thou wander'st in his dimmed. \\ </subsection> shade^mwhile in eternal lines to time thou growest.^mso long as men can breathe, or \qquad So long as men can breathe, <subsection> <>By William II</> eyes can see,^mso long live this, and this or eyes can see,\\ <quote bibref="gates-road-ahead-1995"> gives life to thee.^m1.2 By William II^M[1, \qquad So long live this, and this p.265]^m\223the obvious mathematical gives life to thee. \\ </quote> breakthrough would be development of^man \end{verse} </subsection> easy way to factor large prime... numbers."^mreferences^m[1] W. H. Gates. </section> \subsection{by William II}... The Road Ahead. Viking Penguin, 1995.^M[2] </book> \bibliographystyle{abbrv} W. Shakespeare. The Sonnets of \bibliography{msg} </books> Shakespeare.609.^M^@^@^@^@^@^@^@^ \end{document} </universal_library> SBBD 2008: XML Nativo 21 Por que XML? CARACTERÍSTICA HTML SGML XML Regras simples e comuns, fáceis de entender por pessoas com diferentes backgrounds Capacidade de descrever recursos da Internet e seus relacionamentos Capacidade de definir estruturas de informação para diferentes tipos de setores industriais Formato é formal o suficiente para computadores e claro o suficiente para pessoas Regras permitem fácil construção de software Suporte robusto para diversas linguagens naturais SBBD 2008: XML Nativo Onde XML? Adotada por produtos geradores de conteúdo Microsoft Office 2003 Adobe PDF, Adobe Photoshop Sun StarOffice, OpenOffice Ferramentas XML estão crescendo, amadurecendo Web services mostraram o seu valor para integração Indústrias e governos estão usando XML para troca de dados Onde XML? Advertising: adxml place an ad onto an ad network or to a single vendor Banking: MBA Mortgage Bankers Association of America credit report, loan file, underwriting Directories: dirxml Novell s Directory Services Markup Language Literature: Gutenberg convert the world s great literature into XML Geospatial: ANZMETA distributed national directory for land information Healthcare: HL7 DTDs for prescriptions, policies & procedures, clinical trials Human Resources: XML-HR standardization of HR/electronic recruiting XML definitions International Dvt: IDML improve the mgt. and exchange of info. for sustainable development Math: MathML Mathematical Markup Language News: NewsML creation, transfer and delivery of news SBBD 2008: XML Nativo 23 SBBD 2008: XML Nativo 24

7 1.6. Como XML? CLOB/BLOB Armazenar XML como documento texto PROBLEMAS? Difícil de consultar e atualizar Não fornece integridade aos dados Como XML? XML/SQL Shredding Mapear e reduzir XML em tabelas SQL Consultas XML usando SQL ou SQL/XML PROBLEMAS? Cada SGBD SQL tem uma técnica diferente Consulta XML usando SQL, reconstrói dados XML Uma coluna texto em uma tabela Várias colunas texto em várias tabelas SBBD 2008: XML Nativo 25 SBBD 2008: XML Nativo XML NATIVO XML/SQL Shredding Mapear e reduzir XML em tabelas SQL Consulta XML usando SQL, reconstrói dados XML BLOB/CLOB Armazenar XML como documento texto Difícil de consultar e atualizar XML Nativo Armazena XML no modo nativo, com ou sem esquema Consulta usando linguagem XML (XQuery, XPath) Utiliza índices XML apropriados SBBD 2008: XML Nativo 27 XML Nativo Documento <Library> <book units= 14 > <>Adventures of Huckleberry Finn</> <author><last>twain</last> <first>mark</first> </author> <year>2002</year> <otherinfo> <isbn> </isbn> <collection>penguin Classics</collection> <publisher>penguin Classics</publisher> </otherinfo> </book> <book units= 5 > atributo <>How the Grinch Stole Christmas!</> <author>dr. Seuss</author> <publisher> Random House</publisher> <year>1957</year> <isbn> </isbn> valor elemento units Library </book> collection actor <DVD units= 2 rated= PG > <>The Grinch</> book <director><last>howard</last> <first>ron</first></director> units <actors><actor>jim Carrey</actor> isbn <actor>taylor Momsen</actor> year </actors> author <studio>universal Studios</studio> <year>2001</year> publisher </DVD> </Library> SBBD 2008: XML Nativo 28 book year author otherinfo last first isbn publisher Representação Árvore units rated director last first DVD actor actors year studio

8 XML Nativo, e não SQL XML Nativo, e não SQL Alterar a estrutura de dados... SQL = modificar várias tabelas e todo o código de programa, linha por linha XML = modificar um elemento XML Implementação em Meses SQL XML Enterprise Knowledge Management 30 5 Problemas e vantagens Modelagem de dados com tabelas e programas planos Representação de dados depende do código usado Problemas com estruturas complexas Problemas de desempenho com base de dados enormes e complexos Pouca confiança em padronizações Modelagem de dados em XML (estruturado) Representação de dados independente do código Estruturas complexas são bem-vindas XML nativo é rápido mesmo para bases de dados complexas e enormes Alta confiança na padronização (W3C) Suporte para companhias farmacêuticas M&A Knowledge Management 18 6 Leis e contratos 15 6 Gerenciamento de patentes 9 4 SBBD 2008: XML Nativo 29 SBBD 2008: XML Nativo 30 XML Nativo, e não SQL Consulta Relacional em JAVA, SGBD relacional shredding public long queryaccumulation(stringxquery)throws SQLException, IfsException{ AttributeSearchSpecification asp=new AttributeSearchSpecification();StringclassNames[] =newstring[] {"SWAPSTREAM", "CALCULATIONPERIODAMOUNT", "CALCULATION", "FLOATINGRATECALCULATION", "NOTIONALSCHEDULE","NOTIONALSTEPSCHEDULE"}; StringaliasNames[] =newstring[] {"ss","cpa","c","frc","ns","nss"};boolean delbvrs[] = {false,false,false,false,false,false};boolean recbvrs[] = {false,false,false,false,false,false};searchclassspecification scp =new SearchClassSpecification(classNames,aliasNames,delBvrs,recBvrs);scp.addResultClass("sS");asp.setSearchClassSpecificati on(scp);joinqualification jq1 =new JoinQualification();JoinQualificationjq2 =new JoinQualification();JoinQualificationjq3 =new JoinQualification();JoinQualificationjq4 =new JoinQualification();JoinQualificationjq5 =new JoinQualification(); jq1.setleftattribute("ss","calculationperiodamount"); jq1.setrightattribute("cpa",null); jq2.setleftattribute("cpa","calculation"); jq2.setrightattribute("c",null); jq3.setleftattribute("c","floatingratecalculation"); jq3.setrightattribute("frc",null); jq4.setleftattribute("c","notionalschedule"); jq4.setrightattribute("ns",null); jq5.setleftattribute("ns","notionalstepschedule"); jq5.setrightattribute("nss",null);attributequalificationaq1 =new AttributeQualification(); aq1.setattribute("frc","floatingrateindex"); aq1.setoperatortype("="); aq1.setvalue("usd- LIBOR-BBA");AttributeQualificationaq2 =new AttributeQualification(); aq2.setattribute("frc","daycountfraction"); aq2.setoperatortype("="); aq2.setvalue("act/360");attributequalificationaq3 =new AttributeQualification(); aq3.setattribute("nss","currency"); aq3.setoperatortype("="); aq3.setvalue("usd");searchclausesc1 =new SearchClause(); sc1.setleftsearchqualification(jq1); sc1.setrightsearchqualification(jq2); sc1.setoperatortype(searchclause.and);searchclausesc2 =new SearchClause(); sc2.setleftsearchqualification(sc1); sc2.setrightsearchqualification(jq3); sc2.setoperatortype(searchclause.and);searchclausesc3 =new SearchClause(); sc3.setleftsearchqualification(sc2); sc3.setrightsearchqualification(jq4); sc3.setoperatortype(searchclause.and);searchclausesc4 =new SearchClause(); sc4.setleftsearchqualification(sc3); sc4.setrightsearchqualification(jq5); sc4.setoperatortype(searchclause.and);searchclausesc5 =new SearchClause(); sc5.setleftsearchqualification(aq1); sc5.setrightsearchqualification(aq2); sc5.setoperatortype(searchclause.and);searchclausesc6 =new SearchClause(); sc6.setleftsearchqualification(sc5); sc6.setrightsearchqualification(aq3); sc6.setoperatortype(searchclause.and);searchclausesc7 =new SearchClause(); sc7.setleftsearchqualification(sc4); sc7.setrightsearchqualification(sc6); sc7.setoperatortype(searchclause.and);asp.setsearchqualification(sc7);viewspecification vs;vs=new ViewSpecification("VIEW_SWAPSTREAM",asp,true); vs.addclass(sess, "frc",newstring[] {"FLOATINGRATEINDEX","DAYCOUNTFRACTION"}); vs.addclass(sess, "nss",newstring[] {"CURRENCY","INITIALVALUE"});sess.createView(vs);long sum= 0; Stringsql= "SELECT SUM(INITIALVALUE) FROM VIEW_SWAPSTREAM";PreparedStatement pstmt=databasecon.preparestatement(sql);resultset rset=pstmt.executequery();rset.next();sum=rset.getlong(1);rset.close();pstmt.close();return sum;} SBBD 2008: XML Nativo 31 XML Nativo, e não SQL Consulta XQuery, SGBD XML nativo sum(/fpml[trade/swap/swapstream/ calculationperiodamount/calculation [notionalschedule/notionalstepschedule/currency='usd and floatingratecalculation/floatingrateindex='usd-libor-bba' and daycountfraction='act/360']] /trade/swap/swapstream/calculationperiodamount/calculation/n otionalschedule/notionalstepschedule/initialvalue) SBBD 2008: XML Nativo 32

9 XML Nativo SGBD XML Nativo TIMBER [Jagadish et al VLDB J. 2002] ROX [Halverson et al VLDB 2004] NeoCore XML Management System (Xpriori) Tamino XML Server (SoftwareAG) TX1 (Toshiba) exist (open source) SGBD Híbrido (relacional + engine nativo) DB2 goes hybrid, Beyer et al IBM Systems Journal, 45(2), 2006 Native Xquery processing in Oracle XMLDB, Liu et al. SIGMOD 2005 Conceitos Básicos XML: linguagem usa tags para qualquer semântica Por quê? Flexível, padrão, auto-descritivo, metadados no documento, legível e disponível em qualquer língua Onde? MS Office, Adobe, Open Office Como? BLOB/CLOB, Shredding XML Nativo SBBD 2008: XML Nativo 33 SBBD 2008: XML Nativo Modelo de Dados 1. Revisão 2. Regras Básicas 3. Fundamentos 4. Casos de uso 5. Resumo da primeira parte 2.1. Revisão Modelo de Banco de Dados Definição Representação matemática dos dados Exemplos Modelo relacional: tabelas Modelo semiestruturado: árvores, grafos Operações nos dados Restrições sobre os dados SBBD 2008: XML Nativo 36

10 A. Modelo Relacional Uma relação é uma tabela Nome da Relação Atributos (cabeçalho das colunas) Tuplas (linhas) BDComercial Produto DB2 SQL Server BigTable Empresa IBM Microsoft Google B. Modelo Semiestruturado Modelo baseado em grafos (árvores) Motivação Representação FLEXÍVEL Compartilhamento de documentos entre aplicações e sistemas SBBD 2008: XML Nativo 37 SBBD 2008: XML Nativo 38 Modelo Semiestruturado Modelo Semiestruturado GRAFO Nodos = objetos Labels nos arcos (nomes dos atributos) Valores atômicos nas folhas (nodos sem arcos saindo) Flexibilidade = sem restrição: Labels saindo de um nodo Número de sucessores para um label nome Joe s bar servidoem end Maple ceva nome Bud manuf A.B. raiz ceva manuf Objeto bar p/ o bar do Joe nome M lob ano 1995 premiação premio Gold Objeto cerveja (ceva) para a Budweiser Tipo de dados diferentes SBBD 2008: XML Nativo 39 SBBD 2008: XML Nativo 40

11 Tradicional x Avançado Na Web Registros de empregados Contas bancários Video-locadora Pacientes Supermercado... Modelo Relacional SQL Web search Mineração de dados BDs científicos BDs médicos Integração de informações Modelo Avançados XML BD = tecnologia base para qualquer aplicação web SBBD 2008: XML Nativo 41 SBBD 2008: XML Nativo Regras Básicas Informação é representada em unidades chamadas Documentos XML Um documento contém um ou mais elementos Um elemento: tem um nome é definido no doc. com marcação explícita pode conter outros elementos pode ser associado com atributos 2.3. Fundamentos Elemento Texto delimitado: tag de início, tag de fim Elementos podem ser aninhados Tags não são pré-definidas <bd> <leilao> <data> </data> <lote> <no>534</no> <valor>200000</valor> <obra>abapuru</obra> </lote> </leilao> </bd> SBBD 2008: XML Nativo 43 SBBD 2008: XML Nativo 44

12 Fundamentos Atributos do elemento ATRIBUTOS <bd> <leilao leiloeiro="ec" local="cp"> <data> </data> <lote> <no>534</no> <valor moeda="reais">200000</valor> <obra>abapuru</obra> </lote> </leilao> </bd> Fundamentos Declaração: <?xml version= 1.0?> Componentes de dados lógicos Vocabulário de marcação: elementos, atributos <produto categoria = telefone móvel"> <mfg>nokia</mfg><modelo>8890</modelo>... </product> Espaços em branco Dados (caracteres) parseados e não parseados Referências a entidades: &diagrama; Comentários: <!-- interessante --> Instruções de processamento <?xml-stylesheet href="catalog-style.css" type="text/css"?> SBBD 2008: XML Nativo 45 SBBD 2008: XML Nativo 46 Fundamentos Declarações de marcação (DTD) Declarações internas e externas Tipo do elemento raiz Tipos de elementos: EMPTY, children, mixed, ANY <!ELEMENT categoria (mfg, modelo, descrição, relógio?)> <!ELEMENT descrição (#PCDATA feature)*> <!ELEMENT relógio EMPTY> Tipos de atributos: CDATA, ID, IDREF(-S), ENTITY(-TIES), NMTOKEN(-S) <!ATTLIST relógio setting CDATA #IMPLIED alarme (yes, no, dual) "yes" > Notações Entidades Fundamentos Conformidade Bem formado (Well-formed) Tags sintaticamente corretas Tags combinadas (matching tags) Elementos aninhados Todas entidades declaradas antes de serem usadas Válido Bem formado DTD + documento obedece DTD IDs únicos sem IDREFs perdidas SBBD 2008: XML Nativo 47 SBBD 2008: XML Nativo 48

13 2.4. Casos de Uso A. Aplicação centrada no documento A. Aplicação centrada no documento B. Integração de dados C. Dados semi-estruturados D. Evolução de esquemas E. Amazon Web Services AWS OS DADOS Documentos projetados para o consumo humano Conteúdo misturado, estrutura irregular, ordem é importante Lease Polypropylene: Accident Report Technical Legal Intelligence Health Procedures Insurance documentation documents reports documents claims SBBD 2008: XML Nativo 49 SBBD 2008: XML Nativo 50 No mundo real Elsevier Science Armazena mais de 2TB de dados em Mark Logic 5 milhões de artigos, 60 milhões de citações e resumos, milhares de livros, e 5 mil panfletos Busca e transformação de documentos Autodesk Armazena manuais de software em diversos idiomas Conteúdo armazenado como componentes reusáveis, construídos em manuais Dentro das aplicações Gerenciar documentos Armazenar e recuperar documentos por nome, ID Encontrar documentos inteiros Busca textual XML-aware Busca com XQuery Recuperação de informação Construir lista de químicos para um procedimento Criar tabela de conteúdo da documentação técnica Reusar conteúdo Re-empacotar novos artigos, pesquisa financeira Modularizar documentos técnicos SBBD 2008: XML Nativo 51 SBBD 2008: XML Nativo 52

14 Soluções anteriores Armazenar documentos no sistema de arquivos ou CLOBs Busca textual em documentos? Extrair e armazenar metadados em SGBD Relacional Consulta SQL sobre metadados Problemas incluem: Não escala para milhões de documentos Busca textual não é XML-aware Consultas SQL limitadas a subconjunto de dados Frágil em relação a mudanças no esquema Por que XML Nativo? Modelo de dados XML gerencia documentos Modelo relacional não tem conceito de ordem Consultas funcionam para documentos XQuery extrai dados, constrói novos documentos Busca de texto XML-aware Funcionalidades básicas do BD Transação, concorrência, segurança Não precisa colar partes separadas SBBD 2008: XML Nativo 53 SBBD 2008: XML Nativo 54 Casos de Uso A. Aplicação centrada no documento B. Integração de dados C. Dados semi-estruturados D. Evolução de esquemas E. Amazon Web Services AWS Modelo de Dados XML: conceitos básicos O que, quando, porque, onde, como Modelos de Banco de Dados XML Nativo [próximo slide] Fundamentos do Modelo Casos de Uso SBBD 2008: XML Nativo 55 SBBD 2008: XML Nativo 56

15 XML Nativo Documento <Library> <book units= 14 > <>Adventures of Huckleberry Finn</> <author><last>twain</last> <first>mark</first> </author> <year>2002</year> <otherinfo> <isbn> </isbn> <collection>penguin Classics</collection> <publisher>penguin Classics</publisher> </otherinfo> </book> <book units= 5 > atributo <>How the Grinch Stole Christmas!</> <author>dr. Seuss</author> <publisher> Random House</publisher> <year>1957</year> <isbn> </isbn> valor elemento units Library </book> collection actor <DVD units= 2 rated= PG > <>The Grinch</> book <director><last>howard</last> <first>ron</first></director> units <actors><actor>jim Carrey</actor> isbn <actor>taylor Momsen</actor> year </actors> author <studio>universal Studios</studio> <year>2001</year> publisher </DVD> </Library> SBBD 2008: XML Nativo 57 book year author otherinfo last first isbn publisher Representação Árvore units rated director last first DVD actor actors year studio?????????????????? SBBD 2008: XML Nativo 58?? Exercício Considerando as vantagens de XML sobre o modelo relacional Definir um cenário de aplicação para XML Descrever em linhas gerais Justificar por que o modelo XML seria melhor do que o relacional Definir um esboço dos elementos principais e da hierarquia desses elementos (pode ser no formato árvore/grafo) 3. Modelagem de Dados XML 1. Exemplo: livrarias online 2. Uma metodologia 3. Estudo de caso 4. Padrões de modelagem SBBD 2008: XML Nativo 59

16 3.1. Exemplo: Livrarias online <?xml version='1.0'?> <!-- book list from all sources --> <books> <!-- Amazon --> <book FreeSuperSaving="yes" SurpriseMe="yes" > <> Beginning XML, 4th Edition (Programmer to Programmer) </> <author>david Hunter</author> <author>jeff Rafter </author> <author>joe Fawcett </author> <author>eric van der Vlist </author> <author>danny Ayers </author> <author>jon Duckett </author> <author>andrew Watt </author> <author>linda McKinnon </author> <type>paperback</type> <list_price>$39.99</list_price> <our_price>$26.39</our_price > <you_save>16.60</you_save> <perc>34%</perc> <buy_used>$21.20</buy_used> </book> </books> SBBD 2008: XML Nativo 61 SBBD 2008: XML Nativo 62 <!-- Bookpool --> <book fig="fig3"> <>Professional XML</> <author>bill Evjen, et al</author> <type>paperback</type> <publisher>wrox Press</publisher> <date_published> <month>march</month> <year>2007</year> </date_published> <id> </id> <usually_ships_in instock= no >24 hours</usually_ships_in> <list_price>$49.99</list_price> <our_price>$25.50</our_price> <you_save>36%</you_save> </book> SBBD 2008: XML Nativo 63 SBBD 2008: XML Nativo 64

17 <! Barnes & Nobel--> <book fig="fig "> <>Beginning XML</> <author>david Hunter</author> <author>jeff Rafter</author> <author>joe Fawcett</author> <author>eric van der Vlist</author> <type>paperback - REV</type> <date_published>may 2007</date_published> <usually_ships_in instock="yes">24 hours</usually_ships_in> <isbn type="13"> </isbn> <sales_rank>33,095</sales_rank> <our_price>19.99</our_price> <you_save>20%</you_save> </book> </books> SBBD 2008: XML Nativo 65 SBBD 2008: XML Nativo 66 <!-- Amazon --> book FreeSuperSaving SurpriseMe author* type list_price our_price you_save perc buy_used <! BookPool --> book fig author* type publisher date_published month year id usually_ships_in instock list_price our_used you_save <! Barnes & Nobel--> book fig author* type date_published usually_ships_in instock isbn type sales_rank our_price you_save ± Mesma info Vocabulário? Elementos? Atributos? 3.2. Uma Metodologia p/ Modelagem Fase Conceitual: semântica Lógica: estrutura Física Modelo Relacional Entidades, atributos, tipo, relacionamentos, restrições. Diagrama ER. Tabelas, colunas, relacionamentos, visões. Formas normais, modelo relacional, DDL. Implementação e otimização: armazenamento e partições, índices, caminhos de acesso. DDL. Modelo XML Nomes (taxonomia, vocabulário), relacionamentos. Elementos, atributos, valores, relacionamentos (aninhamento). DTD, XML Schema. Escrever esquema, instâncias, otimizações: armazenamento e partições, índices, unidades reusáveis. [MORO, LIM, SIGMOD 2007] SBBD 2008: XML Nativo 67 SBBD 2008: XML Nativo 68

18 3.3. Estudo de Caso Estudo: Modelagem Relacional Como modelar com o modelo Relacional quando se tem uma grande variabilidade de esquema 1) Produtos em um E-Catalog Loja de departamentos que vende de camisas a TVs Projeto Relacional???????????????? E-Catalog PROD (id, price, size, color, fabric, weight, screensize, stereo ) PROD (id, price) TSHIRT(size, color, fabric, FK to PROD) TV(weight, screensize, stereo, FK to PROD) PROD (id, attribname, attribvalue) PROD (id, price, XMLdescription) required sparse, optional Modelo plano Simples, NULL Categorias Complexo, sem NULL Junção Vertical Simples, junções XML Simples, flexivel, sem null e junções SBBD 2008: XML Nativo 69 SBBD 2008: XML Nativo 70 Estudo: Modelagem Híbrida Estudo: Modelagem Híbrida 2) Universidade Pessoas Informação tradicional (nome, endereço...): opcional, multivalorada, composta Resume: documento Hierarquia Estudantes: graduação e pós, pós = mestrado e doutorado Professores: titular, adjunto, substituto (pode ser estudante!) Resume Name Contact Education PhD Masters Bachelor Publications Professional Actvs Só Relacional? Relacional + XML? SSN marital status DOB phone ID Name Person first mi last Person Obrigatório: SSN, DOB, ID Opcional: estado civil Multi-valores: telefone Composto: nome (1o, inicial, sobren) Documento(s): resume SBBD 2008: XML Nativo 71 SBBD 2008: XML Nativo 72

19 Resume Name Contact Education PhD Masters Bachelor Publications Professional Actvs Estudo: Modelagem Híbrida SSN marital status DOB ID Person phone Name first mi last Hybrid 1 : PERSON ID int PK NOT NULL SSN varchar NOT NULL DOB date NOT NULL marst char name XML TYPE phone XML TYPE resume XML TYPE Pure Relational : PERSON ID int PK NOT NULL SSN varchar NOT NULL DOB date NOT NULL marst char firstn varchar mi char lastn varchar phone FK to phonetable resume FK to resumetable Hybrid 2 : PERSON ID int PK NOT NULL SSN varchar NOT NULL DOB date NOT NULL Info XML TYPE Hybrid 3 : PERSON ID int PK NOT NULL Info XML TYPE Estudo: Modelagem Híbrida Hybrid 1 : PERSON ID int PK NOT NULL SSN varchar NOT NULL DOB date NOT NULL marst char name XML TYPE phone XML TYPE resume XML TYPE Hybrid 2 : PERSON ID int PK NOT NULL SSN varchar NOT NULL DOB date NOT NULL Info XML TYPE Hybrid 3 : PERSON ID int PK NOT NULL Info XML TYPE (A) (B) (C) (D) Faculty XML document? Person Student SBBD 2008: XML Nativo 73 SBBD 2008: XML Nativo 74 Estudo: Modelagem XML DOB SSN marital status 1 st Quarter GradDate phone ID Name first mi last Person Student Graduate PhD R1 R3 Dept Thesis Defense Date Text Title Area Keywords Abstract Chapters DOB phone SSN ID Name marital status first mi last 1 st Quarter GradDate Person Student Graduate PhD R1 R3 Dept Thesis <Person id= 3d01 dept= dept001 > <SSN> </SSN> <DOB> </DOB> <maritalst> </maritalst> <name> <first> </first> <last> </last> </name> <phones> <phone> </phone> <phone> </phone> <phone> </phone> </phones> <Student> <firstquarter> </firstquarter> <graddate> </graddate> <Graduate> Defense Date <Thesis> <DefenseDate> </DefenseDate> Text <Text> Title Area <Title> </Title> Keywords Abstract </Text> Chapters </Thesis> <PHD> </PHD> </Graduate> </Student> </Person> SBBD 2008: XML Nativo 75 SBBD 2008: XML Nativo 76

20 Estudo: Modelagem XML Modelagem DOB phone SSN ID Name marital status first mi last 1 st Quarter GradDate Person Student Graduate PhD R1 R3 Dept Thesis Defense Date Text Title Area Keywords Abstract Chapters Superclass relationship <Person id= 3d01 dept= dept001 > PERSON (id, info XML, dept FK) DEPT (did, ) Subclass relationship <Person > <Graduate> <Thesis> PERSON (id, info XML) THESIS (tid,, personid FK) Muitas opções de modelagem Russian Doll, Salami Slice, Venetian Blind propostas por Roger Costello (xfront.com) Quarta opção: Garden of Eden Outras opções Fazer todos os atributos globais?! PERSON (id, info XML) THESIS (tid,, personid FK, path) SBBD 2008: XML Nativo 77 SBBD 2008: XML Nativo Padrões de Modelagem E-Catalog Endereço Endereço permanente Endereço de cobrança Endereço de envio SBBD 2008: XML Nativo 79 Russian Dolls <element name="purchaseorder"> <complextype> <sequence> <element name="address" minoccurs="1" maxoccurs="1"> <complextype> <sequence> Aninhado <element name="permaddress" type="string" minoccurs="1"/> <element name="billtoaddress" type="string" minoccurs="1"/> <element name="sendtoaddress" type="string" minoccurs="1"/> </sequence> </complextype> </element> </sequence> </complextype> </element> Bonecas Russas Um elemento global Todos os outros elementos aninhados Fácil de usar Sem reusabilidade Mudanças dentro do escopo SBBD 2008: XML Nativo 80

21 Salami Slices <element name="permaddress" type="string"/> <element name="billtoaddress" type="string"/> <element name="sendtoaddress" type="string"/> <element name="address"> <complextype> <sequence> <element ref="data:permaddress" minoccurs="1"/> <element ref="data:billtoaddres" minoccurs="1"/> <element ref="data:sendtoaddress" minoccurs="1"/> </sequence> </complextype> </element> <element name="purchaseorder"> <complextype> <sequence> <element ref="data:address" minoccurs="1" maxoccurs="1"/> </sequence> </complextype> </element> Fatias de Salame Todos os elementos são globais Reusabilidade Mudanças globais Complexidade Apenas elementos no nível superior Venetian Blinds <complextype name= taddress > <sequence> <element type="data:permaddress" type="string" minoccurs="1"/> <element type="data:billtoaddress" type="string" minoccurs="1"/> <element type="data:sendtoaddress" type="string" minoccurs="1"/> </sequence> </complextype> <complextype name= tpurchase > <sequence> <element type="data:taddress" minoccurs="1" maxoccurs="1"/> </sequence> </complextype> <element name="purchaseorder" type="data:tpurchase"/> Venezianas Um elemento global Todos os demais são locais: através de tipos complexos e grupos Reusabilidade Complexidade, expõe tipos Maioria dos tipos no nível superior SBBD 2008: XML Nativo 81 SBBD 2008: XML Nativo 82 Garden of Eden <complextype name="taddress"> <sequence> <element type="data:permaddress" type="string" minoccurs="1"/> <element type="data:billtoaddress" type="string" minoccurs="1"/> <element type="data:sendtoaddress" type="string" minoccurs="1"/> </sequence> </complextype> <element name="purchase"> <complextype> <sequence> <element name="address" type="taddress"/> </sequence> </complextype> </element> Jardim do Eden Elementos e tipos são globais Reusabilidade: elementos e tipos Complexidade, difícil leitura Tudo no nível superior SBBD 2008: XML Nativo 83 RUSSIAN DOLLS Sem reusabilidade Mudanças locais VENETIAN BLINDS SALAMI SLICES Reusabilidade Mudanças globais <purchaseorder number="10293"> <permaddress>...</permaddress> <billtoaddress>...</billtoaddress> <sendtoaddress>...</sendtoaddress>... </purchaseorder> <purchaseorder number="10293"> <address type= permaddress >...</address> <address type= billtoaddress >...</address> <address type= sendtoaddress >...</address>... </purchaseorder> <purchaseorder number="10293"> <permaddress> <address>...</address> </permaddress> <billtoaddress> <address>...</address> </billtoaddress> <sendtoaddress> <address>...</address> </sendtoaddress>... </purchaseorder> <purchaseorder number="10293"> <address> <permaddress>...</permaddress> <billtoaddress>...</billtoaddress> <sendtoaddress>...</sendtoaddress> </address>... </purchaseorder> SBBD 2008: XML Nativo 84 GARDEN OF EDEN

22 Critérios para escolher Flexibilidade Vocabulário, namespaces Reuso: Quais estruturas precisam ser reutilizadas? Todas? Por várias aplicações diferentes? Especialização: Quais estruturas alguém pode querer modificar? Qual o impacto para estas modificações? Modelagem de Dados XML Exemplo: livrarias online Cada qual com sua informação Diferentes maneiras de representar, nomear Uma metodologia Dados relacionais x dados XML Modelagem relacional vs modelagem híbrida vs modelagem XML Padrões de modelagem Russian dolls, salami slices, venetian blinds, garden of Eden SBBD 2008: XML Nativo 85 SBBD 2008: XML Nativo Armazenar Dados XML 1. Armazenamento físico 2. Listas e Numeração 3. Outros problemas 4.1 Armazenamento Físico Documento XML worksin name fname lname IBM worksin name fname lname MI worksin name fname lname E na memória fica como?! E no disco?! Armazenamento de árvores???? Hello estruturas de dados avançadas! SBBD 2008: XML Nativo 88

23 Armazenamento Físico Hello estruturas de dados avançadas! E? Muitos ponteiros?! Documento XML worksin name fname lname IBM worksin name fname lname MI worksin name Moro fname lname SBBD 2008: XML Nativo 89 Armazenamento Físico Documento XML worksin name fname lname IBM worksin name fname lname MI Moro Um ponteiro por vértice: para o filho Um ponteiro por vértice: para o pai Um ponteiro para o próximo irmão worksin Um ponteiro especial para os dados name fname lname SBBD 2008: XML Nativo 90 Armazenamento Físico Documento XML worksin name fname lname E a consulta?! IBM /? IBM // lname? IBM worksin name fname lname MI IBM // name [/MI]/ lname? Moro worksin name fname lname Can we do better?! SBBD 2008: XML Nativo 91 Armazenamento Físico Problema IBM // lname???? IBM // name [/MI]/ lname? Tem de ser algo que possa ser mapeado para a memória e de volta para o disco Particionar os dados SBBD 2008: XML Nativo 92

24 Armazenamento Físico Particionar os dados Documento XML worksin name fname lname Problema IBM worksin name fname lname MI worksin name IBM // lname???? OK!! IBM // name [/MI]/ lname? hm fname lname Lista de s Lista de names Armazenamento Físico Problema IBM // lname???? IBM // name [/MI]/ lname? Tem de ser algo que possa ser mapeado para a memória e de volta para o disco E que mantenha os relacionamentos entre os elementos!!!! Esquema de numeração (numbering scheme) SBBD 2008: XML Nativo 93 SBBD 2008: XML Nativo 94 author last article article (2,17) last (7,9) 4.2. Listas e Numeração procs ICDE 2<7<9<17 (3,5) t1 (4) last (7,9) DeWitt (8) Bib (1,34) article (2,17) author (6,13) first (10,12) David J. (11) procs (14,16) ICDE (15) Esquema de numeração: (left, right) (19,21) article (18,33) author (22,29) t2 last first (20) (23,25) (26,28) Lu (24) Hongjun (27) procs (30,32) ICDE (31) name (4,5) Listas e Numeração Document bib (1,26) book (2,9) book(10,17) paper (18,25) author(3,8) author(11,16) author(19,24) address (6,7) name address (12,13) (14,15) book (10,17) name (12,13) 10<12<13<17 name address (20, 21) (22,23) address (6,7) (14,15) (22,23) author (3,8) (11,16) (19,24) bib (1,16) book (2,9) (10,17) name (4,5) (12,13) (20,21) paper (18,25) Listas de Elementos SBBD 2008: XML Nativo 95 SBBD 2008: XML Nativo 96

25 4.3. Outros problemas Armazenamento sequencial Particionamento Índices Valor Estrutura Ambos Armazenamento de Dados Armazenamento físico Ponto crítico no sistema nativo Muda o formato de tabela árvore Listas e Numeração Planificar a estrutura de árvores Outros problemas Armazenamento sequencial ou particionamento, índices SBBD 2008: XML Nativo 97 SBBD 2008: XML Nativo Consulta XML Básico 5. Consultar Dados XML 1. Consulta XML básico 2. Semântica 3. Por que novos algoritmos? 4. Algumas pesquisas recentes 5. Categorias de algoritmos 6. Índices Para um documento e uma consulta: encontre as instâncias da consulta dentro do documento //article[./author [@last= Lu ]]//procs[./icde] Lu article Estrutura: //article[./author [last]] //article//procs[./icde] author procs Várias semânticas last ICDE Um nodo (W3C XPath) Caminho/árvore inteira, construção diferente (W3C XQuery) Documento inteiro (filtrar documentos) SBBD 2008: XML Nativo 100

26 5.2. Semântica SEMÂNTICA DA CONSULTA Lista de nodos (nome comum) Junção estrutural (pares de ancestor//descendant, parent/child) Consulta em sub-árvore (estrutura complexa) Procura de palavras (information retrieval) Filtragem de documentos (streams)... Documento XML worksin name fname lname SEMÂNTICA DO RESULTADO lname worksin Um nodo Semântica IBM name worksin name fname lname MI name lname fname lname Um Caminho Estrutura da Consulta name fname lname name lname Sub-árvore SBBD 2008: XML Nativo 101 SBBD 2008: XML Nativo Por que novos algoritmos? RELACIONAL Estrutura tabular Esquema rígido Nomes únicos Consultas seguem o esquema pré-definido XML Estrutura de árvore Esquema não estruturado, inexistente (author, author = last name + first name) Elementos repetitivos Consultas de formato livre SBBD 2008: XML Nativo Algumas Pesquisas Recentes Par Sem índice, sem clustering [IDEAS 2004] Caminhos Versões de documentos [RIDE 2004] Utilizando resumos estruturais [WWW 2006] Novos contextos para resumos estruturais [SBBD 2007] Sub-árvores (twigs) Documentos em formato de grafos [WebDB 2004] Documentos em formato de árvore, mas SEM compilador para escolher melhor algoritmo [VLDB 2005] Busca textual (information retrieval) Estudo inicial de algoritmos [DATAX 2008] Outros contextos (streams) Publish/subscribe [ICDE 2007, VLDB 2007] SBBD 2008: XML Nativo 104

27 5.5. Categorias Parameters: access pattern, input handling, output handling (1) set based techniques: input as (sorted) sets of nodes, possibly indexed to improve performance (2) input driven: the flow of computation is guided entirely by the sequential input (3) query driven input probing: the query defines the way the input is probed (4) graph summary evaluation: methods work on a structural summary of the data Cat Access Pattern Input Handling Output Handling 1 sorted / indexed join sets merge paths, sorted output 2 sequential input drives computation merge paths 3 indexed / random probe for matches incrementally build results 4 indexed / random input drives computation structural constraints on data summary [MORO et al VLDB 2005] a 1 b 1 a 2 b 2 c 2 c 1 doc a b c query TwigStack O estado-da-arte a 2 b 2 a 1 b 1 c 12 a 1 b 2 c 1 a 2 b 2 c 1 S a S b S c a 1 b 1 c 1 a 1 b 1 c 2 results 1) solutions individual root-to-leaf paths 2) merge-join those partial solutions before adding element to stack: (i) the node has a descendant on each of the query children streams (ii) each of those descendant nodes recursively satisfies this property optimized by indexes SBBD 2008: XML Nativo 105 SBBD 2008: XML Nativo 106 Algoritmos O estado-da-arte melhorado B + -tree: built on the left attribute Access ancestor then probe descendant stream to skip unmatchable initial nodes Ancestor skipping not effective XB-tree: index on (left,right) bounding segment Pointer to children (region completely included in parent) Leaves sorted on left Region: ancestor access effective XR-tree: index on (left,right) = B+tree with complex index key + stab lists Ancestor skipping: elements stabbed by left b 1 b 2 a 1 b 3 c 2 c 1 name (4,5) bib (1,26) book (2,9) paper (18,25) author (3,8) author (19,24) address (6,7) book (10,17) author(11,16) name address (12,13) (14,15) name (20,21) 5.6. Índices address (22,23) author (3,8) (11,16) (19,24) bib (1,16) address (6,7) (14,15) (22,23) name (4,5) (12,13) (20,21) paper (18,25) book (2,9) (10,17) B + Tree on ( tag, initial ) Entrada = lista de elementos Uma lista por tag = element list Clustering definido por índices Numbering scheme SBBD 2008: XML Nativo 107 SBBD 2008: XML Nativo 108

28 name (4,5) Índices - problema Document bib (1,26) book (2,9) book(10,17) paper (18,25) author(3,8) author(11,16) author(19,24) address (6,7) name address (12,13) (14,15) name address (20, 21) (22,23) address (6,7) (14,15) (22,23) author (3,8) (11,16) (19,24) bib (1,16) book (2,9) (10,17) name (4,5) (12,13) (20,21) paper (18,25) Lists Índices nas listas Autores de livros e artigos na mesma lista Que tal particionar as listas? Document units book year author otherinfo Resumos Estruturais Library last first isbn publisher collection units book author units rated year publisher director last first isbn DVD actors year studio actor actor Value index, path index Structural summary Nodo no índice: elementos com mesmo tag e caminho Structural Summary units book Library isbn publisher year author otherinfo last first isbn publisher collection units rated director last first DVD actors actor year studio SBBD 2008: XML Nativo 109 SBBD 2008: XML Nativo 110 name (4,5) Resumos Estruturais Particionamento Document bib (1,26) book (2,9) book(10,17) paper (18,25) author(3,8) author(11,16) author(19,24) address (6,7) Structural Summary name book author name address (12,13) (14,15) address [MORO VLDB 2005] bib name address (20, 21) (22,23) name paper author address address (6,7) (14,15) (22,23) author (3,8) (11,16) (19,24) bib (1,16) book (2,9) (10,17) name (4,5) (12,13) (20,21) paper (18,25) author (19,24) Lists author (3,8) (11,16) Partitions SBBD 2008: XML Nativo 111 Resumos Estruturais Método de acesso Hash Index: key h index 0 1 n data data data data Path Index: query path index path path path /dblp/article/author data data data data SBBD 2008: XML Nativo 112

29 Resumos Estruturais Método de acesso Path Index: query path article 2 index path path path /dblp/article/author inproceedings 10 data data data data DBLP 1 Structural Index: article 22 author 3 author journal 33 7 book 37 book 19 5 author author journal author author 25 author article author (3,4) (23,24) journal (25,26) dblp inproceedings book inproceedings 32 author (11,12) (13,14) (15,16) (33,34) SBBD 2008: XML Nativo 113 Resumos Estruturais Método Acesso Processamento da Consulta Fase 1: Verifica índice Identifica nodos que satisfazem consulta Fase 2: Refinamento Filtra falso positivos, produz resultados atuais /dblp/article/author [MORO WWW 2006] Structural Index (2,9)(22,21) article author (3,4) (23,24) journal (25,26) dblp (1,40) inproceedings book author (11,12) (13,14) (15,16) (33,34) SBBD 2008: XML Nativo 114 Resumos Estruturais Diss. de Conteúdo Extensão de resumos estruturais para processar streams de documentos XML [ICDE 07, WebDB 07] Disseminação de conteúdo Trabalhos anteriores Agregação estrutural em ambientes de dados armazenados ou indexados Na tese [Moro UCR] Estende o papel de agregação estrutural para o contexto de processamento de streams Processamento de Consulta Semântica Consulta e resultados Pares, caminhos, sub-árvores, documento inteiro Por que novos algoritmos? Algoritmos relacionais: diferente estrutura Algumas pesquisas recentes Categorias de algoritmos Índices SBBD 2008: XML Nativo 115 SBBD 2008: XML Nativo 116

30 Revisão 6. Revisão e Oportunidades Conceitos básicos de XML Modelo de dados XML Armazenamento de dados XML Consulta a dados XML Por que é importante?! FOCO: processamento NATIVO SBBD 2008: XML Nativo 118 Oportunidades Para Alunos SBC HORIZONTES, a nova revista eletrônica sobre carreira em Computação da SBC -- SBBD 2008: XML Nativo 119 SBBD 2008: XML Nativo 120

31 Para Alunos Desorientado/a? PROCURANDO ORIENTAÇÃO??? Meus trabalhos de pesquisa focam na área de Banco de Dados. Banco de Dados é uma área extremamente produtiva!!! Além disso, os temas de pesquisa são incrivelmente versáteis, podendo abordar desde aspectos teóricos de modelagem até aspectos práticos como o processamento de consultas. Alguns desses temas incluem: SBBD 2008: XML Nativo 121 sistema de disseminação de conteúdo XML, consultas em redes sociais, modelagem de dados híbrida XML-Relacional, agrupamento de consultas XML, busca de palavras na Web com restrições estruturais Interessado?! Me escreva um ou venha até a minha sala (ICEX, 4012) para conversamos!! E venha preparado/a para apaixonar-se por Banco de Dados... porque é o que geralmente acontece depois de conversar comigo ;-) SBBD 2008: XML Nativo 122 International Conference on Conceptual Modeling ER 2009, deadlines 04/2009 Para Alunos Pós-Graduação em Computação PPT: Rumo ao Título de Mestre/Doutor, por Mirella M. Moro - Seminário no PPGC/UFRGS, março 2008 HTML: Rumo ao Título de Mestre/Doutor em Ciência da Computação, por Mirella M. Moro PDF: Rumo ao Título de Doutor/Mestre, por Mirella M. Moro et al: RITA, n.02, vol.10, 2004 PDF: Orientação para Orientandos - Uma Experiência em BD, por Marta Mattoso HTML: Escolha um bom orientador e tenha futuro!, por José Palazzo M. de Oliveira HTML: Como participar em Conferências, por José Palazzo M. de Oliveira HTML: Como Escrever e Apresentar sua Tese ou Dissertação, por S. Joseph Levine Artigos Científicos DOC - PPT: A Arte de Escrever Artigos Científicos, por Mirella M. Moro - Seminário PPGC/UFRGS, 30/abril/2008 HTML: Dicas para Escrever Artigos Científicos, por Mirella M. Moro DOC - PPT - PPT 4p: Apresentando Artigos Científicos, por Mirella M. Moro - Seminário PPGC/UFRGS, abril 2007 HTML: Planeje seus artigos, por José Palazzo M. de Oliveira HTML: Como Escrever Artigos Científicos, por Agma e Caetano Traina Jr. PDF: Pequeno Manual da Escrita Técnica PDF: Dicas Para Elaboração de Artigos Científicos, por Clovis Torres Fernandes SBBD 2008: XML Nativo Nov Gramado, RS Conceptual modeling as applied to: * Ontological and Conceptual Correctness * Logical Foundations * Web Information Systems * Mobile information systems * Service-Oriented Computing * The Semantic Web * Semistructured Data and XML * Information and Database Integration * Information Retrieval, Organization, Summarization, and Visualization * Quality and Metrics * Schema Evolution * Spatial, Temporal, and Multimedia Aspects * Knowledge Management Systems * Data warehousing, data mining, and business intelligence * E-Learning, E-Business and E-Government and MUCH MORE mirella@dcc.ufmg.br SBBD 2008: XML Nativo 124

XML. Levantea mãose você. XML Nativo. XML Nativo. XML Nativo

XML. Levantea mãose você. XML Nativo. XML Nativo. XML Nativo Levantea mãose você Mirella M. Moro mirella@dcc.ufmg.br Nunca ouviu falar de XML Sabe escrever um documento XML Sabe consultas em XPath/XQuery Faz pesquisa com XML Conhece XML nativo Esta palestra é para

Leia mais

Revisão: O que XML? Revisão: XML NATIVO. MIRELLA M. MORO mirella@dcc.ufmg.br http://www.dcc.ufmg.br/~mirella

Revisão: O que XML? Revisão: XML NATIVO. MIRELLA M. MORO mirella@dcc.ufmg.br http://www.dcc.ufmg.br/~mirella Bancos de Dados Avançados Processamento de dados XML DCC030 - TCC: Bancos de Dados Avançados (Ciência Computação) DCC049 - TSI: Bancos de Dados Avançados (Sistemas Informação) DCC842 - Bancos de Dados

Leia mais

XML: Esquema e DTD. Revisão: Conceitos Básicos. Revisão: Modelo de Dados. 3. Modelagem de Dados XML Exemplo: Livrarias online. Mirella M.

XML: Esquema e DTD. Revisão: Conceitos Básicos. Revisão: Modelo de Dados. 3. Modelagem de Dados XML Exemplo: Livrarias online. Mirella M. Revisão: Conceitos Básicos XML: linguagem usa tags para qualquer semântica Por quê? Flexível, padrão, auto-descritivo, metadados no documento, legível e disponível em qualquer língua Onde? MS Office, Adobe,

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML 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 mais

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi XML e Banco de Dados de Internet Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi Motivação Diversas aplicações Web utilizam Fontes de Dados (BD); Arquitetura Cliente-Servidor (2

Leia mais

XML (extensible Markup Language)

XML (extensible Markup Language) Sumário 1. Introdução a Aplicações Não-Convencionais 2. Revisão de Modelagem Conceitual 3. BD Orientado a Objetos (BDOO) 4. BD Objeto-Relacional (BDOR) 5. BD Temporal (BDT) 6. BD Geográfico (BDG) 7. BD

Leia mais

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML 1 1. : Conceitos Básicos 2. Aplicação : XHTML 3. Folhas de Estilo em Cascata 2 é um acrônimo para EXtensible Markup Language é uma linguagem de marcação muito parecida com HTML foi designada para descrever

Leia mais

Bases de dados semi-estruturadas, XML

Bases de dados semi-estruturadas, XML Bases de dados semi-estruturadas, XML Fernando Lobo Base de Dados, Universidade do Algarve 1 / 40 Modelo de informação semi-estruturado Esquema está impĺıcito nos dados. Ao invés do modelo relacional,

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza ROTEIRO Introdução ao DTD Elementos Atributos Entidades Validando um documento XML DTD (DOCUMENT

Leia mais

Objetos Complexos Multimídia

Objetos Complexos Multimídia ABRIDOR DE CABEÇAS PAINEL SBBD 2011 Introdução: Painel SBBD/WebMedia 2011 Mirella M. Moro 2 Foco Painel Objetos Complexos Multimídia Armazenamento, Busca e Processamento Objetos Complexos Multimidia Mirella

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA Mário Meireles Teixeira DEINF-UFMA Motivação extensible Markup Language W3C: World Wide Web Consortium http://www.w3.org 1.0 W3C Recommendation, 10/Fev/1998 (inicial) W3C Recommendation, 04/Fev/2004, 3

Leia mais

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

Introduçã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 mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

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

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio formado por acadêmicos

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

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

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

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

Um documento XML possui Unidade lógica - os elementos Usuário inventa as marcas através de DTDs XML Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs Unidade física - as entidades Armazenamento separado dos dados Como toda linguagem de marcação: XML

Leia mais

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento. Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS 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 SISTEMA GERENCIADOR

Leia mais

Disciplina: Tecnologias de Banco de Dados para SI s

Disciplina: Tecnologias de Banco de Dados para SI s Curso de Gestão em SI Disciplina: Tecnologias de Banco de Dados para SI s Rodrigo da Silva Gomes (Extraído do material do prof. Ronaldo Melo - UFSC) Banco de Dados (BD) BD fazem parte do nosso dia-a-dia!

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

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. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

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

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de Dados

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. 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 INTRODUÇÃO Hoje é

Leia mais

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada. Conceitos básicos Angélica Toffano Seidel Calazans E-mail: angelica_toffano@yahoo.com.br Conceitos introdutórios de Modelagem de dados Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Leia mais

Banco de Dados I. Introdução Conceitos

Banco de Dados I. Introdução Conceitos Banco de Dados I Introdução Conceitos Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Conceitos Fundamentais de Banco de Dados; Características

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

GEE051 - Banco de Dados (BD) Plano de Curso. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/bd UFU/FACOM - 2011/2

GEE051 - Banco de Dados (BD) Plano de Curso. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/bd UFU/FACOM - 2011/2 GEE051 - Banco de Dados (BD) Plano de Curso Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/bd UFU/FACOM - 2011/2 Motivação Problemas reais encontrados por engenheiros exigem uma visão

Leia mais

Disciplina de Banco de Dados Parte V

Disciplina de Banco de Dados Parte V Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) (extensible( Markup Language ) Origens (extensible Markup Language linguagem de marcação extensível) Criada em 1996 pelo W3C (World

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação ão? Como um sistema de gerenciamento

Leia mais

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

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação e isolamento de dados (ilhas de informações)

Leia mais

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

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Orivaldo V. Santana Jr A partir de slides elaborados por Ivan G. Costa Filho Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. 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 mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação. extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação. Em XML, os tags não são pré-definidos. Temos de definir os nossos tags. XML utiliza um Document

Leia mais

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc. 1 PROJETO DE BANCO DE DADOS -INTRODUÇÃO Prof. Angelo Augusto Frozza, M.Sc. FUNDAMENTOS Dados Representação de fatos, conceitos ou instruções de maneira formalizada; Informação Significado que pessoas associam

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Introdução Conceitos do Modelo Relacional Restrições de Integridade Básicas Esquema do BD Relacional Restrições

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

Banco de Dados. Profª. Ana Leda

Banco de Dados. Profª. Ana Leda Banco de Dados Profª. Ana Leda Introdução 1 DADO PROCESSAMENTO INFORMAÇÃO 2 Dados x Informação DADO = REPRESENTAÇÃO DE UM FATO, OBJETO, EVENTO, PESSOA, ETC. ENTIDADE = FATO, OBJETO, EVENTO, PESSOA, ETC,

Leia mais

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

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br Bancos de Dados Fernando Albuquerque 061-2733589 fernando@cic.unb.br Tópicos Introdução O modelo relacional A linguagem SQL Introdução O que é um banco de dados : Coleção de informações que existe por

Leia mais

XML (extensible Markup Language) por. Rafael Port da Rocha. (Notas de Aula)

XML (extensible Markup Language) por. Rafael Port da Rocha. (Notas de Aula) XML (extensible Markup Language) por Rafael Port da Rocha (Notas de Aula) 2007 Introcução Componentes de um Documento Eletrônico Digital Conteúdo: formado pelas informações que o documento transmite aos

Leia mais

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

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 Leitura Obrigatória ELMASRI,

Leia mais

Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO

Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO Organizamos esta unidade para orientá-lo na revisão dos conteúdos trabalhados ao longo da disciplina. Siga as orientações desta apresentação, reveja

Leia mais

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

Leia mais

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com

Banco de Dados, Integração e Qualidade de Dados. Ceça Moraes cecafac@gmail.com Banco de Dados, Integração e Qualidade de Dados Ceça Moraes cecafac@gmail.com Sobre a professora CeçaMoraes Doutora em Computação (UFPE) Áreas de atuação Desenvolvimento de Software e Banco de Dados Experiência

Leia mais

BREVE INTRODUÇÃO À LINGUAGEM XML

BREVE INTRODUÇÃO À LINGUAGEM XML BREVE INTRODUÇÃO À LINGUAGEM XML Por Carlos H. Marcondes marcon@vm.uff.br Rio de Janeiro Abril 2008 PROGRAMA 1.Problema, motivações e conceitos 2.Estrutura de um documento XML 1.DTDs, Schemas 2.Folhas

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

GBD PROF. ANDREZA S. AREÃO

GBD PROF. ANDREZA S. AREÃO GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Modelo de Dados. Modelo para organização dos dados de um BD

Modelo de Dados. Modelo para organização dos dados de um BD Modelo de Dados Modelo para organização dos dados de um BD define um conjunto de conceitos para a representação de dados exemplos: entidade, tabela, atributo,... existem modelos para diferentes níveis

Leia mais

Modelo Entidade-Relacionamento DCC011. Modelo Entidade-Relacionamento. Processo de Projeto de Bancos de Dados

Modelo Entidade-Relacionamento DCC011. Modelo Entidade-Relacionamento. Processo de Projeto de Bancos de Dados DCC011 Introdução a Banco de Dados -06 Modelo Entidade-Relacionamento Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Processo de Projeto

Leia mais

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Fundamentos dos Sistemas de Informação Organização de Dados e Informações Fundamentos dos Sistemas de Informação Organização de Dados e Informações http://professor.fimes.edu.br/milena milenaresende@fimes.edu.br Sistema de Gerenciamento de Bases de Dados (DBMS) A implementação

Leia mais

GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML

GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML Prof. Dr. Daniel Caetano 2016-1 Objetivos Compreender as diferentes tecnologias de troca de informação em uma Cadeia de Suprimentos

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Modelo para organização dos dados de um BD. define um conjunto de conceitos para

Leia mais

Revisão de Banco de Dados

Revisão de Banco de Dados Revisão de Banco de Dados Fabiano Baldo 1 Sistema de Processamento de Arquivos Antes da concepção dos BDs o registro das informações eram feitos através de arquivos. Desvantagens: Redundância e Inconsistência

Leia mais

SuporteNativoa XML no

SuporteNativoa XML no SuporteNativoa XML no Gerenciamento de Dados e Informação Suporte Nativo a XML no Oracle Fernando Fonseca Ana Carolina Robson Fidalgo 2 Oracle & XML Habilita uma fonte confiável para XML Apresenta flexibilidade

Leia mais

Modelo de Dados. Modelos Conceituais

Modelo de Dados. Modelos Conceituais Modelo de Dados Modelo para organização dos dados de um BD define um conjunto de conceitos para a representação de dados exemplos: entidade, tabela, atributo,... existem modelos para diferentes níveis

Leia mais

INE 5336 Banco de Dados II

INE 5336 Banco de Dados II UFSC-CTC-INE Curso de Ciências da Computação INE 5336 Banco de Dados II Ronaldo S. Mello 2008/2 http://www.inf.ufsc.br/~ronaldo/ine5336 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma

Leia mais

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza 1 PROJETO DE BANCO DE DADOS -INTRODUÇÃO Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza FUNDAMENTOS Dados Representação de fatos, conceitos ou instruções de maneira formalizada; Informação

Leia mais

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014 NoSQL Cintia Freitas de Moura BCC 441 Banco de Dados II / 2014 Origem: O termo NoSQL foi usado pela primeira vez em 1998, como o nome de um banco de dados relacional de código aberto que não possuía um

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

Leia mais

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

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Gerenciamento de Dados e Informação Fernando Fonseca. Graduação

Gerenciamento de Dados e Informação Fernando Fonseca. Graduação Gerenciamento de Dados e Informação Fernando Fonseca 1 Suporte Nativo a XML no Oracle 10g 2 Oracle 10g XML Parsers Suporte a interfaces DOM e SAX XML Class Generator Código fonte a partir de XML DTD ou

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

ORGANIZAÇÃO CURRICULAR

ORGANIZAÇÃO CURRICULAR ORGANIZAÇÃO CURRICULAR O curso Técnico em Informática, em Nível Médio Subseqüente, será organizado de forma semestral, com aulas presenciais, compostos por disciplinas, com conteúdos estabelecidos, tendo

Leia mais

Uma Abordagem Alternativa para o Armazenamento Electrónico de Dados: O Papel da Norma XML

Uma Abordagem Alternativa para o Armazenamento Electrónico de Dados: O Papel da Norma XML Uma Abordagem Alternativa para o Armazenamento Electrónico de Dados: O Papel da Norma XML Semana da Ciência e da Tecnologia 2002 FOR $l IN document( wwwestvipvpt/biblioteca/bdbiblioxml ) //livro WHERE

Leia mais

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

INTRODUÇÃO. Diferente de Bando de Dados

INTRODUÇÃO. Diferente de Bando de Dados INTRODUÇÃO Diferente de Bando de Dados 1 INTRODUÇÃO DADOS São fatos conhecidos que podem ser registrados e que possuem significado. Ex: venda de gasolina gera alguns dados: data da compra, preço, qtd.

Leia mais

INE 5616 Banco de Dados II

INE 5616 Banco de Dados II UFSC-CTC-INE Curso de Sistemas de Informação INE 5616 Banco de Dados II Ronaldo S. Mello 2011/1 http://www.inf.ufsc.br/~ronaldo/ine5616 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma

Leia mais

Principal: construir uma base de dados para produção de informações sobre internações hospitalares;

Principal: construir uma base de dados para produção de informações sobre internações hospitalares; Principal: construir uma base de dados para produção de informações sobre internações hospitalares; Específicos: - criar um banco de dados para armazenar registros sobre internações hospitalares; - produzir

Leia mais

Curso Superior de Tecnologia em BD

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em BD Modelagem de Dados Aula 01 Revisão Modelos de Dados Existem modelos para diferentes níveis de abstração de representação de dados modelos conceituais modelos lógicos

Leia mais

GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY. Prof. Angelo Augusto Frozza

GERÊ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 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

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais