Symbian3/PDK/Source/GUID-13C95985-D16F-5A9E-A7F8-CAB637C4C6ED.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Fri, 22 Jan 2010 18:26:19 +0000
changeset 1 25a17d01db0c
child 3 46218c8b8afa
permissions -rw-r--r--
Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-13C95985-D16F-5A9E-A7F8-CAB637C4C6ED"><title>DBMS Overview</title><shortdesc>Provides an interface to relational databases. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p id="GUID-844F756E-1670-5D24-8D63-2092ABE3354C"> The DBMS component provides an interface to relational databases. It enables you to create and access databases either from a single client or from multiple clients sharing access over a server. </p> </section> <section><title>Required background</title> <p>To use DBMS you need a knowledge of relational databases and the SQL query language. </p> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt>Store database </dt> <dd><p>A client-side single client database stored in permanent file stores, implemented by <xref href="GUID-F4A68645-2265-307F-B951-8295827E000B.dita"><apiname>RDbStoreDatabase</apiname></xref>  </p> </dd> </dlentry> <dlentry><dt>Named database </dt> <dd><p>A database allowing simultaneous read/write access by multiple clients, implemented by <xref href="GUID-6433D7F9-B4C7-39DA-BEF4-5EA22B8478A2.dita"><apiname>RDbNamedDatabase</apiname></xref>  </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>DBMS defines a general relational database access API, and allows different database implementations to be provided of which there are two: a small and relatively lightweight client-side implementation; and, for when multiple clients must have write access to a database, a client-server implementation. </p> <p>When multiple clients can access the same database, transactions ensure that only one client can change data at a time. </p> <p>The <xref href="GUID-21CF1D5F-44C5-5407-B3C9-8BC103C97079.dita">File Stores</xref> API defines a sophisticated file storage, called permanent file stores, that allows individual entries in a file to be modified. The database implementations use these stores for the underlying data storage. </p> <fig id="GUID-6907C48E-3E72-5FED-B5E5-67C6F6922ED9"><title>
             DBMS Class Diagrams
          </title> <image href="GUID-6A482ACB-D39E-578B-B58B-44E4142A5897_d0e569693_href.png" placement="inline"/></fig> </section> <section><title>DBMS Summary</title> <p>DBMS provides the following: </p> <ul><li id="GUID-CA46F9A6-15C2-5584-A907-9D1DD79C8711"><p> <b>Database Management System Library</b>  </p> <p> <filepath>edbms.dll</filepath>  </p> </li> <li id="GUID-8D01F878-BCA7-5F88-AC31-BEA68B0739CD"><p> <b>Database Management System Server</b>  </p> <p> <filepath>edbsrv.exe</filepath>  </p> </li> </ul> </section> <section><title>APIs</title> <table id="GUID-E682487D-23AC-5A0A-89F5-568D73452AF1"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-E11B1981-CA78-3660-AE09-AD3B4D453733.dita"><apiname>RDbDatabase</apiname></xref>  </p> </entry> <entry><p>Abstract database class. </p> </entry> </row> <row><entry><p> <xref href="GUID-F4A68645-2265-307F-B951-8295827E000B.dita"><apiname>RDbStoreDatabase</apiname></xref>  </p> </entry> <entry><p>Implements <codeph>RDbDatabase</codeph> as a store database. </p> </entry> </row> <row><entry><p> <xref href="GUID-6433D7F9-B4C7-39DA-BEF4-5EA22B8478A2.dita"><apiname>RDbNamedDatabase</apiname></xref>  </p> </entry> <entry><p>Implements a named database. </p> </entry> </row> <row><entry><p> <xref href="GUID-F861EB8F-F621-3E77-8F9A-5E4EFC4E9C2F.dita"><apiname>RDbRowSet</apiname></xref>  </p> </entry> <entry><p>The base class for all rowset types. </p> </entry> </row> <row><entry><p> <xref href="GUID-90ABFA73-6374-367C-BAA9-88CD810035CC.dita"><apiname>RDbTable</apiname></xref>  </p> </entry> <entry><p>Provides access to table data as a rowset. </p> </entry> </row> <row><entry><p> <xref href="GUID-AE1BEF00-5AA7-3F03-95B0-9E40395EDA6C.dita"><apiname>RDbView</apiname></xref>  </p> </entry> <entry><p>Generates rowsets from an SQL query. </p> </entry> </row> <row><entry><p> <xref href="GUID-A7C9FEFA-A9A9-357F-AF66-FA3A288AF925.dita"><apiname>TDbQuery</apiname></xref>  </p> </entry> <entry><p>A wrapper for an SQL string combined with a text comparison mode. </p> </entry> </row> <row><entry><p> <xref href="GUID-E53A90DF-3589-34BD-B7C3-02371567AF41.dita"><apiname>TDbWindow</apiname></xref>  </p> </entry> <entry><p>Describes the desired shape of a view's pre-evaluation window. </p> </entry> </row> <row><entry><p> <xref href="GUID-53AB4535-A859-3A8C-8344-53865B2FE0B4.dita"><apiname>RDbNotifier</apiname></xref>  </p> </entry> <entry><p>Provides notification of database changes to clients. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>DBMS is very well suited to applications with small to medium-sized datasets, where the total record count is less than 10,000 and the database size is less than 512KB. It scales reasonably well to larger datasets with total record counts less than 100,000 and database sizes less than 10MB. </p> <p>DBMS is a suitable database engine for applications such as: </p> <ul><li id="GUID-3638AC16-C761-5FEE-BFE1-C516C5674C88"><p>address books </p> </li> <li id="GUID-7C3E01B0-898A-5FC0-9C48-EB7D998C878D"><p>call logs </p> </li> <li id="GUID-B8F92167-446A-5CB0-A5A6-998B2E1ED9A4"><p>message stores. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-F4875493-6501-56FC-90E5-5EEAA89A72C3.dita"><linktext>Persistent Storage Overview</linktext> </link> <link href="GUID-EACA05F0-7291-535C-82BC-16DF3AAA417E.dita"><linktext>Interface to DBMS databases
                overview</linktext> </link> <link href="GUID-12CB6E0E-69CD-51A6-8966-3621CB26E1CD.dita"><linktext>DBMS rowsets overview</linktext> </link> <link href="GUID-7BE83158-B818-57E4-9A8C-43E5D2C84687.dita"><linktext>DBMS columns, column sets, and
                keys overview</linktext> </link> <link href="GUID-C61B979A-921A-5756-8D7E-691C3DDD3437.dita"><linktext>DBMS sharing databases
                overview</linktext> </link> <link href="GUID-120163D6-2E49-5D91-A746-2C8C4C944461.dita"><linktext>DBMS incremental operations
                overview</linktext> </link> <link href="GUID-21CF1D5F-44C5-5407-B3C9-8BC103C97079.dita"><linktext>File stores overview</linktext> </link> </related-links></concept>