Difference between revisions of "Databases"

From Suhrid.net Wiki
Jump to navigationJump to search
Line 36: Line 36:
 
|Ordering
 
|Ordering
 
| Fundamentally UNORDERED. e.g. Order by clause is required in SQL in case order is desired.
 
| Fundamentally UNORDERED. e.g. Order by clause is required in SQL in case order is desired.
| Ordering is implied - e.g. the way the text is laid out in the XML document.
+
| Ordering is implied - e.g. the way the text is laid out in the XML document or in the Stream.
 
|-
 
|-
 
|Implementation
 
|Implementation
Line 46: Line 46:
  
 
* Single root element
 
* Single root element
 +
* XML parser is used to validate XML.
 +
* DOM parser - treats XML as a document, SAX parser - treats XML as a stream.
 
* Matched tags, proper nesting
 
* Matched tags, proper nesting
 
* Unique attributes within each element
 
* Unique attributes within each element
 +
 +
== Displaying XML ==
 +
 +
* Since XML occurs a lot on the internet, a convenient way is required to display XML.
 +
* Use rule based languages such as CSS, XSL to translate XML to HTML.
 +
* XML document is fed to a CSS/XSL interpreter alongwith rules and a HTML document is generated.

Revision as of 23:40, 7 December 2013

Relational Databases

  • Set of named relations (tables)
  • Each relation has a set of named attributes (columns)
  • Each tuple (row) has a value for each attribute
  • Each attribute has a type (or domain)
  • All queries return relations (tables), so it can said to be compositional or closed.

XML Data

  • Alternative to relational model to store data
  • Standard for data representation and exchange
  • Document format similar to HTML, however tags represent content instead of formatting.
  • XML consists of tagged elements which can be nested, attributes of elements and the text (values/data)
  • XML document can be thought of as a tree with values/text forming the leaves.

Relational vs XML

Relational XML
Structure Tables Hierarchical/Tree
Schema Fixed in advance Flexible, self-describing. e.g. all elements need not have same attributes. (In relational, we would need to have NULL values). Inconsistencies in the structure is NOT a problem.
Queries Relatively simple Complicated compared to Relational / SQL.
Ordering Fundamentally UNORDERED. e.g. Order by clause is required in SQL in case order is desired. Ordering is implied - e.g. the way the text is laid out in the XML document or in the Stream.
Implementation Mature - native implementation Add - on. (Underlying implementation is relational)

Well formed XML

  • Single root element
  • XML parser is used to validate XML.
  • DOM parser - treats XML as a document, SAX parser - treats XML as a stream.
  • Matched tags, proper nesting
  • Unique attributes within each element

Displaying XML

  • Since XML occurs a lot on the internet, a convenient way is required to display XML.
  • Use rule based languages such as CSS, XSL to translate XML to HTML.
  • XML document is fed to a CSS/XSL interpreter alongwith rules and a HTML document is generated.