summaryrefslogtreecommitdiff
path: root/docs/collections/tutorial/tutorialintroduction.html
diff options
context:
space:
mode:
authorLorry <lorry@roadtrain.codethink.co.uk>2012-07-20 20:00:05 +0100
committerLorry <lorry@roadtrain.codethink.co.uk>2012-07-20 20:00:05 +0100
commit3ef782d3745ea8f25a3151561a3cfb882190210e (patch)
tree86b9c2f5fde051dd0bced99b3fc9f5a3ba08db69 /docs/collections/tutorial/tutorialintroduction.html
downloadberkeleydb-3ef782d3745ea8f25a3151561a3cfb882190210e.tar.gz
Tarball conversion
Diffstat (limited to 'docs/collections/tutorial/tutorialintroduction.html')
-rw-r--r--docs/collections/tutorial/tutorialintroduction.html410
1 files changed, 410 insertions, 0 deletions
diff --git a/docs/collections/tutorial/tutorialintroduction.html b/docs/collections/tutorial/tutorialintroduction.html
new file mode 100644
index 00000000..1a5fd297
--- /dev/null
+++ b/docs/collections/tutorial/tutorialintroduction.html
@@ -0,0 +1,410 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Tutorial Introduction</title>
+ <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
+ <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
+ <link rel="start" href="index.html" title="Berkeley DB Collections Tutorial" />
+ <link rel="up" href="intro.html" title="Chapter 1.  Introduction" />
+ <link rel="prev" href="developing.html" title="Developing a DB Collections Application" />
+ <link rel="next" href="BasicProgram.html" title="Chapter 2.  The Basic Program" />
+ </head>
+ <body>
+ <div xmlns="" class="navheader">
+ <div class="libver">
+ <p>Library Version 11.2.5.3</p>
+ </div>
+ <table width="100%" summary="Navigation header">
+ <tr>
+ <th colspan="3" align="center">Tutorial Introduction</th>
+ </tr>
+ <tr>
+ <td width="20%" align="left"><a accesskey="p" href="developing.html">Prev</a> </td>
+ <th width="60%" align="center">Chapter 1. 
+ Introduction
+ </th>
+ <td width="20%" align="right"> <a accesskey="n" href="BasicProgram.html">Next</a></td>
+ </tr>
+ </table>
+ <hr />
+ </div>
+ <div class="sect1" lang="en" xml:lang="en">
+ <div class="titlepage">
+ <div>
+ <div>
+ <h2 class="title" style="clear: both"><a id="tutorialintroduction"></a>Tutorial Introduction</h2>
+ </div>
+ </div>
+ </div>
+ <p>
+ Most of the remainder of this document illustrates the use of the
+ DB Java Collections API by presenting a tutorial that describes usage of the API.
+ This tutorial builds a shipment database, a familiar example from classic
+ database texts.
+</p>
+ <p>
+ The examples illustrate the following concepts of the DB Java Collections API:
+</p>
+ <div class="itemizedlist">
+ <ul type="disc">
+ <li>
+ <p>
+ Object-to-data <span class="emphasis"><em>bindings</em></span>
+ </p>
+ </li>
+ <li>
+ <p>
+ The database <span class="emphasis"><em>environment</em></span>
+ </p>
+ </li>
+ <li>
+ <p>
+ <span class="emphasis"><em>Databases</em></span> that contain key/value records
+ </p>
+ </li>
+ <li>
+ <p>
+ <span class="emphasis"><em>Secondary index</em></span> databases that contain index keys
+ </p>
+ </li>
+ <li>
+ <p>
+ Java <span class="emphasis"><em>collections</em></span> for accessing databases and
+ indices
+ </p>
+ </li>
+ <li>
+ <p>
+ <span class="emphasis"><em>Transactions</em></span> used to commit or undo database
+ changes
+ </p>
+ </li>
+ </ul>
+ </div>
+ <p>
+ The examples build on each other, but at the same time the
+ source code for each example stands alone.
+</p>
+ <div class="itemizedlist">
+ <ul type="disc">
+ <li>
+ <p>
+ <a class="xref" href="BasicProgram.html" title="Chapter 2.  The Basic Program">
+ The Basic Program
+ </a>
+ </p>
+ </li>
+ <li>
+ <p>
+ <a class="xref" href="UsingSecondaries.html" title="Chapter 3.  Using Secondary Indices">
+ Using Secondary Indices
+ </a>
+ </p>
+ </li>
+ <li>
+ <p>
+ <a class="xref" href="Entity.html" title="Chapter 4.  Using Entity Classes">
+ Using Entity Classes
+ </a>
+ </p>
+ </li>
+ <li>
+ <p>
+ <a class="xref" href="Tuple.html" title="Chapter 5.  Using Tuples">
+ Using Tuples
+ </a>
+ </p>
+ </li>
+ <li>
+ <p>
+ <a class="xref" href="SerializableEntity.html" title="Chapter 6.  Using Serializable Entities">
+ Using Serializable Entities
+ </a>
+ </p>
+ </li>
+ </ul>
+ </div>
+ <p>
+ The shipment database consists of three database stores: the
+ part store, the supplier store, and the shipment store. Each store
+ contains a number of records, and each record consists of a key and
+ a value.
+</p>
+ <div class="informaltable">
+ <table border="1" width="80%">
+ <colgroup>
+ <col />
+ <col />
+ <col />
+ </colgroup>
+ <thead>
+ <tr>
+ <th>Store</th>
+ <th>Key</th>
+ <th>Value</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Part</td>
+ <td>Part Number</td>
+ <td>Name, Color, Weight, City</td>
+ </tr>
+ <tr>
+ <td>Supplier</td>
+ <td>Supplier Number</td>
+ <td>Name, Status, City</td>
+ </tr>
+ <tr>
+ <td>Shipment</td>
+ <td>Part Number, Supplier Number</td>
+ <td>Quantity</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <p>
+ In the example programs, Java classes containing the fields
+ above are defined for the key and value of each store:
+ <code class="classname">PartKey</code>,
+ <code class="classname">PartData</code>,
+ <code class="classname">SupplierKey</code>,
+ <code class="classname">SupplierData</code>,
+ <code class="classname">ShipmentKey</code> and <code class="classname">ShipmentData</code>. In
+ addition, because the Part's Weight field is itself composed of two
+ fields — the weight value and the unit of measure — it is
+ represented by a separate <code class="classname">Weight</code> class. These classes will
+ be defined in the first example program.
+</p>
+ <p>
+ In general the DB Java Collections API uses bindings to
+ describe how Java objects are stored. A binding defines the stored
+ data syntax and the mapping between a Java object and the stored
+ data. The example programs show how to create different types of
+ bindings, and explains the characteristics of each type.
+</p>
+ <p>
+ The following tables show the record values that are used in
+ all the example programs in the tutorial.
+ <span>
+
+ </span>
+</p>
+ <div class="informaltable">
+ <table border="1" width="80%">
+ <colgroup>
+ <col />
+ <col />
+ <col />
+ <col />
+ <col />
+ </colgroup>
+ <thead>
+ <tr>
+ <th>Number</th>
+ <th>Name</th>
+ <th>Color</th>
+ <th>Weight</th>
+ <th>City</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>P1</td>
+ <td>Nut</td>
+ <td>Red</td>
+ <td>12.0 grams</td>
+ <td>London</td>
+ </tr>
+ <tr>
+ <td>P2</td>
+ <td>Bolt</td>
+ <td>Green</td>
+ <td>17.0 grams</td>
+ <td>Paris</td>
+ </tr>
+ <tr>
+ <td>P3</td>
+ <td>Screw</td>
+ <td>Blue</td>
+ <td>17.0 grams</td>
+ <td>Rome</td>
+ </tr>
+ <tr>
+ <td>P4</td>
+ <td>Screw</td>
+ <td>Red</td>
+ <td>14.0 grams</td>
+ <td>London</td>
+ </tr>
+ <tr>
+ <td>P5</td>
+ <td>Cam</td>
+ <td>Blue</td>
+ <td>12.0 grams</td>
+ <td>Paris</td>
+ </tr>
+ <tr>
+ <td>P6</td>
+ <td>Cog</td>
+ <td>Red</td>
+ <td>19.0 grams</td>
+ <td>London</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="informaltable">
+ <table border="1" width="80%">
+ <colgroup>
+ <col />
+ <col />
+ <col />
+ <col />
+ </colgroup>
+ <thead>
+ <tr>
+ <th>Number</th>
+ <th>Name</th>
+ <th>Status</th>
+ <th>City</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>S1</td>
+ <td>Smith</td>
+ <td>20</td>
+ <td>London</td>
+ </tr>
+ <tr>
+ <td>S2</td>
+ <td>Jones</td>
+ <td>10</td>
+ <td>Paris</td>
+ </tr>
+ <tr>
+ <td>S3</td>
+ <td>Blake</td>
+ <td>30</td>
+ <td>Paris</td>
+ </tr>
+ <tr>
+ <td>S4</td>
+ <td>Clark</td>
+ <td>20</td>
+ <td>London</td>
+ </tr>
+ <tr>
+ <td>S5</td>
+ <td>Adams</td>
+ <td>30</td>
+ <td>Athens</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="informaltable">
+ <table border="1" width="80%">
+ <colgroup>
+ <col />
+ <col />
+ <col />
+ </colgroup>
+ <thead>
+ <tr>
+ <th>Part Number</th>
+ <th>Supplier Number</th>
+ <th>Quantity</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>P1</td>
+ <td>S1</td>
+ <td>300</td>
+ </tr>
+ <tr>
+ <td>P1</td>
+ <td>S2</td>
+ <td>300</td>
+ </tr>
+ <tr>
+ <td>P2</td>
+ <td>S1</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td>P2</td>
+ <td>S2</td>
+ <td>400</td>
+ </tr>
+ <tr>
+ <td>P2</td>
+ <td>S3</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td>P2</td>
+ <td>S4</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td>P3</td>
+ <td>S1</td>
+ <td>400</td>
+ </tr>
+ <tr>
+ <td>P4</td>
+ <td>S1</td>
+ <td>200</td>
+ </tr>
+ <tr>
+ <td>P4</td>
+ <td>S4</td>
+ <td>300</td>
+ </tr>
+ <tr>
+ <td>P5</td>
+ <td>S1</td>
+ <td>100</td>
+ </tr>
+ <tr>
+ <td>P5</td>
+ <td>S4</td>
+ <td>400</td>
+ </tr>
+ <tr>
+ <td>P6</td>
+ <td>S1</td>
+ <td>100</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="navfooter">
+ <hr />
+ <table width="100%" summary="Navigation footer">
+ <tr>
+ <td width="40%" align="left"><a accesskey="p" href="developing.html">Prev</a> </td>
+ <td width="20%" align="center">
+ <a accesskey="u" href="intro.html">Up</a>
+ </td>
+ <td width="40%" align="right"> <a accesskey="n" href="BasicProgram.html">Next</a></td>
+ </tr>
+ <tr>
+ <td width="40%" align="left" valign="top">Developing a DB Collections Application </td>
+ <td width="20%" align="center">
+ <a accesskey="h" href="index.html">Home</a>
+ </td>
+ <td width="40%" align="right" valign="top"> Chapter 2. 
+ The Basic Program
+ </td>
+ </tr>
+ </table>
+ </div>
+ </body>
+</html>