Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
COS 346 Day 24 DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-1 Agenda • Questions? • Quiz 3 Corrected – 1 A, 2 B’s and 4 C’s • Quiz 4 is on May 4 – DP Chap 12 13 & 15 – Skipping chapter 14 • • • • • Capstone Progress reports Due Assignment 9 is Due Assignment 10 is posted due May 1 Assignment 11 is posted due May 4 Capstones projects and presentations are due May 12 at 10AM • Today we will be discussing XML and ADO.NET DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-2 David M. Kroenke’s Database Processing: Fundamentals, Design, and Implementation Chapter Thirteen: XML and ADO.NET Part One DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-3 Introduction • Database processing and document processing need each other. – Database processing needs document processing for transmitting database views. – Document processing needs database processing for storing and manipulating data. • As Internet usage increases, organizations want to make their Web pages more functional by displaying and updating data from organizational databases. DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-4 XML • XML, or Extensible Markup Language, was developed in early 1990s: – XML is a subset of SGML, or Standard Generalized Markup Language. • Today XML is a hybrid of document processing and database processing. – It provides a standardized yet customizable way to describe the content of documents. – XML documents can automatically be generated from database data, and vice versa. • SOAP (which formerly stood for Simple Object Access Protocol but is now just a name instead of an acronym) is an XML-based standard protocol for sending messages of any type, using any protocol over the Internet. DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-5 XML (Continued) • XML is used for describing, representing, and materializing database views. • XML is better than HTML because: – It provides a clear separation between document structure, content, and materialization. – It is standardized but allows for extension by developers – XML tags accurately represent the semantics of their data. • Document Type Declarations (DTDs) and XML Schemas can be used to describe the content of XML documents. • Both Oracle and SQL Server can produce XML documents from database data. DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-6 XML DTD • An XML document consists of two sections: – Document Type Declaration (DTD). • The DTD begins with DOCTYPE <document_type_name> – Document data. • An XML document can be: – Type-valid if the document conforms to its DTD. – Well-formed and not type-valid, if • It violates the structure of its DTD, or • It has no DTD. • A DTD may be stored externally so many documents can be validated against the same DTD. DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-7 XMLSpy • The diagrams in the text and in the following slides were prepared with Altova’s XMLSpy. • There is a free Home version of XMLSpy 2006 available at: http://www.altova.com/download_compone nts.html DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-8 XML Document with Internal DTD DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-9 XML Document with External DTD DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-10 External DTD for CustomerList DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-11 DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-12 XML Document with Two Customers DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-13 XSLT • XSLT, or the Extensible Style Language may be used to materialize (transform) XML documents using XSL document. – From XML documents into HTML or into XML in another format. • XSLT is a declarative transformation language: – Declarative: create rules, not procedures, to materialize the document. – Transformational: transforms the input document into another document. • XSLT uses stylesheets to indicate how to transform the elements of the XML documents into another format. DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-14 Example XSL Stylesheet DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-15 Example HTML in Browser DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-16 David M. Kroenke’s Database Processing Fundamentals, Design, and Implementation (10th Edition) End of Presentation: Chapter Thirteen Part One DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-17 David M. Kroenke’s Database Processing: Fundamentals, Design, and Implementation Chapter Thirteen: XML and ADO.NET Part Two DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-18 XML Schema • XML Schema is a standard for describing the content of an XML document, i.e., defining custom vocabularies: – Documents that conform to an XML Schema are called schemavalid. – An XML document can be well-formed and be neither type-valid nor schema-valid. • Unlike DTDs, XML Schema documents are themselves XML documents that can be validated against the schema maintained by W3C. DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-19 XML Schema Document DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-20 Schema-Valid XML Document DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-21 Elements and Attributes • Schemas consist of elements and attributes: – Elements are used to carry data and attributes are used to carry metadata. • Two types of elements: – Simple elements have a single data value. – ComplexType elements can have one or more simple or ComplexType elements. • ComplexType elements can have attributes. DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-22 Flat Schemas: XML Schema • Flat schemas have all elements at the same level: DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-23 Flat Schemas: Schema-Valid Document DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-24 Flat Schemas: SGraphical Representation of Schema DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-25 Structured Schemas: XML Schema • Structured schemas have defined subgroups: DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-26 Structured Schemas: Schema-Valid Document DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-27 Structured Schemas: Graphical Representation of Schema DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-28 David M. Kroenke’s Database Processing Fundamentals, Design, and Implementation (10th Edition) End of Presentation: Chapter Thirteen Part Two DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-29