Symbian3/PDK/Source/GUID-13C95985-D16F-5A9E-A7F8-CAB637C4C6ED.dita
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 9 59758314f811
equal deleted inserted replaced
4:4816d766a08a 5:f345bda72bc4
     7     Nokia Corporation - initial contribution.
     7     Nokia Corporation - initial contribution.
     8 Contributors: 
     8 Contributors: 
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    12 <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>
    12 <concept id="GUID-13C95985-D16F-5A9E-A7F8-CAB637C4C6ED" xml:lang="en"><title>DBMS
    13              DBMS Class Diagrams
    13 Overview</title><shortdesc>Provides an interface to relational databases. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
    14           </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
    14 <section id="GUID-40E204A0-AAE5-46AA-BC88-2A80D81AC710"><title>Purpose</title> <p id="GUID-844F756E-1670-5D24-8D63-2092ABE3354C"> The
    15                 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
    15 DBMS component provides an interface to relational databases. It enables you
    16                 keys overview</linktext> </link> <link href="GUID-C61B979A-921A-5756-8D7E-691C3DDD3437.dita"><linktext>DBMS sharing databases
    16 to create and access databases either from a single client or from multiple
    17                 overview</linktext> </link> <link href="GUID-120163D6-2E49-5D91-A746-2C8C4C944461.dita"><linktext>DBMS incremental operations
    17 clients sharing access over a server. </p> </section>
    18                 overview</linktext> </link> <link href="GUID-21CF1D5F-44C5-5407-B3C9-8BC103C97079.dita"><linktext>File stores overview</linktext> </link> </related-links></concept>
    18 <section id="GUID-AC97ABD1-CD17-403B-B654-91A75A6C627A"><title>Required background</title> <p>To use DBMS you need a knowledge
       
    19 of relational databases and the SQL query language. </p> </section>
       
    20 <section id="GUID-B0F498B6-722A-4FE2-B7B2-5064FEFF9470"><title>Key concepts and terms</title> <dl>
       
    21 <dlentry>
       
    22 <dt>Store database </dt>
       
    23 <dd><p>A client-side single client database stored in permanent file stores,
       
    24 implemented by <xref href="GUID-F4A68645-2265-307F-B951-8295827E000B.dita"><apiname>RDbStoreDatabase</apiname></xref>  </p> </dd>
       
    25 </dlentry>
       
    26 <dlentry>
       
    27 <dt>Named database </dt>
       
    28 <dd><p>A database allowing simultaneous read/write access by multiple clients,
       
    29 implemented by <xref href="GUID-6433D7F9-B4C7-39DA-BEF4-5EA22B8478A2.dita"><apiname>RDbNamedDatabase</apiname></xref>  </p> </dd>
       
    30 </dlentry>
       
    31 </dl> </section>
       
    32 <section id="GUID-856FC618-CF46-4735-B90B-B1BDB91F01D5"><title>Architecture</title> <p>DBMS defines a general relational
       
    33 database access API, and allows different database implementations to be provided
       
    34 of which there are two: a small and relatively lightweight client-side implementation;
       
    35 and, for when multiple clients must have write access to a database, a client-server
       
    36 implementation. </p> <p>When multiple clients can access the same database,
       
    37 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
       
    38 a sophisticated file storage, called permanent file stores, that allows individual
       
    39 entries in a file to be modified. The database implementations use these stores
       
    40 for the underlying data storage. </p> <fig id="GUID-6907C48E-3E72-5FED-B5E5-67C6F6922ED9">
       
    41 <title>              DBMS Class Diagrams           </title>
       
    42 <image href="GUID-6A482ACB-D39E-578B-B58B-44E4142A5897_d0e590745_href.png" placement="inline"/>
       
    43 </fig> </section>
       
    44 <section id="GUID-CC1087EA-0995-4ABE-8C28-8CBF0D62E7FA"><title>DBMS Summary</title> <p>DBMS provides the following: </p> <ul>
       
    45 <li id="GUID-CA46F9A6-15C2-5584-A907-9D1DD79C8711"><p> <b>Database Management
       
    46 System Library</b>  </p> <p> <filepath>edbms.dll</filepath>  </p> </li>
       
    47 <li id="GUID-8D01F878-BCA7-5F88-AC31-BEA68B0739CD"><p> <b>Database Management
       
    48 System Server</b>  </p> <p> <filepath>edbsrv.exe</filepath>  </p> </li>
       
    49 </ul> </section>
       
    50 <section id="GUID-8534CB50-0E49-4614-883B-61B6B583ABCB"><title>APIs</title> <table id="GUID-E682487D-23AC-5A0A-89F5-568D73452AF1">
       
    51 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
    52 <thead>
       
    53 <row>
       
    54 <entry>API</entry>
       
    55 <entry>Description</entry>
       
    56 </row>
       
    57 </thead>
       
    58 <tbody>
       
    59 <row>
       
    60 <entry><p> <xref href="GUID-E11B1981-CA78-3660-AE09-AD3B4D453733.dita"><apiname>RDbDatabase</apiname></xref>  </p> </entry>
       
    61 <entry><p>Abstract database class. </p> </entry>
       
    62 </row>
       
    63 <row>
       
    64 <entry><p> <xref href="GUID-F4A68645-2265-307F-B951-8295827E000B.dita"><apiname>RDbStoreDatabase</apiname></xref>  </p> </entry>
       
    65 <entry><p>Implements <codeph>RDbDatabase</codeph> as a store database. </p> </entry>
       
    66 </row>
       
    67 <row>
       
    68 <entry><p> <xref href="GUID-6433D7F9-B4C7-39DA-BEF4-5EA22B8478A2.dita"><apiname>RDbNamedDatabase</apiname></xref>  </p> </entry>
       
    69 <entry><p>Implements a named database. </p> </entry>
       
    70 </row>
       
    71 <row>
       
    72 <entry><p> <xref href="GUID-F861EB8F-F621-3E77-8F9A-5E4EFC4E9C2F.dita"><apiname>RDbRowSet</apiname></xref>  </p> </entry>
       
    73 <entry><p>The base class for all rowset types. </p> </entry>
       
    74 </row>
       
    75 <row>
       
    76 <entry><p> <xref href="GUID-90ABFA73-6374-367C-BAA9-88CD810035CC.dita"><apiname>RDbTable</apiname></xref>  </p> </entry>
       
    77 <entry><p>Provides access to table data as a rowset. </p> </entry>
       
    78 </row>
       
    79 <row>
       
    80 <entry><p> <xref href="GUID-AE1BEF00-5AA7-3F03-95B0-9E40395EDA6C.dita"><apiname>RDbView</apiname></xref>  </p> </entry>
       
    81 <entry><p>Generates rowsets from an SQL query. </p> </entry>
       
    82 </row>
       
    83 <row>
       
    84 <entry><p> <xref href="GUID-A7C9FEFA-A9A9-357F-AF66-FA3A288AF925.dita"><apiname>TDbQuery</apiname></xref>  </p> </entry>
       
    85 <entry><p>A wrapper for an SQL string combined with a text comparison mode. </p> </entry>
       
    86 </row>
       
    87 <row>
       
    88 <entry><p> <xref href="GUID-E53A90DF-3589-34BD-B7C3-02371567AF41.dita"><apiname>TDbWindow</apiname></xref>  </p> </entry>
       
    89 <entry><p>Describes the desired shape of a view's pre-evaluation window. </p> </entry>
       
    90 </row>
       
    91 <row>
       
    92 <entry><p> <xref href="GUID-53AB4535-A859-3A8C-8344-53865B2FE0B4.dita"><apiname>RDbNotifier</apiname></xref>  </p> </entry>
       
    93 <entry><p>Provides notification of database changes to clients. </p> </entry>
       
    94 </row>
       
    95 </tbody>
       
    96 </tgroup>
       
    97 </table> </section>
       
    98 <section id="GUID-B73210AC-8B93-430A-8E6F-8FD06C631E90"><title>Typical uses</title> <p>DBMS is very well suited to applications
       
    99 with small to medium-sized datasets, where the total record count is less
       
   100 than 10,000 and the database size is less than 512KB. It scales reasonably
       
   101 well to larger datasets with total record counts less than 100,000 and database
       
   102 sizes less than 10MB. </p> <p>DBMS is a suitable database engine for applications
       
   103 such as: </p> <ul>
       
   104 <li id="GUID-3638AC16-C761-5FEE-BFE1-C516C5674C88"><p>address books </p> </li>
       
   105 <li id="GUID-7C3E01B0-898A-5FC0-9C48-EB7D998C878D"><p>call logs </p> </li>
       
   106 <li id="GUID-B8F92167-446A-5CB0-A5A6-998B2E1ED9A4"><p>message stores. </p> </li>
       
   107 </ul> </section>
       
   108 </conbody><related-links>
       
   109 <link href="GUID-F4875493-6501-56FC-90E5-5EEAA89A72C3.dita"><linktext>Persistent
       
   110 Storage Overview</linktext></link>
       
   111 <link href="GUID-12CB6E0E-69CD-51A6-8966-3621CB26E1CD.dita"><linktext>DBMS
       
   112 rowsets overview</linktext></link>
       
   113 <link href="GUID-7BE83158-B818-57E4-9A8C-43E5D2C84687.dita"><linktext>DBMS columns,
       
   114 column sets, and                 keys overview</linktext></link>
       
   115 <link href="GUID-C61B979A-921A-5756-8D7E-691C3DDD3437.dita"><linktext>DBMS sharing
       
   116 databases                 overview</linktext></link>
       
   117 <link href="GUID-120163D6-2E49-5D91-A746-2C8C4C944461.dita"><linktext>DBMS incremental
       
   118 operations                 overview</linktext></link>
       
   119 <link href="GUID-21CF1D5F-44C5-5407-B3C9-8BC103C97079.dita"><linktext>File stores
       
   120 overview</linktext></link>
       
   121 </related-links></concept>