|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-13C95985-D16F-5A9E-A7F8-CAB637C4C6ED" xml:lang="en"><title>DBMS |
|
13 Overview</title><shortdesc>Provides an interface to relational databases. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <section id="GUID-40E204A0-AAE5-46AA-BC88-2A80D81AC710"><title>Purpose</title> <p id="GUID-844F756E-1670-5D24-8D63-2092ABE3354C"> The |
|
15 DBMS component provides an interface to relational databases. It enables you |
|
16 to create and access databases either from a single client or from multiple |
|
17 clients sharing access over a server. </p> </section> |
|
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_d0e357898_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> |