modern database systems lecture 4 : semi-structured data

Size: px
Start display at page:

Download "modern database systems lecture 4 : semi-structured data"

Transcription

1 modern database systems lecture 4 : semi-structured data Aristides Gionis spring 2018

2 in the previous lectures relational model and sql storage and indexing access cost analysis hash index b+ trees indexing external sorting join algorithms query optimization

3 relational model and relational database management systems (RDBMS) strengths and weaknesses?

4 relational model and relational database management systems (RDBMS) strengths easy to understand, well-established, standardized strong theoretical foundations e.g., well-founded semantics through relational algebra standard data access language through SQL common queries are well optimized (select, project, join, aggregates) support transaction management

5 relational model and relational database management systems (RDBMS) weaknesses lack of support for complex types SQL is limited when accessing complex data rigid database schema knowledge of the data structure is required to create and populate the database knowledge of the database structure is required to query the data

6 example 1 : gather data to create a new service Larisa is an ambitious Aalto CCIS student she wants to create a new web site for discovering and recommending tasty food around the world just bought domain foodiequest.com idea : collect and analyze data from different sources tourist guide websites (reviews) food markets (ingredients) restaurants own websites address, opening hours, food type, chef, menu, social media, etc.

7 how to pull data from restaurant websites?

8

9

10 how to pull data from restaurant websites? first need to create a crawler then, need to create a parser each website has different structure how to parse the data? enter the data manually (you must be joking!) text mining / language processing take advantage of html formatting

11 how to pull data from restaurant websites? text mining / language processing examples : parse World-acclaimed chef Joan Roca to INSERT INTO restaurant_chef VALUES ( El Celler de Can Roca, Joan Roca ); parse +358 (0) to INSERT INTO restaurant_phone VALUES ( olo, +358 (0) );

12 how to pull data from restaurant websites? take advantage of html formatting example : parse <b>lunch menu</b> <ul> <li>marbled fillet of beef with oyster and broccoli</li> <li>shallots with pork and pickled rhubarb</li> <li>skrei cod with beetroot and kale</li> <li>fermented carrot with sour cream and malt</li> </ul> to INSERT INTO restaurant_menu_item VALUES ( olo, lunch, Marbled fillet of beef with oyster and broccoli ); INSERT INTO restaurant_menu_item VALUES ( olo, lunch, Shallots with pork and pickled rhubarb ); etc

13 data extraction through ad hoc parsing advantages and disadvantages?

14 data extraction through ad hoc parsing advantages no need for a priori communication with data publishers disadvantages text processing can be a difficult task a lot of information may be missed or incorrectly parsed different sites may follow very different conventions difficult to write a general-purpose parser parser can be optimized for each website, but increases considerably the amount of work prone to errors due to changes

15 the data-exchange problem data exchange without a priori agreement on the structure of the data a solution : semi-structured data self-describing or schemaless data data structure (or schema) is directly described in the data itself using a simple syntax many ways to define such a syntax LISP label-value pairs, XML, JSON, RDF,

16 label-value pairs example { name: fafa s, address: Vilhonvuorenkatu 10, Helsinki, cuisine: mediterranean, } { name: Cafe Bar No 9, address: Uudenmaakatu 9, Helsinki 00120, Finland, cuisine: burger, bar: yes } { name: olo, tel: +358(0) , cuisine: finnish, cuisine: creative, chef: Jari Vesivalo }

17 nested structure example { restaurant: { name: fafa s, address: { street: Vilhonvuorenkatu, number: 10, zip: 00500, city: Helsinki }, cuisine: mediterranean, }, restaurant: { name: Cafe Bar No 9, address: { street: Uudenmaakatu, number: 9, city: Helsinki, zip: 00120, country: Finland }, cuisine: burger, bar: yes }, restaurant: { name: olo, tel: +358(0) , cuisine: finnish, cuisine: creative, chef: Jari Vesivalo } }

18 object references example { name: fafa s, address: Vilhonvuorenkatu 10, Helsinki, menu: &m, } { name: fafa s, address: Ruusulankatu 1, Helsinki, menu: &m, } &m{ dish: falafel and hummus, dish: falafel, pesto and goat cheese, dish: falafel, feta and eggplant }

19 XML example <restaurant> <name>fafa s</name> <address>vilhonvuorenkatu 10, Helsinki</address> <cuisine>mediterranean</cuisine> </restaurant> <restaurant> <name>cafe Bar No 9</name> <address>uudenmaakatu 9, Helsinki 00120, Finland</address> <cuisine>burger</cuisine> <bar>yes</bar> </restaurant> <restaurant> <name>olo</name> <tel>+358(0) </tel> <cuisine>finnish</cuisine> <cuisine>creative</cuisine> <chef>jari Vesivalo</chef> </restaurant>

20 abstract away the syntax graph representation restaurant restaurant name name address cuisine address cuisine bar fafa s mediterranean Cafe Bar No 9 burger yes street number zip city street number zip city

21 graph representation with object references name address menu &m menu name address fafa s fafa s Vilhonvuorenkatu Helsinki dish Ruusulankatu Helsinki dish dish falafel and hummus falafel, pesto and goat cheese falafel, feta and eggplant

22 graph representation semi-structured data can be represented as a graph also called data graph directed graph edge labels labels express relations between data objects node labels values or object references

23 the data graph algorithms for accessing semi-structured data may depend on the structure of the data graph graph with a cycle and no root rooted acyclic graph tree

24 representing relational databases r1: a b c r2: a1 b1 c1 a2 b2 c2 c c2 c3 c3 d d2 d3 d4 {r1: {row : {a: a1, b: b1: c: c1}, {row : {a: a2, b: b2: c: c2} } {r2: {row : {c: c2, d: d2}, {row : {c: c3, d: d3}, {row : {c: c4, d: d4} }

25 example 2 : creating a knowledge base Amir is a Macadamia student he also has an ambitious plan: he wants to gather and store all knowledge known to humankind! Helsinki has inhabitants Joe Shuster was a co-creator of the character Superman OPS 5113 was an American navigation satellite futile? restrict to all knowledge available in the internet challenge : gather and organize the knowledge in a database why? be able to perform database-type queries : sort all cities having more than inhabitants by density list best-selling novels of American creators of comics characters

26 example 2 : creating a knowledge base challenges for Amir to materialize his plan : challenge 1 : (design) how to store the knowledge base? option 1 : use a relational database create tables, decide on attributes, keys, types, etc. proceed to crawl the internet and populate the database what are the tables, attributes, etc? designing the database schema is an impossible task option 2 : use semi-structured data crawl the internet and generate label-value pairs for each fact encountered and can be parsed data schema described in the data itself

27 example 2 : creating a knowledge base city city name founder name timezone country country population Helsinki Gustav I of Sweden Stockholm Sweden UTC+01:00 Finland

28 example 2 : creating a knowledge base challenges for Amir to materialize his plan : challenge 2 : (implementation) how to populate the knowledge base? ideas? crowdsourcing wikipedia infoboxes

29 create a knowledge base by crowdsourcing follow wikipedia model create wiki service, seed it, and ask people to contribute/curate idea used by wikidata, DBpedia, Freebase

30 create a knowledge using wikipedia infoboxes idea used by DBpedia, yago yago developed in MPI (incorporates infoboxes and wordnet)

31 existing knowledge bases in the form of semi-structured data wikidata DBpedia extract information from Wikipedia (infoboxes, categories, etc.) crowd-sourced community effort open source Freebase initially seeded from high-quality data (wikipedia, MusicBrainz, etc.) then maintained mainly by community acquired by Google in 2010 yago based on wikipedia, includes WordNet

32 schema of semi-structured data

33 schema of semi-structured data we motivated semi-structured data as schema-less however, schema can be defined semi-structured data schema description of the structure of semi-structured data describes data types, relationships, constraints, specified using a formal language often uses the syntax of the data language itself

34 restaurant semi-structured data restaurant restaurant name name address cuisine address cuisine bar fafa s mediterranean Cafe Bar No 9 burger yes street number zip city street number zip city

35 schema example { } title: restaurant, description: basic information about restaurants, type: object, properties: { name: { description: the name of the restaurant, type: string } price_range: { description: price range, type: set, values: [ $, $$, $$$, $$$$ ] } address: { description: physical address of the restaurant, type: object, properties : { street: string, number: numerical, zip: string } } required : name }

36 benefits of defining a schema why have a schema? schema can be used to ensure that data items have intended types validate that data has intended structure ensure that data satisfies certain constraints integrate (merge) hetereogeous datasets by identifying mappings between schemas of different datasets query optimization

37 schema extraction extracting schema from the data can be automated data guide : a summary of the data graph data guide requirements accurate : every path in the data occurs in the data guide concise : every path in the data guide occurs exactly once

38 the data graph restaurant restaurant name name address cuisine address cuisine bar fafa s mediterranean Cafe Bar No 9 burger yes street number zip city street number zip city

39 data guide for restaurant dataset restaurant name cuisine chef bar address menu street number zip city dish

40 querying semi-structured data

41 desirable properties of a query language expressive power it should be able to define the operations expressed by the query language compositionality the output of a query can be used as the input of another query schema-conscious defining a query language for semi-structured data the query language should be able to exploit schema, when available program manipulation simple language with clear semantics, so that queries can be easily program-generated

42 path expression a sequence of edge labels e1.e2.. en applying path expression on a data graph returns a set of nodes {vn} such that (r, l1, v1), (r, l2, v2),,(r, ln, vn) are paths on the data graph each li matches the path expression e1.e2.. en r is root

43 path expression example Garcia- Molina Ullman Widom path expression book n1 date title 2008 Database systems biblio.book. returns db biblio book n2 date Smith {Garcia-Molina, Ullman, Widom, Smith} 1999 paper title Database systems n3

44 path expression example Garcia- Molina Ullman regular expressions are used to specify path expressions book n1 date title Widom 2008 Database systems disjunction : biblio.(book paper). wild card : biblio._. db biblio book n2 date Smith Kleene closure : biblio._* paper title Database systems n3

45 path expression used by most query languages of semi-structured data e.g., in XML it is called XPath allow to access the data graph at arbitrary depth a building block of a query language, not a query itself returns a set of nodes on the data graph, not a piece of semi-structured data does not construct new nodes cannot be used to perform join we need to use a standard query language to bind together nodes returned by path expressions

46 querying semi-structured data book db book biblio paper n1 date title n2 date title n3 Garcia- Molina Ullman Widom 2008 Database systems Smith 1999 Database systems % Query q1 select : X from biblio.book. X returns {: Garcia-Molina, : Ullman, : Widom, : Smith} q1 Garcia- Molina Ullman Widom Smith

47 querying semi-structured data Garcia- Molina Ullman % Query q2 select row: X from biblio._ X where Smith in X. db biblio book book n1 date title n2 date Widom 2008 Database systems Smith 1999 returns {row:{: Smith, date: 1999, title: Database systems }, } q2 row n2 date Smith 1999 paper title n3 Database systems row title Database systems

48 querying semi-structured data Garcia- Molina what does q3 return? book n1 date title Ullman Widom 2008 Database systems % Query q3 select : Y from biblio._ X, X. Y, X.title Z where matches(.*database.*,z) db biblio book n2 date Smith 1999 all s with a publication whose title contains the word database paper title Database systems n3

49 querying semi-structured data book db book biblio paper n1 date title n2 date title n3 Garcia- Molina Ullman Widom 2008 Database systems Smith 1999 Database systems % Query q4 select row:(select : Y from X. Y) from biblio.book X returns {row:{: Garcia-Molina, : Ullman, : Widom }, row:{: Smith }} q4 row row Garcia- Molina Ullman Widom Smith

50 query optimization

51 query optimization as with RDBMS, indices are used in semi-structured data to enable fast and efficient access to data in RDBMS an index is created on an attribute to locate objects with a particular value in that attribute when querying semi-structured data, the path to the object is important, not only its values

52 query optimization example consider the following query select X from biblio._*. X or it requires to reach all objects reachable by a path select X from biblio._*.: {name: X, affiliation: Aalto } narrow the search to parts of the database containing the string Aalto

53 indexing the simplest case assume that the data graph is a tree a simplex index : also a tree that summarizes path information each node of the tree is a hash table the root index node contains all labels found in the root data node in general, the index has one node for every sequence of labels leading to a non-leaf node in the data each entry in each hash table contains a list of pointers to the corresponding nodes in the data tree

54 a simple index Garcia- Molina biblio book db book biblio paper n1 date title n2 date title n3 Ullman Widom 2008 Database systems Smith 1999 Database systems book paper date title date title consider the path expressions biblio.book biblio.paper._* biblio._*.

55 query evaluation on a tree index follow path expression on the index when reaching end of path, follow pointers to the data objects X._* will lead to follow the whole subtree below X still it may be more efficient than scanning the whole data

56 indexing semi-structured data how to generalize the previous idea (simple index) on directed acyclic graphs (dags) or general graphs? some ideas: language-equivalent nodes : nodes with the same path from the root for indexing language-equivalent nodes can be merged bisumulation : creating equivalent classes of languageequivalent nodes index graph : index on graph with merged nodes extent : list of pointers from merged nodes to actual objects the index graph is always smaller than the data graph, in many cases much smaller

57 query optimization several indexing structures are used value index : find objects with a given incoming edge label and satisfying a predicate label index : locate all parents of an object reachable via an edge with a given edge label edge index : find all parent-child object pairs connected via a given edge label path index : find all objects reachable via a given path full-text index : string-matching index

58 query optimization other considerations tree vs. graph data : tree-shaped semi-structured data are easier to index restricted vs. full regular expressions : complex regular expressions are rarely encountered restricted regular path expressions can be easier to index

59 query optimization rules of thumb from the user perspective build indexes on attributes used to query the data build indices on attributes that lead to higher selectivity

60 summary semi-structured data provide a way to exchange data without prior agreement on the data structure many variants of the main idea : XML, RDF, JSON, abstraction via the data graph model no schema is required, but useful when available path expressions are used to access objects from the data graph standard query languages are used to bind together objects accessed by path expressions query optimization significantly more complex than in RDBMS

61 sources Book: Data on the Web, Serge Abiteboul, Peter Buneman, Dan Suciu Research paper: Lore: a database management system for semistructured data, Jason McHugh, Serge Abiteboul, Roy Goldman, Dallan Quass, Jennifer Widom MongoDB manual

10/24/12. What We Have Learned So Far. XML Outline. Where We are Going Next. XML vs Relational. What is XML? Introduction to Data Management CSE 344

10/24/12. What We Have Learned So Far. XML Outline. Where We are Going Next. XML vs Relational. What is XML? Introduction to Data Management CSE 344 What We Have Learned So Far Introduction to Data Management CSE 344 Lecture 12: XML and XPath A LOT about the relational model Hand s on experience using a relational DBMS From basic to pretty advanced

More information

Introduction to Database Systems CSE 414

Introduction to Database Systems CSE 414 Introduction to Database Systems CSE 414 Lecture 13: XML and XPath 1 Announcements Current assignments: Web quiz 4 due tonight, 11 pm Homework 4 due Wednesday night, 11 pm Midterm: next Monday, May 4,

More information

Introduction to Data Management CSE 344

Introduction to Data Management CSE 344 Introduction to Data Management CSE 344 Lecture 11: XML and XPath 1 XML Outline What is XML? Syntax Semistructured data DTDs XPath 2 What is XML? Stands for extensible Markup Language 1. Advanced, self-describing

More information

Introduction to Database Systems CSE 414

Introduction to Database Systems CSE 414 Introduction to Database Systems CSE 414 Lecture 14-15: XML CSE 414 - Spring 2013 1 Announcements Homework 4 solution will be posted tomorrow Midterm: Monday in class Open books, no notes beyond one hand-written

More information

Introduction to Database Systems CSE 444

Introduction to Database Systems CSE 444 Introduction to Database Systems CSE 444 Lecture 25: XML 1 XML Outline XML Syntax Semistructured data DTDs XPath Coverage of XML is much better in new edition Readings Sections 11.1 11.3 and 12.1 [Subset

More information

Lab Assignment 3 on XML

Lab Assignment 3 on XML CIS612 Dr. Sunnie S. Chung Lab Assignment 3 on XML Semi-structure Data Processing: Transforming XML data to CSV format For Lab3, You can write in your choice of any languages in any platform. The Semi-Structured

More information

Semistructured Data Store Mapping with XML and Its Reconstruction

Semistructured Data Store Mapping with XML and Its Reconstruction Semistructured Data Store Mapping with XML and Its Reconstruction Enhong CHEN 1 Gongqing WU 1 Gabriela Lindemann 2 Mirjam Minor 2 1 Department of Computer Science University of Science and Technology of

More information

Database Systems CSE 414

Database Systems CSE 414 Database Systems CSE 414 Lecture 16: NoSQL and JSon CSE 414 - Spring 2016 1 Announcements Current assignments: Homework 4 due tonight Web Quiz 6 due next Wednesday [There is no Web Quiz 5] Today s lecture:

More information

5/2/16. Announcements. NoSQL Motivation. The New Hipster: NoSQL. Serverless. What is the Problem? Database Systems CSE 414

5/2/16. Announcements. NoSQL Motivation. The New Hipster: NoSQL. Serverless. What is the Problem? Database Systems CSE 414 Announcements Database Systems CSE 414 Lecture 16: NoSQL and JSon Current assignments: Homework 4 due tonight Web Quiz 6 due next Wednesday [There is no Web Quiz 5 Today s lecture: JSon The book covers

More information

Traditional Query Processing. Query Processing. Meta-Data for Optimization. Query Optimization Steps. Algebraic Transformation Predicate Pushdown

Traditional Query Processing. Query Processing. Meta-Data for Optimization. Query Optimization Steps. Algebraic Transformation Predicate Pushdown Traditional Query Processing 1. Query optimization buyer Query Processing Be Adaptive SELECT S.s FROM Purchase P, Person Q WHERE P.buyer=Q. AND Q.city= seattle AND Q.phone > 5430000 2. Query execution

More information

CSE 344 APRIL 16 TH SEMI-STRUCTURED DATA

CSE 344 APRIL 16 TH SEMI-STRUCTURED DATA CSE 344 APRIL 16 TH SEMI-STRUCTURED DATA ADMINISTRATIVE MINUTIAE HW3 due Wednesday OQ4 due Wednesday HW4 out Wednesday (Datalog) Exam May 9th 9:30-10:20 WHERE WE ARE So far we have studied the relational

More information

JSON - Overview JSon Terminology

JSON - Overview JSon Terminology Announcements Introduction to Database Systems CSE 414 Lecture 12: Json and SQL++ Office hours changes this week Check schedule HW 4 due next Tuesday Start early WQ 4 due tomorrow 1 2 JSON - Overview JSon

More information

Introduction to Database Systems. Fundamental Concepts

Introduction to Database Systems. Fundamental Concepts Introduction to Database Systems Fundamental Concepts Werner Nutt 1 Characteristics of the DB Approach Insulation of application programs and data from each other Use of a ue to store the schema Support

More information

Indexing XML Data with ToXin

Indexing XML Data with ToXin Indexing XML Data with ToXin Flavio Rizzolo, Alberto Mendelzon University of Toronto Department of Computer Science {flavio,mendel}@cs.toronto.edu Abstract Indexing schemes for semistructured data have

More information

Overview. * Some History. * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL. * NoSQL Taxonomy. *TowardsNewSQL

Overview. * Some History. * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL. * NoSQL Taxonomy. *TowardsNewSQL * Some History * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL * NoSQL Taxonomy * Towards NewSQL Overview * Some History * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL * NoSQL Taxonomy *TowardsNewSQL NoSQL

More information

XML-QE: A Query Engine for XML Data Soures

XML-QE: A Query Engine for XML Data Soures XML-QE: A Query Engine for XML Data Soures Bruce Jackson, Adiel Yoaz {brucej, adiel}@cs.wisc.edu 1 1. Introduction XML, short for extensible Markup Language, may soon be used extensively for exchanging

More information

10/18/2017. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414

10/18/2017. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414 Announcements Database Systems CSE 414 Lecture 11: NoSQL & JSON (mostly not in textbook only Ch 11.1) HW5 will be posted on Friday and due on Nov. 14, 11pm [No Web Quiz 5] Today s lecture: NoSQL & JSON

More information

Data Formats and APIs

Data Formats and APIs Data Formats and APIs Mike Carey mjcarey@ics.uci.edu 0 Announcements Keep watching the course wiki page (especially its attachments): https://grape.ics.uci.edu/wiki/asterix/wiki/stats170ab-2018 Ditto for

More information

CSE 544 Data Models. Lecture #3. CSE544 - Spring,

CSE 544 Data Models. Lecture #3. CSE544 - Spring, CSE 544 Data Models Lecture #3 1 Announcements Project Form groups by Friday Start thinking about a topic (see new additions to the topic list) Next paper review: due on Monday Homework 1: due the following

More information

5/1/17. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414

5/1/17. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414 Announcements Database Systems CSE 414 Lecture 15: NoSQL & JSON (mostly not in textbook only Ch 11.1) 1 Homework 4 due tomorrow night [No Web Quiz 5] Midterm grading hopefully finished tonight post online

More information

Evolution of Database Systems

Evolution of Database Systems Evolution of Database Systems Krzysztof Dembczyński Intelligent Decision Support Systems Laboratory (IDSS) Poznań University of Technology, Poland Intelligent Decision Support Systems Master studies, second

More information

Introduction to Semistructured Data and XML

Introduction to Semistructured Data and XML Introduction to Semistructured Data and XML Chapter 27, Part D Based on slides by Dan Suciu University of Washington Database Management Systems, R. Ramakrishnan 1 How the Web is Today HTML documents often

More information

Database Systems CSE 414

Database Systems CSE 414 Database Systems CSE 414 Lecture 15-16: Basics of Data Storage and Indexes (Ch. 8.3-4, 14.1-1.7, & skim 14.2-3) 1 Announcements Midterm on Monday, November 6th, in class Allow 1 page of notes (both sides,

More information

Introduction to XML. Yanlei Diao UMass Amherst April 17, Slides Courtesy of Ramakrishnan & Gehrke, Dan Suciu, Zack Ives and Gerome Miklau.

Introduction to XML. Yanlei Diao UMass Amherst April 17, Slides Courtesy of Ramakrishnan & Gehrke, Dan Suciu, Zack Ives and Gerome Miklau. Introduction to XML Yanlei Diao UMass Amherst April 17, 2008 Slides Courtesy of Ramakrishnan & Gehrke, Dan Suciu, Zack Ives and Gerome Miklau. 1 Structure in Data Representation Relational data is highly

More information

Introduction to Database Systems. Fundamental Concepts

Introduction to Database Systems. Fundamental Concepts Introduction to Database Systems Fundamental Concepts Werner Nutt 1 A DBMS Presents Programmers and Users with a Simplified Environment Database System Users/Programmers Queries / Application Programs

More information

Element Algebra. 1 Introduction. M. G. Manukyan

Element Algebra. 1 Introduction. M. G. Manukyan Element Algebra M. G. Manukyan Yerevan State University Yerevan, 0025 mgm@ysu.am Abstract. An element algebra supporting the element calculus is proposed. The input and output of our algebra are xdm-elements.

More information

Overview. Structured Data. The Structure of Data. Semi-Structured Data Introduction to XML Querying XML Documents. CMPUT 391: XML and Querying XML

Overview. Structured Data. The Structure of Data. Semi-Structured Data Introduction to XML Querying XML Documents. CMPUT 391: XML and Querying XML Database Management Systems Winter 2004 CMPUT 391: XML and Querying XML Lecture 12 Overview Semi-Structured Data Introduction to XML Querying XML Documents Dr. Osmar R. Zaïane University of Alberta Chapter

More information

Announcements. JSon Data Structures. JSon Syntax. JSon Semantics: a Tree! JSon Primitive Datatypes. Introduction to Database Systems CSE 414

Announcements. JSon Data Structures. JSon Syntax. JSon Semantics: a Tree! JSon Primitive Datatypes. Introduction to Database Systems CSE 414 Introduction to Database Systems CSE 414 Lecture 13: Json and SQL++ Announcements HW5 + WQ5 will be out tomorrow Both due in 1 week Midterm in class on Friday, 5/4 Covers everything (HW, WQ, lectures,

More information

Class Overview. Two Classes of Database Applications. NoSQL Motivation. RDBMS Review: Client-Server. RDBMS Review: Serverless

Class Overview. Two Classes of Database Applications. NoSQL Motivation. RDBMS Review: Client-Server. RDBMS Review: Serverless Introduction to Database Systems CSE 414 Lecture 12: NoSQL 1 Class Overview Unit 1: Intro Unit 2: Relational Data Models and Query Languages Unit 3: Non-relational data NoSQL Json SQL++ Unit 4: RDMBS internals

More information

Introduction to Semistructured Data and XML. Overview. How the Web is Today. Based on slides by Dan Suciu University of Washington

Introduction to Semistructured Data and XML. Overview. How the Web is Today. Based on slides by Dan Suciu University of Washington Introduction to Semistructured Data and XML Based on slides by Dan Suciu University of Washington CS330 Lecture April 8, 2003 1 Overview From HTML to XML DTDs Querying XML: XPath Transforming XML: XSLT

More information

PASSWORDS TREES AND HIERARCHIES. CS121: Relational Databases Fall 2017 Lecture 24

PASSWORDS TREES AND HIERARCHIES. CS121: Relational Databases Fall 2017 Lecture 24 PASSWORDS TREES AND HIERARCHIES CS121: Relational Databases Fall 2017 Lecture 24 Account Password Management 2 Mentioned a retailer with an online website Need a database to store user account details

More information

A B2B Search Engine. Abstract. Motivation. Challenges. Technical Report

A B2B Search Engine. Abstract. Motivation. Challenges. Technical Report Technical Report A B2B Search Engine Abstract In this report, we describe a business-to-business search engine that allows searching for potential customers with highly-specific queries. Currently over

More information

CSE Midterm - Spring 2017 Solutions

CSE Midterm - Spring 2017 Solutions CSE Midterm - Spring 2017 Solutions March 28, 2017 Question Points Possible Points Earned A.1 10 A.2 10 A.3 10 A 30 B.1 10 B.2 25 B.3 10 B.4 5 B 50 C 20 Total 100 Extended Relational Algebra Operator Reference

More information

ADT 2009 Other Approaches to XQuery Processing

ADT 2009 Other Approaches to XQuery Processing Other Approaches to XQuery Processing Stefan Manegold Stefan.Manegold@cwi.nl http://www.cwi.nl/~manegold/ 12.11.2009: Schedule 2 RDBMS back-end support for XML/XQuery (1/2): Document Representation (XPath

More information

Fall, 2004 CIS 550. Database and Information Systems Midterm Solutions

Fall, 2004 CIS 550. Database and Information Systems Midterm Solutions Fall, 2004 CIS 550 Database and Information Systems Midterm Solutions The exam is 80 minutes long. There are 100 points total, plus 10 points extra credit. Please look at both sides of the paper. The last

More information

Part XII. Mapping XML to Databases. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321

Part XII. Mapping XML to Databases. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321 Part XII Mapping XML to Databases Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321 Outline of this part 1 Mapping XML to Databases Introduction 2 Relational Tree Encoding Dead Ends

More information

Introduction to Databases Fall-Winter 2009/10. Syllabus

Introduction to Databases Fall-Winter 2009/10. Syllabus Introduction to Databases Fall-Winter 2009/10 Syllabus Werner Nutt Syllabus Lecturer Werner Nutt, nutt@inf.unibz.it, Room TRA 2.01 Office hours: Thursday, 16:00 18:00 (If you want to meet up with me, send

More information

CSE 544 Principles of Database Management Systems. Lecture 4: Data Models a Never-Ending Story

CSE 544 Principles of Database Management Systems. Lecture 4: Data Models a Never-Ending Story CSE 544 Principles of Database Management Systems Lecture 4: Data Models a Never-Ending Story 1 Announcements Project Start to think about class projects If needed, sign up to meet with me on Monday (I

More information

Announcements. Two Classes of Database Applications. Class Overview. NoSQL Motivation. RDBMS Review: Serverless

Announcements. Two Classes of Database Applications. Class Overview. NoSQL Motivation. RDBMS Review: Serverless Introduction to Database Systems CSE 414 Lecture 11: NoSQL 1 HW 3 due Friday Announcements Upload data with DataGrip editor see message board Azure timeout for question 5: Try DataGrip or SQLite HW 2 Grades

More information

Query Processing & Optimization

Query Processing & Optimization Query Processing & Optimization 1 Roadmap of This Lecture Overview of query processing Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Introduction

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1 Slide 27-1 Chapter 27 XML: Extensible Markup Language Chapter Outline Introduction Structured, Semi structured, and Unstructured Data. XML Hierarchical (Tree) Data Model. XML Documents, DTD, and XML Schema.

More information

Database Management

Database Management Database Management - 2011 Model Answers 1. a. A data model should comprise a structural part, an integrity part and a manipulative part. The relational model provides standard definitions for all three

More information

Chapter 2 XML, XML Schema, XSLT, and XPath

Chapter 2 XML, XML Schema, XSLT, and XPath Summary Chapter 2 XML, XML Schema, XSLT, and XPath Ryan McAlister XML stands for Extensible Markup Language, meaning it uses tags to denote data much like HTML. Unlike HTML though it was designed to carry

More information

Additional Readings on XPath/XQuery Main source on XML, but hard to read:

Additional Readings on XPath/XQuery Main source on XML, but hard to read: Introduction to Database Systems CSE 444 Lecture 10 XML XML (4.6, 4.7) Syntax Semistructured data DTDs XML Outline April 21, 2008 1 2 Further Readings on XML Additional Readings on XPath/XQuery Main source

More information

Topics. History. Architecture. MongoDB, Mongoose - RDBMS - SQL. - NoSQL

Topics. History. Architecture. MongoDB, Mongoose - RDBMS - SQL. - NoSQL Databases Topics History - RDBMS - SQL Architecture - SQL - NoSQL MongoDB, Mongoose Persistent Data Storage What features do we want in a persistent data storage system? We have been using text files to

More information

Big Data Management and NoSQL Databases

Big Data Management and NoSQL Databases NDBI040 Big Data Management and NoSQL Databases Lecture 10. Graph databases Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz http://www.ksi.mff.cuni.cz/~holubova/ndbi040/ Graph Databases Basic

More information

CMPT 354 Database Systems I. Spring 2012 Instructor: Hassan Khosravi

CMPT 354 Database Systems I. Spring 2012 Instructor: Hassan Khosravi CMPT 354 Database Systems I Spring 2012 Instructor: Hassan Khosravi Textbook First Course in Database Systems, 3 rd Edition. Jeffry Ullman and Jennifer Widom Other text books Ramakrishnan SILBERSCHATZ

More information

A MODEL FOR ADVANCED QUERY CAPABILITY DESCRIPTION IN MEDIATOR SYSTEMS

A MODEL FOR ADVANCED QUERY CAPABILITY DESCRIPTION IN MEDIATOR SYSTEMS A MODEL FOR ADVANCED QUERY CAPABILITY DESCRIPTION IN MEDIATOR SYSTEMS Alberto Pan, Paula Montoto and Anastasio Molano Denodo Technologies, Almirante Fco. Moreno 5 B, 28040 Madrid, Spain Email: apan@denodo.com,

More information

CS 525 Advanced Database Organization - Spring 2017 Mon + Wed 1:50-3:05 PM, Room: Stuart Building 111

CS 525 Advanced Database Organization - Spring 2017 Mon + Wed 1:50-3:05 PM, Room: Stuart Building 111 CS 525 Advanced Database Organization - Spring 2017 Mon + Wed 1:50-3:05 PM, Room: Stuart Building 111 Instructor: Boris Glavic, Stuart Building 226 C, Phone: 312 567 5205, Email: bglavic@iit.edu Office

More information

Data Modeling and Databases Ch 10: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 10: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 10: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application

More information

CSE 344 FEBRUARY 14 TH INDEXING

CSE 344 FEBRUARY 14 TH INDEXING CSE 344 FEBRUARY 14 TH INDEXING EXAM Grades posted to Canvas Exams handed back in section tomorrow Regrades: Friday office hours EXAM Overall, you did well Average: 79 Remember: lowest between midterm/final

More information

Introduction to Data Management CSE 344

Introduction to Data Management CSE 344 Introduction to Data Management CSE 344 Lecture 16: Xpath, XQuery, JSON 1 Announcements Homework 4 due on Wednesday There was a small update on the last question Webquiz 6 due on Friday Midterm will be

More information

XML in Databases. Albrecht Schmidt. al. Albrecht Schmidt, Aalborg University 1

XML in Databases. Albrecht Schmidt.   al. Albrecht Schmidt, Aalborg University 1 XML in Databases Albrecht Schmidt al@cs.auc.dk http://www.cs.auc.dk/ al Albrecht Schmidt, Aalborg University 1 What is XML? (1) Where is the Life we have lost in living? Where is the wisdom we have lost

More information

Data Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 9: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application

More information

Integrating Path Index with Value Index for XML data

Integrating Path Index with Value Index for XML data Integrating Path Index with Value Index for XML data Jing Wang 1, Xiaofeng Meng 2, Shan Wang 2 1 Institute of Computing Technology, Chinese Academy of Sciences, 100080 Beijing, China cuckoowj@btamail.net.cn

More information

Lecture 25 Overview. Last Lecture Query optimisation/query execution strategies

Lecture 25 Overview. Last Lecture Query optimisation/query execution strategies Lecture 25 Overview Last Lecture Query optimisation/query execution strategies This Lecture Non-relational data models Source: web pages, textbook chapters 20-22 Next Lecture Revision COSC344 Lecture 25

More information

Relational Model: History

Relational Model: History Relational Model: History Objectives of Relational Model: 1. Promote high degree of data independence 2. Eliminate redundancy, consistency, etc. problems 3. Enable proliferation of non-procedural DML s

More information

Introduction to Database Systems CSE 344

Introduction to Database Systems CSE 344 Introduction to Database Systems CSE 344 Lecture 6: Basic Query Evaluation and Indexes 1 Announcements Webquiz 2 is due on Tuesday (01/21) Homework 2 is posted, due week from Monday (01/27) Today: query

More information

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1 Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished

More information

Symmetrically Exploiting XML

Symmetrically Exploiting XML Symmetrically Exploiting XML Shuohao Zhang and Curtis Dyreson School of E.E. and Computer Science Washington State University Pullman, Washington, USA The 15 th International World Wide Web Conference

More information

Query Optimization. Query Optimization. Optimization considerations. Example. Interaction of algorithm choice and tree arrangement.

Query Optimization. Query Optimization. Optimization considerations. Example. Interaction of algorithm choice and tree arrangement. COS 597: Principles of Database and Information Systems Query Optimization Query Optimization Query as expression over relational algebraic operations Get evaluation (parse) tree Leaves: base relations

More information

Storing and Maintaining Semistructured Data Efficiently in an Object-Relational Database

Storing and Maintaining Semistructured Data Efficiently in an Object-Relational Database Storing and Maintaining Semistructured Data Efficiently in an Object-Relational Database Yuanying Mo National University of Singapore moyuanyi@comp.nus.edu.sg Tok Wang Ling National University of Singapore

More information

Generalized Document Data Model for Integrating Autonomous Applications

Generalized Document Data Model for Integrating Autonomous Applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract

More information

Chapter 13 XML: Extensible Markup Language

Chapter 13 XML: Extensible Markup Language Chapter 13 XML: Extensible Markup Language - Internet applications provide Web interfaces to databases (data sources) - Three-tier architecture Client V Application Programs Webserver V Database Server

More information

Some aspects of references behaviour when querying XML with XQuery

Some aspects of references behaviour when querying XML with XQuery Some aspects of references behaviour when querying XML with XQuery c B.Khvostichenko boris.khv@pobox.spbu.ru B.Novikov borisnov@acm.org Abstract During the XQuery query evaluation, the query output is

More information

Introduction to Databases Fall-Winter 2010/11. Syllabus

Introduction to Databases Fall-Winter 2010/11. Syllabus Introduction to Databases Fall-Winter 2010/11 Syllabus Werner Nutt Syllabus Lecturer Werner Nutt, nutt@inf.unibz.it, Room POS 2.09 Office hours: Tuesday, 14:00 16:00 and by appointment (If you want to

More information

Semantic Web. Tahani Aljehani

Semantic Web. Tahani Aljehani Semantic Web Tahani Aljehani Motivation: Example 1 You are interested in SOAP Web architecture Use your favorite search engine to find the articles about SOAP Keywords-based search You'll get lots of information,

More information

KNOWLEDGE GRAPHS. Lecture 1: Introduction and Motivation. TU Dresden, 16th Oct Markus Krötzsch Knowledge-Based Systems

KNOWLEDGE GRAPHS. Lecture 1: Introduction and Motivation. TU Dresden, 16th Oct Markus Krötzsch Knowledge-Based Systems KNOWLEDGE GRAPHS Lecture 1: Introduction and Motivation Markus Krötzsch Knowledge-Based Systems TU Dresden, 16th Oct 2018 Introduction and Organisation Markus Krötzsch, 16th Oct 2018 Knowledge Graphs slide

More information

> Semantic Web Use Cases and Case Studies

> Semantic Web Use Cases and Case Studies > Semantic Web Use Cases and Case Studies Case Study: Improving Web Search using Metadata Peter Mika, Yahoo! Research, Spain November 2008 Presenting compelling search results depends critically on understanding

More information

Informatics 1: Data & Analysis

Informatics 1: Data & Analysis Informatics 1: Data & Analysis Lecture 9: Trees and XML Ian Stark School of Informatics The University of Edinburgh Tuesday 11 February 2014 Semester 2 Week 5 http://www.inf.ed.ac.uk/teaching/courses/inf1/da

More information

Intelligent Recipe Publisher - Delicious

Intelligent Recipe Publisher - Delicious Intelligent Recipe Publisher - Delicious Minor Project IBM Career Education Disclaimer This Software Requirements Specification document is a guideline. The document details all the high level requirements.

More information

modern database systems lecture 4 : information retrieval

modern database systems lecture 4 : information retrieval modern database systems lecture 4 : information retrieval Aristides Gionis Michael Mathioudakis spring 2016 in perspective structured data relational data RDBMS MySQL semi-structured data data-graph representation

More information

Aspects of an XML-Based Phraseology Database Application

Aspects of an XML-Based Phraseology Database Application Aspects of an XML-Based Phraseology Database Application Denis Helic 1 and Peter Ďurčo2 1 University of Technology Graz Insitute for Information Systems and Computer Media dhelic@iicm.edu 2 University

More information

Lecture Query evaluation. Combining operators. Logical query optimization. By Marina Barsky Winter 2016, University of Toronto

Lecture Query evaluation. Combining operators. Logical query optimization. By Marina Barsky Winter 2016, University of Toronto Lecture 02.03. Query evaluation Combining operators. Logical query optimization By Marina Barsky Winter 2016, University of Toronto Quick recap: Relational Algebra Operators Core operators: Selection σ

More information

Module 4. Implementation of XQuery. Part 0: Background on relational query processing

Module 4. Implementation of XQuery. Part 0: Background on relational query processing Module 4 Implementation of XQuery Part 0: Background on relational query processing The Data Management Universe Lecture Part I Lecture Part 2 2 What does a Database System do? Input: SQL statement Output:

More information

Announcement. Reading Material. Overview of Query Evaluation. Overview of Query Evaluation. Overview of Query Evaluation 9/26/17

Announcement. Reading Material. Overview of Query Evaluation. Overview of Query Evaluation. Overview of Query Evaluation 9/26/17 Announcement CompSci 516 Database Systems Lecture 10 Query Evaluation and Join Algorithms Project proposal pdf due on sakai by 5 pm, tomorrow, Thursday 09/27 One per group by any member Instructor: Sudeepa

More information

Path Query Reduction and Diffusion for Distributed Semi-structured Data Retrieval+

Path Query Reduction and Diffusion for Distributed Semi-structured Data Retrieval+ Path Query Reduction and Diffusion for Distributed Semi-structured Data Retrieval+ Jaehyung Lee, Yon Dohn Chung, Myoung Ho Kim Division of Computer Science, Department of EECS Korea Advanced Institute

More information

Introduction to Database Systems CSE 414

Introduction to Database Systems CSE 414 Introduction to Database Systems CSE 414 Lecture 14: XQuery, JSON 1 Announcements Midterm: Monday in class Review Sunday 2 pm, SAV 264 Includes everything up to, but not including, XML Closed book, no

More information

CMPT 354: Database System I. Lecture 2. Relational Model

CMPT 354: Database System I. Lecture 2. Relational Model CMPT 354: Database System I Lecture 2. Relational Model 1 Outline An overview of data models Basics of the Relational Model Define a relational schema in SQL 2 Outline An overview of data models Basics

More information

METAXPath. Utah State University. From the SelectedWorks of Curtis Dyreson. Curtis Dyreson, Utah State University Michael H. Böhen Christian S.

METAXPath. Utah State University. From the SelectedWorks of Curtis Dyreson. Curtis Dyreson, Utah State University Michael H. Böhen Christian S. Utah State University From the SelectedWorks of Curtis Dyreson December, 2001 METAXPath Curtis Dyreson, Utah State University Michael H. Böhen Christian S. Jensen Available at: https://works.bepress.com/curtis_dyreson/11/

More information

Introduction to Data Management CSE 344. Lectures 8: Relational Algebra

Introduction to Data Management CSE 344. Lectures 8: Relational Algebra Introduction to Data Management CSE 344 Lectures 8: Relational Algebra CSE 344 - Winter 2016 1 Announcements Homework 3 is posted Microsoft Azure Cloud services! Use the promotion code you received Due

More information

XML Systems & Benchmarks

XML Systems & Benchmarks XML Systems & Benchmarks Christoph Staudt Peter Chiv Saarland University, Germany July 1st, 2003 Main Goals of our talk Part I Show up how databases and XML come together Make clear the problems that arise

More information

CSE 344 FEBRUARY 2 ND DATA SEMI-STRUCTURED

CSE 344 FEBRUARY 2 ND DATA SEMI-STRUCTURED CSE 344 FEBRUARY 2 ND DATA SEMI-STRUCTURED ADMINISTRATIVE MINUTIAE HW3 due Tonight, 11:30 pm OQ4 Due Wednesday, 11:00 pm HW4 due Friday 11:30 pm Exam next Friday 3:30-5:00 WHERE WE ARE So far we have studied

More information

CSE 544 Principles of Database Management Systems. Fall 2016 Lecture 4 Data models A Never-Ending Story

CSE 544 Principles of Database Management Systems. Fall 2016 Lecture 4 Data models A Never-Ending Story CSE 544 Principles of Database Management Systems Fall 2016 Lecture 4 Data models A Never-Ending Story 1 Announcements Project Start to think about class projects More info on website (suggested topics

More information

Before we talk about Big Data. Lets talk about not-so-big data

Before we talk about Big Data. Lets talk about not-so-big data Before we talk about Big Data Lets talk about not-so-big data Brief Intro to Database Systems Tova Milo, milo@cs.tau.ac.il 1 Textbook(s) Main textbook (In the library) Database Systems: The Complete Book,

More information

Lecture 11: Xpath/XQuery. Wednesday, April 17, 2007

Lecture 11: Xpath/XQuery. Wednesday, April 17, 2007 Lecture 11: Xpath/XQuery Wednesday, April 17, 2007 1 Outline XPath XQuery See recommend readings in previous lecture 2 Querying XML Data XPath = simple navigation through the tree XQuery = the SQL of XML

More information

Study of NoSQL Database Along With Security Comparison

Study of NoSQL Database Along With Security Comparison Study of NoSQL Database Along With Security Comparison Ankita A. Mall [1], Jwalant B. Baria [2] [1] Student, Computer Engineering Department, Government Engineering College, Modasa, Gujarat, India ank.fetr@gmail.com

More information

Research Works to Cope with Big Data Volume and Variety. Jiaheng Lu University of Helsinki, Finland

Research Works to Cope with Big Data Volume and Variety. Jiaheng Lu University of Helsinki, Finland Research Works to Cope with Big Data Volume and Variety Jiaheng Lu University of Helsinki, Finland Big Data: 4Vs Photo downloaded from: https://blog.infodiagram.com/2014/04/visualizing-big-data-concepts-strong.html

More information

Modern Database Systems CS-E4610

Modern Database Systems CS-E4610 Modern Database Systems CS-E4610 Aristides Gionis Michael Mathioudakis Spring 2017 what is a database? a collection of data what is a database management system?... a.k.a. database system software to store,

More information

Introduction To Computers

Introduction To Computers Introduction To Computers Chapter No 7 Introduction To Databases Overview Introduction to database To make use of information, you have to be able to find the information Data files and databases are no

More information

Information Retrieval CSCI

Information Retrieval CSCI Information Retrieval CSCI 4141-6403 My name is Anwar Alhenshiri My email is: anwar@cs.dal.ca I prefer: aalhenshiri@gmail.com The course website is: http://web.cs.dal.ca/~anwar/ir/main.html 5/6/2012 1

More information

XML: Extensible Markup Language

XML: Extensible Markup Language XML: Extensible Markup Language CSC 375, Fall 2015 XML is a classic political compromise: it balances the needs of man and machine by being equally unreadable to both. Matthew Might Slides slightly modified

More information

Introduction to Data Management CSE 344. Lecture 1: Introduction

Introduction to Data Management CSE 344. Lecture 1: Introduction Introduction to Data Management CSE 344 Lecture 1: Introduction CSE 344 - Winter 2014 1 Staff Instructor: Sudeepa Roy sudeepa@cs.washington.edu Office hours: Wednesdays, 3:30-4:20, in CSE 344 (my office)

More information

Programming Technologies for Web Resource Mining

Programming Technologies for Web Resource Mining Programming Technologies for Web Resource Mining SoftLang Team, University of Koblenz-Landau Prof. Dr. Ralf Lämmel Msc. Johannes Härtel Msc. Marcel Heinz Motivation What are interesting web resources??

More information

Introduction. Web Pages. Example Graph

Introduction. Web Pages. Example Graph COSC 454 DB And the Web Introduction Overview Dynamic web pages XML and databases Reference: (Elmasri & Navathe, 5th ed) Ch. 26 - Web Database Programming Using PHP Ch. 27 - XML: Extensible Markup Language

More information

An Approach To Web Content Mining

An Approach To Web Content Mining An Approach To Web Content Mining Nita Patil, Chhaya Das, Shreya Patanakar, Kshitija Pol Department of Computer Engg. Datta Meghe College of Engineering, Airoli, Navi Mumbai Abstract-With the research

More information

Exam 1. March 20th, CS525 - Midterm Exam Solutions

Exam 1. March 20th, CS525 - Midterm Exam Solutions Name CWID Exam 1 March 20th, 2017 CS525 - Midterm Exam s Please leave this empty! 1 2 3 4 Sum Things that you are not allowed to use Personal notes Textbook Printed lecture notes Phone The exam is 75 minutes

More information

EXtensible Markup Language (XML) a W3C standard to complement HTML A markup language much like HTML

EXtensible Markup Language (XML)   a W3C standard to complement HTML A markup language much like HTML XML and XPath EXtensible Markup Language (XML) a W3C standard to complement HTML A markup language much like HTML origins: structured text SGML motivation: HTML describes presentation XML describes content

More information

4/10/2018. Relational Algebra (RA) 1. Selection (σ) 2. Projection (Π) Note that RA Operators are Compositional! 3.

4/10/2018. Relational Algebra (RA) 1. Selection (σ) 2. Projection (Π) Note that RA Operators are Compositional! 3. Lecture 33: The Relational Model 2 Professor Xiannong Meng Spring 2018 Lecture and activity contents are based on what Prof Chris Ré of Stanford used in his CS 145 in the fall 2016 term with permission

More information

7. Query Processing and Optimization

7. Query Processing and Optimization 7. Query Processing and Optimization Processing a Query 103 Indexing for Performance Simple (individual) index B + -tree index Matching index scan vs nonmatching index scan Unique index one entry and one

More information