XML and Web Databases
XML and Web Databases
GROUP 6 PRESENTATION
Full Name Programme Reg Number
Loveton Simanyiwa MISM R213638Z
Kudzayi Kuremba MISM R2012685V
Ngwenya Shadreck MISM R0432780
Tariro Sally Redzo MISM R215115A
Kenneth Francis Nyamuka MISM R211542N
Professor Tawandirwa MISM R159938G
CONTENT TO BE COVERED
• Overview
• Storing and Extracting XML from Databases
• XML Languages
• Extracting XML documents from relational Databases
• XML Hierarchical Tree and Data mode
Introduction to XML
XML is a software- and hardware-independent tool for storing and transporting
data.
What is XML?
XML stands for eXtensible Markup Language
XML is a markup language much like HTML
XML was designed to store and transport data
XML was designed to be self-descriptive
XML is a W3C Recommendation
XML Does Not DO Anything
This note is a note to Tove from Jani, stored as XML:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
But still, the XML above does not DO anything. XML is just information wrapped in tags.
Someone must write a piece of software to send, receive, store, or display it:
Note
To: Tove
From: Jani
Reminder
Don't forget me this weekend!
The Difference Between XML and HTML
XML and HTML were designed with different goals:
XML DATA STORED IN A COLUMN OF DATA TYPE XML CAN BE PROCESSED EITHER BY
USING XML FUNCTIONS AVAILABLE IN SQL SERVER OR BY USING
THE SP_XML_PREPAREDOCUMENT STORED PROCEDURE ALONG WITH
THE OPENXML FUNCTION.
WE WILL FIRST CALL THE SP_XML_PREPAREDOCUMENT STORED PROCEDURE BY
SPECIFYING THE XML DATA WHICH WILL THEN OUTPUT THE HANDLE OF THE XML DATA
THAT IT HAS PREPARED AND STORED IN INTERNAL CACHE.
THEN WE WILL USE THE HANDLE RETURNED BY
THE SP_XML_PREPAREDOCUMENT STORED PROCEDURE IN THE OPENXML FUNCTION TO
OPEN THE XML DATA AND READ IT.
NOTE: THE SP_XML_PREPAREDOCUMENT STORED PROCEDURE STORES THE XML DATA IN
SQL SERVER'S INTERNAL CACHE, IT IS ESSENTIAL TO RELEASE THIS STORED XML DATA
FROM INTERNAL CACHE BY CALLING THE SP_XML_REMOVEDOCUMENT STORED
PROCEDURE. WE SHOULD CALL THE SP_XML_REMOVEDOCUMENT STORED PROCEDURE AS
EARLY POSSIBLE, SO THAT INTERNAL CACHE CAN BE FREED FOR OTHER USAGE.
FROM THE ABOVE XML DATA, WE WANT TO RETRIEVE ALL THE
CUSTOMER INFORMATION ALONG WITH ORDERID AND ORDERDATE
PLACED BY EACH INDIVIDUAL CUSTOMER AND HENCE WE ARE
NAVIGATING TO THE ORDER ELEMENT AND THEN QUERYING ORDERID
AND ORDERDATE ATTRIBUTES.
IF WE WANT TO NAVIGATE BACK TO THE PARENT OR GRAND PARENT
LEVEL AND GET DATA FROM THERE, WE NEED TO USE "../" TO READ THE
PARENT'S DATA AND "../../" TO READ THE GRAND PARENT'S DATA AND
SO ON.
THE RESULT OF THE ABOVE QUERY CAN BE SEEN IN THE IMAGE
BELOW. YOU CAN SEE BELOW ALL THE CUSTOMERS AND ALL THE
ORDERS PLACED BY EACH CUSTOMER.
WE CAN EVEN DRILL DOWN AND GO ONE LEVEL DEEPER. THIS TIME
FROM THE ABOVE XML DATA, WE WANT TO RETRIEVE ALL THE
CUSTOMER INFORMATION AND THEIR ORDERS ALONG WITH PRODUCTID
AND QUANTITY FROM EACH ORDER PLACED.
AND HENCE, AS YOU CAN SEE BELOW WE ARE NAVIGATING TO THE
ORDERDETAIL AND RETRIEVING THE PRODUCTID AND QUANTITY
ATTRIBUTES' VALUES.
AT THE SAME TIME WE ARE USING "../" TO REACH THE PARENT LEVEL TO
GET ORDER INFORMATION AVAILABLE AT THE PARENT LEVEL WHEREAS
WE ARE USING "../../../" TO REACH TO THE GREAT GRAND PARENT LEVEL
TO GRAB CUSTOMER INFORMATION AS SHOWN BELOW:
THE RESULT OF THE ABOVE QUERY CAN BE SEEN IN THE IMAGE
BELOW. YOU CAN SEE ALL THE CUSTOMER INFORMATION AND THEIR
ORDERS ALONG WITH PRODUCTID AND QUANTITY FROM EACH ORDER
PLACED.
7.3 XML LANGUAGES
MUSICXML
AN XML-BASED MUSIC NOTATION FILE FORMAT.
XML SIGNATURE
AN XML SYNTAX FOR DIGITAL SIGNATURES
XML FOR ANALYSIS
DATA ACCESS IN ANALYTICAL SYSTEMS, SUCH AS OLAP AND DATA MINING
XOXO
AN XML MICROFORMAT FOR PUBLISHING OUTLINES, LISTS, AND BLOGROLLS ON
THE WEB
7.4 EXTRACTING XML DOCUMENTS FROM
RELATIONAL DATABASES
CREATING HIERARCHICAL XML VIEWS OVER FLAT OR GRAPH-BASED DATA
REPRESENTATIONAL ISSUES ARISE WHEN CONVERTING DATA FROM A
DATABASE SYSTEM INTO XML DOCUMENTS
UNIVERSITY DATABASE
EXAMPLE
BREAKING CYCLES TO CONVERT GRAPHS
INTO TREES
COMPLEX SUBSET WITH ONE OR MORE CYCLES
INDICATE MULTIPLE RELATIONSHIPS AMONG THE ENTITIES
DIFFICULT TO DECIDE HOW TO CREATE THE DOCUMENT HIERARCHIES
An XML tree starts at a root element and branches from the root to child elements.
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
The terms parent, child, and sibling are used to describe the relationships between elements.
Parents have children. Children have parents. Siblings are children on the same level (brothers
and sisters).
All elements can have text content (Harry Potter) and attributes (category="cooking").
Self-Describing Syntax
XML uses a much self-describing syntax.
<?xml version="1.0" encoding="UTF-8"?>
<book category="cooking">
The <book> elements have 4 child elements: <title>, <author>, <year>,
<price>.
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
You can assume, from this example, that the XML document contains
information about books in a bookstore.
The XML Prolog
For a person's gender, the <person> element can be written like this:
<person gender="female">
or like this:
<person gender='female'>
THE END
THANK YOU