CS A1150 Databases, 2017 Exercise Round 6 (( ), Solutions

Size: px
Start display at page:

Download "CS A1150 Databases, 2017 Exercise Round 6 (( ), Solutions"

Transcription

1 CS A1150 Databases, 2017 Exercise Round 6 (( ), Solutions 1. (6 p.) Consider a database schema which consists of three relations, whose schemas are: Students(ID, name, program, year) Courses(code, name, credits) Grades(studentID, coursecode, date, grade) See Exercise 1 for detailed description of the relations and their attributes. Write the triggers described in parts (a), (b), and (c). After that, test the triggers in part (d). Use SQLite syntax, not SQL standard syntax such that you can test the triggers using SQLiteStudio. (Hint: Instead of writing AFTER UPDATE, it is also possible to write AFTER INSERT or AFTER DELETE when defining triggers.) a) When inserting a row into table Courses, check that the number of credits is not greater than If it is, set the number of the credits of the inserted row to be CREATE TRIGGER CreditsTrigger AFTER INSERT ON Courses WHEN NEW.credits > 10.0 BEGIN UPDATE Courses SET credits = 10.0 WHERE code = NEW.code; END; b) When updating the value of attribute grade of the row in table Grades, check that the new grade is greater than or equal to the old grade. If it is not, restore the grade to what it was before the update. CREATE TRIGGER GradeTrigger AFTER UPDATE OF grade ON Grades WHEN NEW.grade < OLD.grade BEGIN UPDATE Grades SET grade = OLD.grade WHERE studentid = OLD.studentID AND coursecode = OLD.courseCode; END; c) When inserting a row into table Grades, check that the student ID exists in table Students. If it does not, insert in Students a new row with this student ID and NULL as the value of the other attributes. CREATE TRIGGER StudentTrigger AFTER INSERT ON Grades WHEN NEW.studentID NOT IN (SELECT ID FROM Students) BEGIN INSERT INTO Students VALUES(NEW.StudentID, NULL, NULL, NULL); END;

2 d) Use SQLiteStudio and create a new database with the help of the file exampledatabase6.sql given in MyCourses (this database is much simpler than the example database in Exercise Round 2). Write the definitions of the triggers from parts (a), (b) and (c). Write two INSERT statements and one UPDATE statement to test your triggers. List the contens of the tables Students, Grades and Courses both before and after those INSERT / UPDATE statements. An example of the SQL statements that can be used to test the triggers created above: 2. (3 p.) INSERT INTO Courses VALUES( M Z1111, Math for dummies, 12.0); UPDATE Grades SET grade = 2 WHERE studentid = AND coursecode = CS A1111 ; INSERT INTO Grades VALUES( , M Z1111, , 3); a) Give an XML-document (without using attributes), which inludes the following information about a certain professor: her name which is composed of the first name (Maija) and the last name (Lahtinen), the department (Computer Science), the office which is composed of the building (CS) and the room (A166), and the telephone numbers ( and ). <?xml version = "1.0" encoding = "utf-8" standalone = "yes"?> <Professor> <Name> <First_name>Maija</First_name> <Last_name>Lahtinen</Last_name> </Name> <Department>Computer Science</Department> <Office> <Building>CS</Building> <Room>A166</Room> </Office> <Telephone_number> </Telephone_number> <Telephone_number> </Telephone_number> </Professor> b) Give the tree diagram of the document given in part (a). Professor Name Department Name Telephone_ number Telephone_ number First_name Last_name Computer Science First_name Last_name Tero Teekkari Maija Lahtinen 3. (3 p.) Show that any relation R(A 1, A 2,..., A n ) and its instance (the tuples in the relation) can be represented by an XML document. We show it by constructing an XML-document which repsesents an arbitrary instance of a relation R(A 1, A 2,..., A n ). The structure of the document is as follows:

3 We construct a root element Root Inside the root element, we add an R element for each tuple in the instance of R. Inside each R element, we add an element Ai for each attribute A i of R. The text inside this element is the value of the attribute A i in the corresponding tuple. An example: Suppose that the instance of R contains 3 tuples (value11, value12,..., value1n) (value21, value22,..., value2n) (value31, value32,..., value3n) The corresponding XML-document is <?xml version = "1.0" standalone = "yes"?> <Root> <R> <A1>value11</A1> <A2>value12</A2>... <An>value1n</An> </R> <R> <A1>value21</A1> <A2>value22</A2>... <An>value2n</An> </R> <R> <A1>value31</A1> <A2>value32</A2>... <An>value3n</An> </R> </Root> 4. (4 p.) Plan the structure of an XML document containing typical data about courses and their teachers (including the basic information about courses, teachers and who teaches which course in which semester). Give an example XML document. The example document must include at least three courses and two teachers. There are several possibilities. In the following, we have the root element University which has sublements Courses and Teachers. The element Courses has a subelement Course for each course and the element Teachers has a subelement Teacher for each teacher. Information about who teaches which course is stored as subelements of each course. An example XML document: <?xml version = "1.0" encoding = "utf-8" standalone = "yes"?> <University> <Courses> <Course level = "Barchelors"> <Code>CS-A1111</Code> <Name>Basic Course in Programming Y1</Name> <Credits>5.0</Credits> <Teacherinfo> <Taught_by term = "Fall 2015">T222</Taught_by> <Taught_by term = "Fall 2016">T353</Taught_by> </Teacherinfo> <Period>I - II</Period> </Course> <Course level = "Bacherlors"> <Code>CS-A1121</Code> <Name>Basic Course in Programming Y2</Name> <Credits>5.0</Credits> <Teacherinfo> <Taught_by term = "Spring 2016">T353</Taught_by> <Taught_by term = "Spring 2017">T222</Taught_by> </Teacherinfo>

4 <Period>III - V</Period> <Prerequisites>CSE-A1111</Prerequisites> </Course> <Course level = "Masters"> <Code>CS-E5430</Code> <Name>Scalable Cloud Computing</Name> <Credits>5.0</Credits> <Teacherinfo> <Taught_by term = "Fall 2016">T222</Taught_by> </Teacherinfo> <Period>I - II</Period> <Prerequisites>CSE-A1110</Prerequisites> <Prerequisites>CSE-A1140</Prerequisites> </Course> </Courses> <Teachers> <Teacher> <TName>Matti Virtanen</TName> <EID>T222</EID> <Title>Professor</Title> <School>SCI</School> <Department>CS</Department> <Office>B213</Office> <Started> </Started> <Address> <Street>Otakuja 3 C 40</Street> <City>02150 Espoo</City> </Address> <Mail>matti.virtanen@aalto.fi</Mail> </Teacher> <Teacher> <TName>Anna Korhonen</TName> <EID>T353</EID> <Title>University Lecturer</Title> <School>SCI</School> <Department>Phys</Department> <Office>A333</Office> <Started> </Started> <Address> <Street>Servinkuja 2 A 3</Street> <City>02150 Espoo</City> </Address> <Mail>anna.t.korhonen@aalto.fi</Mail> </Teacher> </Teachers> </University> 5. (4 p.) Consider the following DTD. <!DOCTYPE A [ <!ELEMENT A (B*)> <!ELEMENT B (C, D*, E?)> <!ELEMENT C (#PCDATA)> <!ELEMENT D EMPTY> <!ELEMENT E (#PCDATA)> <!ATTLIST A att1 CDATA #IMPLIED att2 CDATA #REQUIRED > <!ATTLIST D att3 CDATA #REQUIRED > ]> Do the XML documents given below follow the DTD above? If they do not, what are the violations (list them all)? a) <?xml version = "1.0" encoding = "utf-8" standalone = "no"?> <!DOCTYPE A SYSTEM "A.dtd"> <A att2 = "value1">

5 <D att3 = "value2"/> <E>some text 2</E> <E>some text 3</E> <D att3 = "value3">some text 4</D> <E>some text 5</E> This document is not valid, because of the following violations: The first B element contains two E elements, although it should contain at most one. The second B element does not contain a C element, although it should contain exactly one. The second D element contains text, although it should be empty. b) <?xml version = "1.0" encoding = "utf-8" standalone = "no"?> <!DOCTYPE A SYSTEM "A.dtd"> <A att1 = "value1"> <D att3 = "value2"/> <D att3 = "value3"/> <C>some text 2</C> <E>some text 3</E> <C>some text 4</C> This document is not valid, because of the following violation: The first A element does not value for attribute att2, although it is required. There are no other violations. 6. (4 p.) Consider the following XML Schema. <?xml version = "1.0" encoding = "utf-8"?> <xs:schema xmlns:xs=" <xs:complextype name = "BType"> <xs:sequence> <xs:element name = "C" type = "xs:string" /> <xs:element name = "D" type = "xs:string" /> </xs:sequence> <xs:attribute name = "att1" type = "xs:integer" use = "required" /> </xs:complextype> <xs:element name = "A"> <xs:complextype> <xs:sequence> <xs:element name = "B" type = "BType" minoccurs = "0" maxoccurs = "unbounded" /> <xs:element name = "E" type = "xs:integer" minoccurs = "1" maxoccurs = "2" /> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>

6 Do the XML documents given below follow the XML Schema above? If they do not, what are the violations? a) <?xml version = "1.0"?> <A> <B att1 = "74"> <C>some text 2</C> <D>some text 3</D> <E>222</E> <E>91</E> <B att1 = "79"> <C>some text 4</C> <E>57</E> <B att1 = "81"> <C>some text 5/C> <D>some text 6</D> This document is not valid because of the following violations: All E elements are subelements of B elements, although they should be subelements of A. The first B element contains two C elements, although it should contain excatly one. The second B element does not contains a D elements, although it should contain excatly one. b) <?xml version = "1.0"?> <A> <D att1 = "77">some text 2</D> <E>12</E> <C>some text 3</C> <D att1 = "36">some text 4</D> <E>44</E> This document is not valid because of the following violations: The first E element should be after all B elements, not between them. B elements do not have values for attribute att1, although they should have. Instead, D elements have value for attribute att1, although they should not. 7. (4 p.) Consider the following XML-document <?xml version = "1.0" encoding = "utf-8" standalone = "yes"?> <Webstore> <Order status = "in post"> <Customernro>556689</Customernro> <Product group = "photography"> <Productnro>T </Productnro> <Name>Canon Ixus 145 </Name> <Price>75.00</Price> <Payment>Invoice</Payment> <Delivery>Post</Delivery> </Order>

7 <Order status = "delivered"> <Customernro>599689</Customernro> <Products> <Product group = "tableware"> <Productnro>T </Productnro> <Name>Arabia Teema plate 15</Name> <Price>12.95</Price> <Amount>6</Amount> <Product group = "photography"> <Productnro>T </Productnro> <Name>Nikon D3200</Name> <Price>359.00</Price> </Products> <Payment>Credit card</payment> <Delivery>Matkahuolto</Delivery> </Order> <Campaign> <Campaignname>Winterbang</Campaignname> <Product group = "photography"> <Productnro>T </Productnro> <Name>Sony Alpha 5000</Name> <Price>390.00</Price> <Leaflets>30000</Leaflets> </Campaign> </Webstore> What are the results of the following XPath queries? Give the complete results. If the result is empty, tell it clearly. a) /Webstore/Order/Product/Price (It is important to include the tags in the result.) <Price>75.00</Price> b) /Webstore/Order//Product/Price (It is important to include the tags in the result.) <Price>75.00</Price> <Price>12.95</Price> <Price>359.00</Price> c) /Webstore/Order/Info (It is important to include the tags in the result.) <Payment>Invoice</Payment> <Delivery>Post</Delivery> <Payment>Credit card</payment> <Delivery>Matkahuolto</Delivery> d) /Webstore//Product[@group = "photography"]/name (It is important to include the tags in the result.) <Name>Canon Ixus 145 </Name> <Name>Nikon D3200</Name> <Name>Sony Alpha 5000</Name>

Introduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML

Introduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML Introduction Syntax and Usage Databases Java Tutorial November 5, 2008 Introduction Syntax and Usage Databases Java Tutorial Outline 1 Introduction 2 Syntax and Usage Syntax Well Formed and Valid Displaying

More information

XML. Document Type Definitions XML Schema. Database Systems and Concepts, CSCI 3030U, UOIT, Course Instructor: Jarek Szlichta

XML. Document Type Definitions XML Schema. Database Systems and Concepts, CSCI 3030U, UOIT, Course Instructor: Jarek Szlichta XML Document Type Definitions XML Schema 1 XML XML stands for extensible Markup Language. XML was designed to describe data. XML has come into common use for the interchange of data over the Internet.

More information

Computer Science 425 Fall 2006 Second Take-home Exam Out: 2:50PM Wednesday Dec. 6, 2006 Due: 5:00PM SHARP Friday Dec. 8, 2006

Computer Science 425 Fall 2006 Second Take-home Exam Out: 2:50PM Wednesday Dec. 6, 2006 Due: 5:00PM SHARP Friday Dec. 8, 2006 Computer Science 425 Fall 2006 Second Take-home Exam Out: 2:50PM Wednesday Dec. 6, 2006 Due: 5:00PM SHARP Friday Dec. 8, 2006 Instructions: This exam must be entirely your own work. Do not consult with

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

2006 Martin v. Löwis. Data-centric XML. XML Schema (Part 1)

2006 Martin v. Löwis. Data-centric XML. XML Schema (Part 1) Data-centric XML XML Schema (Part 1) Schema and DTD Disadvantages of DTD: separate, non-xml syntax very limited constraints on data types (just ID, IDREF, ) no support for sets (i.e. each element type

More information

Marker s feedback version

Marker s feedback version Two hours Special instructions: This paper will be taken on-line and this is the paper format which will be available as a back-up UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Semi-structured Data

More information

MCS-274 Final Exam Serial #:

MCS-274 Final Exam Serial #: MCS-274 Final Exam Serial #: This exam is closed-book and mostly closed-notes. You may, however, use a single 8 1/2 by 11 sheet of paper with hand-written notes for reference. (Both sides of the sheet

More information

XML and Web Services

XML and Web Services XML and Web Services Lecture 8 1 XML (Section 17) Outline XML syntax, semistructured data Document Type Definitions (DTDs) XML Schema Introduction to XML based Web Services 2 Additional Readings on XML

More information

Big Data 9. Data Models

Big Data 9. Data Models Ghislain Fourny Big Data 9. Data Models pinkyone / 123RF Stock Photo 1 Syntax vs. Data Models Physical view Syntax this is text. 2 Syntax vs. Data Models a Logical view

More information

MANAGING INFORMATION (CSCU9T4) LECTURE 2: XML STRUCTURE

MANAGING INFORMATION (CSCU9T4) LECTURE 2: XML STRUCTURE MANAGING INFORMATION (CSCU9T4) LECTURE 2: XML STRUCTURE Gabriela Ochoa http://www.cs.stir.ac.uk/~goc/ OUTLINE XML Elements vs. Attributes Well-formed vs. Valid XML documents Document Type Definitions (DTDs)

More information

ADT 2005 Lecture 7 Chapter 10: XML

ADT 2005 Lecture 7 Chapter 10: XML ADT 2005 Lecture 7 Chapter 10: XML Stefan Manegold Stefan.Manegold@cwi.nl http://www.cwi.nl/~manegold/ Database System Concepts Silberschatz, Korth and Sudarshan The Challenge: Comic Strip Finder The Challenge:

More information

Solution Sheet 5 XML Data Models and XQuery

Solution Sheet 5 XML Data Models and XQuery The Systems Group at ETH Zurich Big Data Fall Semester 2012 Prof. Dr. Donald Kossmann Prof. Dr. Nesime Tatbul Assistants: Martin Kaufmann Besmira Nushi 07.12.2012 Solution Sheet 5 XML Data Models and XQuery

More information

Introduction to XML Zdeněk Žabokrtský, Rudolf Rosa

Introduction to XML Zdeněk Žabokrtský, Rudolf Rosa NPFL092 Technology for Natural Language Processing Introduction to XML Zdeněk Žabokrtský, Rudolf Rosa November 28, 2018 Charles Univeristy in Prague Faculty of Mathematics and Physics Institute of Formal

More information

CS145 Midterm Examination

CS145 Midterm Examination CS145 Midterm Examination Spring 2004, Prof. Widom Please read all instructions (including these) carefully. There are 9 problems on the exam, with a varying number of points for each problem and subproblem

More information

EMERGING TECHNOLOGIES. XML Documents and Schemas for XML documents

EMERGING TECHNOLOGIES. XML Documents and Schemas for XML documents EMERGING TECHNOLOGIES XML Documents and Schemas for XML documents Outline 1. Introduction 2. Structure of XML data 3. XML Document Schema 3.1. Document Type Definition (DTD) 3.2. XMLSchema 4. Data Model

More information

Tutorial 2: Validating Documents with DTDs

Tutorial 2: Validating Documents with DTDs 1. One way to create a valid document is to design a document type definition, or DTD, for the document. 2. As shown in the accompanying figure, the external subset would define some basic rules for all

More information

CS145 Midterm Examination

CS145 Midterm Examination CS145 Midterm Examination Spring 2002, Prof. Widom Please read all instructions (including these) carefully. There are 9 problems on the exam, with a varying number of points for each problem and subproblem

More information

Semistructured Content

Semistructured Content On our first day Semistructured Content 1 Structured data : database system tagged, typed well-defined semantic interpretation Semi-structured data: tagged - XML (HTML?) some help with semantic interpretation

More information

CS145 Midterm Examination

CS145 Midterm Examination CS145 Midterm Examination Autumn 2005, Prof. Widom Please read all instructions (including these) carefully. There are 8 problems on the exam, with a varying number of points for each problem and subproblem

More information

Answer Key for Exam II Computer Science 420 Dr. St. John Lehman College City University of New York 18 April 2002

Answer Key for Exam II Computer Science 420 Dr. St. John Lehman College City University of New York 18 April 2002 Answer Key for Exam II Computer Science 420 Dr. St. John Lehman College City University of New York 18 April 2002 1. True or False: (a) T Every set is a bag. (b) T SQL regards relations as bags of tuples,

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

Big Data for Engineers Spring Data Models

Big Data for Engineers Spring Data Models Ghislain Fourny Big Data for Engineers Spring 2018 11. Data Models pinkyone / 123RF Stock Photo CSV (Comma separated values) This is syntax ID,Last name,first name,theory, 1,Einstein,Albert,"General, Special

More information

Ryan Marcotte CS 475 (Advanced Topics in Databases) March 14, 2011

Ryan Marcotte  CS 475 (Advanced Topics in Databases) March 14, 2011 Ryan Marcotte www.cs.uregina.ca/~marcottr CS 475 (Advanced Topics in Databases) March 14, 2011 Outline Introduction to XNF and motivation for its creation Analysis of XNF s link to BCNF Algorithm for converting

More information

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

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

Big Data Fall Data Models

Big Data Fall Data Models Ghislain Fourny Big Data Fall 2018 11. Data Models pinkyone / 123RF Stock Photo CSV (Comma separated values) This is syntax ID,Last name,first name,theory, 1,Einstein,Albert,"General, Special Relativity"

More information

Week 5 Aim: Description. Source Code

Week 5 Aim: Description. Source Code Week 5 Aim: Write an XML file which will display the Book information which includes the following: 1) Title of the book 2) Author Name 3) ISBN number 4) Publisher name 5) Edition 6) Price Write a Document

More information

Semistructured Content

Semistructured Content On our first day Semistructured Content 1 Structured data : database system tagged, typed well-defined semantic interpretation Semi-structured data: tagged - (HTML?) some help with semantic interpretation

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

XML. Part II DTD (cont.) and XML Schema

XML. Part II DTD (cont.) and XML Schema XML Part II DTD (cont.) and XML Schema Attribute Declarations Declare a list of allowable attributes for each element These lists are called ATTLIST declarations Consists of 3 basic parts The ATTLIST keyword

More information

CSCI3030U Database Models

CSCI3030U Database Models CSCI3030U Database Models CSCI3030U RELATIONAL MODEL SEMISTRUCTURED MODEL 1 Content Design of databases. relational model, semistructured model. Database programming. SQL, XPath, XQuery. Not DBMS implementation.

More information

The concept of DTD. DTD(Document Type Definition) Why we need DTD

The concept of DTD. DTD(Document Type Definition) Why we need DTD Contents Topics The concept of DTD Why we need DTD The basic grammar of DTD The practice which apply DTD in XML document How to write DTD for valid XML document The concept of DTD DTD(Document Type Definition)

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

XML Schema. Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 28

XML Schema. Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 28 1 / 28 XML Schema Mario Alviano University of Calabria, Italy A.Y. 2017/2018 Outline 2 / 28 1 Introduction 2 Elements 3 Simple and complex types 4 Attributes 5 Groups and built-in 6 Import of other schemes

More information

Database Languages. A DBMS provides two types of languages: Language for accessing & manipulating the data. Language for defining a database schema

Database Languages. A DBMS provides two types of languages: Language for accessing & manipulating the data. Language for defining a database schema SQL 1 Database Languages A DBMS provides two types of languages: DDL Data Definition Language Language for defining a database schema DML Data Manipulation Language Language for accessing & manipulating

More information

Homework 1: RA, SQL and B+-Trees (due Feb 7, 2017, 9:30am, in class hard-copy please)

Homework 1: RA, SQL and B+-Trees (due Feb 7, 2017, 9:30am, in class hard-copy please) Virginia Tech. Computer Science CS 5614 (Big) Data Management Systems Spring 2017, Prakash Homework 1: RA, SQL and B+-Trees (due Feb 7, 2017, 9:30am, in class hard-copy please) Reminders: a. Out of 100

More information

Big Data 11. Data Models

Big Data 11. Data Models Ghislain Fourny Big Data 11. Data Models pinkyone / 123RF Stock Photo CSV (Comma separated values) This is syntax ID,Last name,first name,theory, 1,Einstein,Albert,"General, Special Relativity" 2,Gödel,Kurt,"""Incompleteness""

More information

Java EE 7: Back-end Server Application Development 4-2

Java EE 7: Back-end Server Application Development 4-2 Java EE 7: Back-end Server Application Development 4-2 XML describes data objects called XML documents that: Are composed of markup language for structuring the document data Support custom tags for data

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

Introduction to XML. National University of Computer and Emerging Sciences, Lahore. Shafiq Ur Rahman. Center for Research in Urdu Language Processing

Introduction to XML. National University of Computer and Emerging Sciences, Lahore. Shafiq Ur Rahman. Center for Research in Urdu Language Processing Introduction to XML Shafiq Ur Rahman Center for Research in Urdu Language Processing National University of Computer and Emerging Sciences, Lahore XMLXML DTDDTD Related Related Standards Overview What

More information

Big Data Exercises. Fall 2018 Week 8 ETH Zurich. XML validation

Big Data Exercises. Fall 2018 Week 8 ETH Zurich. XML validation Big Data Exercises Fall 2018 Week 8 ETH Zurich XML validation Reading: (optional, but useful) XML in a Nutshell, Elliotte Rusty Harold, W. Scott Means, 3rd edition, 2005: Online via ETH Library 1. XML

More information

CS425 Midterm Exam Summer C 2012

CS425 Midterm Exam Summer C 2012 Q1) List five responsibilities of a database-management system. Q2) Fill in the terms in the right hand side of the table that match the description from the list below: Instance SQL Integrity constraints

More information

XML. Structure of XML Data XML Document Schema Querying and Transformation Application Program Interfaces to XML Storage of XML Data XML Applications

XML. Structure of XML Data XML Document Schema Querying and Transformation Application Program Interfaces to XML Storage of XML Data XML Applications Chapter 10: XML XML Structure of XML Data XML Document Schema Querying and Transformation Application Program Interfaces to XML Storage of XML Data XML Applications Introduction XML: Extensible Markup

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

Lecture 7 Introduction to XML Data Management

Lecture 7 Introduction to XML Data Management Lecture 7 Introduction to XML Data Management Shuigeng Zhou April 16, 2014 School of Computer Science Fudan University Outline Structure of XML Data XML Document Schema Querying and Transformation Application

More information

extensible Markup Language

extensible Markup Language What is XML? The acronym means extensible Markup Language It is used to describe data in a way which is simple, structured and (usually) readable also by humans Developed at the end of the ninenties by

More information

CS425 Fall 2016 Boris Glavic Chapter 2: Intro to Relational Model

CS425 Fall 2016 Boris Glavic Chapter 2: Intro to Relational Model CS425 Fall 2016 Boris Glavic Chapter 2: Intro to Relational Model Modifies from: Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Textbook: Chapter 2 2.2 Example of a Relation

More information

The Semi-Structured Data Model. csc343, Introduction to Databases Diane Horton originally based on slides by Jeff Ullman Fall 2017

The Semi-Structured Data Model. csc343, Introduction to Databases Diane Horton originally based on slides by Jeff Ullman Fall 2017 The Semi-Structured Data Model csc343, Introduction to Databases Diane Horton originally based on slides by Jeff Ullman Fall 2017 Recap: Data models A data model is a notation for describing data, including:

More information

In mathematical terms, the relation itself can be expressed simply in terms of the attributes it contains:

In mathematical terms, the relation itself can be expressed simply in terms of the attributes it contains: The Relational Model The relational data model organises data as 2-dimensional tables or relations. An example of one such relation would be STUDENT shown below. As we have seen in the wine list example,

More information

CSE 344 Midterm. Wednesday, February 19, 2014, 14:30-15:20. Question Points Score Total: 100

CSE 344 Midterm. Wednesday, February 19, 2014, 14:30-15:20. Question Points Score Total: 100 CSE 344 Midterm Wednesday, February 19, 2014, 14:30-15:20 Name: Question Points Score 1 30 2 50 3 12 4 8 Total: 100 This exam is open book and open notes but NO laptops or other portable devices. You have

More information

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science DECEMBER 2011 EXAMINATIONS CSC 343 H1F Instructors: Horton and Papangelis Duration 3 hours PLEASE HAND IN Examination Aids: None Student

More information

ADT XML, XPath & XQuery

ADT XML, XPath & XQuery Introduction to XML, XPath & XQuery Chapter 10 in Silberschatz, Korth, Sudarshan Database System Concepts Stefan Manegold Stefan.Manegold@cwi.nl http://www.cwi.nl/~manegold/ 2 Google Hits of 3-letter combinations

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

Homework 1: RA, SQL and B+-Trees (due September 24 th, 2014, 2:30pm, in class hard-copy please)

Homework 1: RA, SQL and B+-Trees (due September 24 th, 2014, 2:30pm, in class hard-copy please) Virginia Tech. Computer Science CS 5614 (Big) Data Management Systems Fall 2014, Prakash Homework 1: RA, SQL and B+-Trees (due September 24 th, 2014, 2:30pm, in class hard-copy please) Reminders: a. Out

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

XML (Extensible Markup Language)

XML (Extensible Markup Language) Basics of XML: What is XML? XML (Extensible Markup Language) XML stands for Extensible Markup Language XML was designed to carry data, not to display data XML tags are not predefined. You must define your

More information

Web Computing. Revision Notes

Web Computing. Revision Notes Web Computing Revision Notes Exam Format The format of the exam is standard: Answer TWO OUT OF THREE questions Candidates should answer ONLY TWO questions The time allowed is TWO hours Notes: You will

More information

CS145 Introduction. About CS145 Relational Model, Schemas, SQL Semistructured Model, XML

CS145 Introduction. About CS145 Relational Model, Schemas, SQL Semistructured Model, XML CS145 Introduction About CS145 Relational Model, Schemas, SQL Semistructured Model, XML 1 Content of CS145 Design of databases. E/R model, relational model, semistructured model, XML, UML, ODL. Database

More information

Intermediate SQL ( )

Intermediate SQL ( ) CSL 451 Introduction to Database Systems Intermediate SQL (4.1-4.4) Department of Computer Science and Engineering Indian Institute of Technology Ropar Narayanan (CK) Chatapuram Krishnan! Summary Join

More information

EXAMINATIONS 2013 MID-YEAR SWEN 432 ADVANCED DATABASE DESIGN AND IMPLEMENTATION

EXAMINATIONS 2013 MID-YEAR SWEN 432 ADVANCED DATABASE DESIGN AND IMPLEMENTATION EXAMINATIONS 2013 MID-YEAR ADVANCED DATABASE DESIGN AND IMPLEMENTATION Time Allowed: 3 Hours (180 minutes) Instructions: Attempt all questions. There are 180 possible marks on the exam. Make sure your

More information

Semistructured Data and XML

Semistructured Data and XML Semistructured Data and XML Computer Science E-66 Harvard University David G. Sullivan, Ph.D. Structured Data The logical models we've covered thus far all use some type of schema to define the structure

More information

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science APRIL 2015 EXAMINATIONS CSC 343 H1S Instructor: Horton and Liu Duration 3 hours PLEASE HAND IN Examination Aids: None Student Number: Family

More information

Semistructured Content

Semistructured Content On our first day Semistructured Content 1 Structured data : database system tagged, typed well-defined semantic interpretation Semi-structured data: tagged - XML (HTML?) some help with semantic interpretation

More information

XML. COSC Dr. Ramon Lawrence. An attribute is a name-value pair declared inside an element. Comments. Page 3. COSC Dr.

XML. COSC Dr. Ramon Lawrence. An attribute is a name-value pair declared inside an element. Comments. Page 3. COSC Dr. COSC 304 Introduction to Database Systems XML Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca XML Extensible Markup Language (XML) is a markup language that allows for

More information

Semantic Web. XML and XML Schema. Morteza Amini. Sharif University of Technology Fall 94-95

Semantic Web. XML and XML Schema. Morteza Amini. Sharif University of Technology Fall 94-95 ه عا ی Semantic Web XML and XML Schema Morteza Amini Sharif University of Technology Fall 94-95 Outline Markup Languages XML Building Blocks XML Applications Namespaces XML Schema 2 Outline Markup Languages

More information

extensible Markup Language

extensible Markup Language What is XML? The acronym means extensible Markup Language It is used to describe data in a way which is simple, structured and (usually) readable also by humans Developed at the end of the ninenties by

More information

XML, DTD: Exercises. A7B36XML, AD7B36XML: XML Technologies. Practical Classes 1 and 2: 3. and

XML, DTD: Exercises. A7B36XML, AD7B36XML: XML Technologies. Practical Classes 1 and 2: 3. and A7B36XML, AD7B36XML: XML Technologies Practical Classes 1 and 2: XML, DTD: Exercises 3. and 10. 3. 2017 Jiří Helmich helmich@ksi.mff.cuni.cz Martin Svoboda svoboda@ksi.mff.cuni.cz http://www.ksi.mff.cuni.cz/~svoboda/courses/2016-2-a7b36xml/

More information

Discover Semantics from XML

Discover Semantics from XML Discover Semantics from XML Li Luochen (HT090442R) Supervised by Professor Ling Tok Wang A THESIS SUBMITTED FOR THE DEGREE OF MASTER OF SCIENCE SCHOOL OF COMPUTING NATIONAL UNIVERSITY OF SINGAPORE 2012

More information

Extensible Markup Language (XML) Hamid Zarrabi-Zadeh Web Programming Fall 2013

Extensible Markup Language (XML) Hamid Zarrabi-Zadeh Web Programming Fall 2013 Extensible Markup Language (XML) Hamid Zarrabi-Zadeh Web Programming Fall 2013 2 Outline Introduction XML Structure Document Type Definition (DTD) XHMTL Formatting XML CSS Formatting XSLT Transformations

More information

EXAM IN SEMI-STRUCTURED DATA Study Code Student Id Family Name First Name

EXAM IN SEMI-STRUCTURED DATA Study Code Student Id Family Name First Name EXAM IN SEMI-STRUCTURED DATA 184.705 28. 10. 2016 Study Code Student Id Family Name First Name Working time: 100 minutes. Exercises have to be solved on this exam sheet; Additional slips of paper will

More information

XML stands for Extensible Markup Language and is a text-based markup language derived from Standard Generalized Markup Language (SGML).

XML stands for Extensible Markup Language and is a text-based markup language derived from Standard Generalized Markup Language (SGML). About the Tutorial XML stands for Extensible Markup Language and is a text-based markup language derived from Standard Generalized Markup Language (SGML). This tutorial will teach you the basics of XML.

More information

Conceptual Modeling in ER and UML

Conceptual Modeling in ER and UML Courses B0B36DBS, A7B36DBS: Database Systems Practical Classes 01 and 02: Conceptual Modeling in ER and UML Martin Svoboda 21. and 28. 2. 2017 Faculty of Electrical Engineering, Czech Technical University

More information

Computer Science 304

Computer Science 304 The University of British Columbia Computer Science 304 Final Examination Instructor: Rachel Pottinger Time: 2.5 hours Total marks: 48 Name ANSWER KEY (PRINT) (Last) (First) Signature This examination

More information

Java and XML. XML documents consist of Elements. Each element will contains other elements and will have Attributes. For example:

Java and XML. XML documents consist of Elements. Each element will contains other elements and will have Attributes. For example: Java and XML XML Documents An XML document is a way to represent structured information in a neutral format. The purpose of XML documents is to provide a way to represent data in a vendor and software

More information

Part II: Semistructured Data

Part II: Semistructured Data Inf1-DA 2011 2012 II: 22 / 119 Part II Semistructured Data XML: II.1 Semistructured data, XPath and XML II.2 Structuring XML II.3 Navigating XML using XPath Corpora: II.4 Introduction to corpora II.5 Querying

More information

XML extensible Markup Language

XML extensible Markup Language extensible Markup Language Eshcar Hillel Sources: http://www.w3schools.com http://java.sun.com/webservices/jaxp/ learning/tutorial/index.html Tutorial Outline What is? syntax rules Schema Document Object

More information

Software Engineering Methods, XML extensible Markup Language. Tutorial Outline. An Example File: Note.xml XML 1

Software Engineering Methods, XML extensible Markup Language. Tutorial Outline. An Example File: Note.xml XML 1 extensible Markup Language Eshcar Hillel Sources: http://www.w3schools.com http://java.sun.com/webservices/jaxp/ learning/tutorial/index.html Tutorial Outline What is? syntax rules Schema Document Object

More information

CSE 344 Midterm. Wednesday, February 19, 2014, 14:30-15:20. Question Points Score Total: 100

CSE 344 Midterm. Wednesday, February 19, 2014, 14:30-15:20. Question Points Score Total: 100 CSE 344 Midterm Wednesday, February 19, 2014, 14:30-15:20 Name: Question Points Score 1 30 2 50 3 12 4 8 Total: 100 This exam is open book and open notes but NO laptops or other portable devices. You have

More information

HTML vs. XML In the case of HTML, browsers have been taught how to ignore invalid HTML such as the <mymadeuptag> element and generally do their best

HTML vs. XML In the case of HTML, browsers have been taught how to ignore invalid HTML such as the <mymadeuptag> element and generally do their best 1 2 HTML vs. XML In the case of HTML, browsers have been taught how to ignore invalid HTML such as the element and generally do their best when dealing with badly placed HTML elements. The

More information

CS561 Spring Mixed Content

CS561 Spring Mixed Content Mixed Content DTDs define mixed content by mixing #PCDATA into the content model DTDs always require mixed content to use the form (#PCDATA a b )* the occurrence of elements in mixed content cannot be

More information

Markup Languages. Lecture 4. XML Schema

Markup Languages. Lecture 4. XML Schema Markup Languages Lecture 4. XML Schema Introduction to XML Schema XML Schema is an XML-based alternative to DTD. An XML schema describes the structure of an XML document. The XML Schema language is also

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

Querying XML Data. Querying XML has two components. Selecting data. Construct output, or transform data

Querying XML Data. Querying XML has two components. Selecting data. Construct output, or transform data Querying XML Data Querying XML has two components Selecting data pattern matching on structural & path properties typical selection conditions Construct output, or transform data construct new elements

More information

Tutorial 5: XML. Informatics 1 Data & Analysis. Week 7, Semester 2,

Tutorial 5: XML. Informatics 1 Data & Analysis. Week 7, Semester 2, Tutorial 5: XML Informatics 1 Data & Analysis Week 7, Semester 2, 2013 2014 This orksheet has three parts: tutorial Questions, folloed by some Examples and their Solutions. Before your tutorial, ork through

More information

Part 2: XML and Data Management Chapter 6: Overview of XML

Part 2: XML and Data Management Chapter 6: Overview of XML Part 2: XML and Data Management Chapter 6: Overview of XML Prof. Dr. Stefan Böttcher 6. Overview of the XML standards: XML, DTD, XML Schema 7. Navigation in XML documents: XML axes, DOM, SAX, XPath, Tree

More information

PLEASE HAND IN. Good Luck! UNIVERSITY OF TORONTO Faculty of Arts and Science. December 2009 Examinations. CSC 343H1F Duration 3 hours.

PLEASE HAND IN. Good Luck! UNIVERSITY OF TORONTO Faculty of Arts and Science. December 2009 Examinations. CSC 343H1F Duration 3 hours. PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science December 2009 Examinations CSC 343H1F Duration 3 hours PLEASE HAND IN No aids allowed Student Number: Last Name: First Name: Do not turn

More information

11. Documents and Document Models

11. Documents and Document Models 1 of 14 10/3/2005 2:47 PM 11. Documents and Document Models IS 202-4 October 2005 Copyright  2005 Robert J. Glushko Plan for IO & IR Lecture #11 What is a document? Document types The Document Type Spectrum

More information

Michael Kifer, Arthur Bernstein, Philip M. Lewis. Solutions Manual

Michael Kifer, Arthur Bernstein, Philip M. Lewis. Solutions Manual Michael Kifer, Arthur Bernstein, Philip M. Lewis Solutions Manual Copyright (C) 2006 by Pearson Education, Inc. For information on obtaining permission for use of material in this work, please submit a

More information

RepCom: A Customisable Report Generator Component System using XML-driven, Component-based Development Approach

RepCom: A Customisable Report Generator Component System using XML-driven, Component-based Development Approach RepCom: A Customisable Generator Component System using XML-driven, Component-based Development Approach LEONG CHEE HOONG, DR LEE SAI PECK Faculty of Computer Science & Information Technology University

More information

Introduction. Who wants to study databases?

Introduction. Who wants to study databases? Introduction Example databases Overview of concepts Why use database systems Who wants to study databases? What is the use of all the courses I have taken so far? This course shows very concrete how CS

More information

Genesis Report Writer

Genesis Report Writer Genesis Educational Software, Inc. Genesis Report Writer User Guide Genesis Educational Services, Inc Spring 2008 July 8, 2008 DRAFT Page 1 of 58 REPORT WRITER GUIDE Report Writer Your reports Create a

More information

Session 23 XML. XML Reading and Reference. Reading. Reference: Session 23 XML. Robert Kelly, 2018

Session 23 XML. XML Reading and Reference. Reading. Reference: Session 23 XML. Robert Kelly, 2018 Session 23 XML Reading XML Reading and Reference https://en.wikipedia.org/wiki/xml Reference: XML in a Nutshell (Ch. 1-3), available in Safari On-line 2 1 Lecture Objectives Understand the goal of application

More information

Chapter 11 XML Data Modeling. Recent Development for Data Models 2016 Stefan Deßloch

Chapter 11 XML Data Modeling. Recent Development for Data Models 2016 Stefan Deßloch Chapter 11 XML Data Modeling Recent Development for Data Models 2016 Stefan Deßloch Motivation Traditional data models (e.g., relational data model) primarily support structure data separate DB schema

More information

CS145 Final Examination

CS145 Final Examination CS145 Final Examination Spring 2003, Prof. Widom ffl Please read all instructions (including these) carefully. ffl There are 11 problems on the exam, with a varying number of points for each problem and

More information

download instant at The Relational Data Model

download instant at  The Relational Data Model 3 The Relational Data Model EXERCISES 3.1 Define data atomicity as it relates to the definition of relational databases. Contrast data atomicity with transaction atomicity as used in a transaction processing

More information

(One) Layer Model of the Semantic Web. Semantic Web - XML XML. Extensible Markup Language. Prof. Dr. Steffen Staab Dipl.-Inf. Med.

(One) Layer Model of the Semantic Web. Semantic Web - XML XML. Extensible Markup Language. Prof. Dr. Steffen Staab Dipl.-Inf. Med. (One) Layer Model of the Semantic Web Semantic Web - XML Prof. Dr. Steffen Staab Dipl.-Inf. Med. Bernhard Tausch Steffen Staab - 1 Steffen Staab - 2 Slide 2 Extensible Markup Language Purpose here: storing

More information

So far, we've discussed the use of XML in creating web services. How does this work? What other things can we do with it?

So far, we've discussed the use of XML in creating web services. How does this work? What other things can we do with it? XML Page 1 XML and web services Monday, March 14, 2011 2:50 PM So far, we've discussed the use of XML in creating web services. How does this work? What other things can we do with it? XML Page 2 Where

More information

PART. Oracle and the XML Standards

PART. Oracle and the XML Standards PART I Oracle and the XML Standards CHAPTER 1 Introducing XML 4 Oracle Database 10g XML & SQL E xtensible Markup Language (XML) is a meta-markup language, meaning that the language, as specified by the

More information