Академический Документы
Профессиональный Документы
Культура Документы
Outline
What is XML?
Syntax of XML Document
DTD (Document Type Definition)
XML Schema
XML Query Language
XML Databases
Oracle JDBC
Introduction to XML
XML stands for EXtensible Markup Language
XML was designed to describe data.
XML tags are not predefined unlike HTML
XML DTD and XML Schema define rules to describe data
documents.
<AUTHOR id = 123>
<FNAME> JAMES</FNAME>
<LNAME> RUSSEL</LNAME>
Element
</AUTHOR>
Author with
Attr id
XML DTD
A DTD is a set of rules that allow us to specify
DTD Example
<BOOKLIST>
<BOOK GENRE = Science
FORMAT = Hardcover>
<AUTHOR>
<FIRSTNAME>
RICHRD
</FIRSTNAME>
<LASTNAME> KARTER
</LASTNAME>
</AUTHOR>
</BOOK>
</BOOKS>
Xml Document And
Corresponding DTD
<!DOCTYPE BOOKLIST[
<!ELEMENT BOOKLIST(BOOK)*> <!
ELEMENT BOOK(AUTHOR)>
<!ELEMENT
AUTHOR(FIRSTNAME,LASTNAME)>
<!ELEMENT FIRSTNAME(#PCDATA)>
<!ELEMENT>LASTNAME(#PCDATA)>
<!ATTLIST BOOK GENRE (Science|
Fiction)#REQUIRED>
<!ATTLIST BOOK FORMAT
(Paperback|Hardcover)
PaperBack>]>
XML Schema
Serves same purpose as database schema
Schemas are written in XML
Set of pre-defined simple types (such as string, integer)
types
XML Schema
RDBMS Schema (s_id integer, s_name string, s_status string)
XMLSchema
<Students>
<Student id=p1>
<Name>Allan</Name>
<Age>62</Age>
<Email>allan@abc.com
</Email>
</Student>
</Students>
XML Document and Schema
<xs:schema>
<xs:complexType name = StudnetType>
<xs:attribute name=id type=xs:string />
<xs:element name=Name type=xs:string />
<xs:element name=Age type=xs:integer />
<xs:element name=Email type=xs:string />
</xs:complexType>
<xs:element name=Student type=StudentType />
</xs:schema>
XQuery
XQuery to XML is same as SQL to
RDBMS
Most databases supports XQuery
XQuery is built on XPath operators
(XPath is a language that defines path
expressions to locate document data)
XPath Example
<Student id=s1>
<Name>John</Name>
<Age>22</Age>
<Email>jhn@xyz.com</Email>
</Student>
XPath: /Student[Name=John]/Email
Extracts: <Email> element with value
jhn@xyz.com
XMLType column
Each row will contain one of XML records from XML
document
Database Table:
Database Row :
XML Document
XML Record
Examples
<Patients>
<Patient id=p1>
<Name>John</Name>
<Address>
<Street>120 Northwestern Ave</Street>
</Address>
</Patient>
<Patient id=p2>
<Name>Paul</Name>
<Address>
<Street>120 N. Salisbury</Street>
</Address>
</Patient>
</Patients>
Example
Create table prTable(patientRecord XMLType);
DECLARE
prXML CLOB;
BEGIN
-- Store Patient Record XML in the CLOB variable
prXML := '<Patient id=p1">
<Name>John</Name>
<Address>
<Street>120 Northwestern Ave</Street>
</Address>
</Patient> ;
-- Now Insert this Patient Record XML into an XMLType column
INSERT INTO prTable (patientRecord) VALUES
(XMLTYPE(prXML));
END;
Example
TO PRINT PATIENT ID of ALL PATIENTS
SELECT
EXTRACT(p.patientRecord,
'/Patient/@id').getStringVal()
FROM prTable p;
USE XPATH
Oracle JDBC
JDBC an API used for database connectivity
Creates Portable Applications
Basic Steps to develop JDBC Application
Oracle JDBC
DriverManager provides basic services to
Oracle JDBC
SQL query can be executed using any of the
objects.
(Statement,PreparedStatement,CallableStatement)
Syntax (Statement Object )
Public abstract ResultSet executeQuery(String sql) throws
SQLException
References
Thank You