Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.
|Comment:||Fixes to the application file format document.|
|Timelines:||family | ancestors | descendants | both | trunk|
|Files:||files | file ages | folders|
|User & Date:||drh 2014-04-01 13:44:24|
|15:02||Strengthen the disclaimers on the "speed.html" page and on the "PRAGMA stats" documentation. check-in: 0bbad9c76b user: drh tags: trunk|
|13:44||Fixes to the application file format document. check-in: f3db82e049 user: drh tags: trunk|
|18:53||Version 184.108.40.206 check-in: 2f86548772 user: drh tags: trunk, release, version-220.127.116.11|
Changes to pages/appfileformat.in.
113 113 documents (ODT and ODP) are also ZIP archives containing XML and 114 114 images that represent their content as well as "catalog" files that 115 115 show the interrelationships between the component parts. 116 116 117 117 <p>A wrapped pile-of-files format is a compromise between a full 118 118 custom file format and a pure pile-of-files format. 119 119 A wrapped pile-of-files format is not an opaque blob in the same sense 120 -as a custom file format, since the component parts can still be accessed 120 +as a custom format, since the component parts can still be accessed 121 121 using any common ZIP archiver, but the format is not quite as accessible 122 122 as a pure pile-of-files format because one does still need the ZIP 123 123 archiver, and one cannot normally use command-line tools like "find" 124 124 on the file hierarchy without first un-zipping it. On the other 125 125 hand, a wrapped pile-of-files format does preserve the document 126 126 metaphor by putting all content into a single disk file. And 127 127 because it is compressed, the wrapped pile-of-files format tends to 128 128 be more compact. 129 129 130 130 <p>As with custom file formats, and unlike pure pile-of-file formats, 131 131 a wrapped pile-of-files format is not as easy to edit, since 132 -one most normally rewrite the entire file to change any 132 +usually the entire file must be rewritten in order to change any 133 133 component part. 134 134 </ol> 135 135 136 136 <p>The purpose of this document is to argue in favor of a fourth 137 137 new catagory of application file format: An SQLite database file. 138 138 139 139 <h2>SQLite As The Application File Format</h2> ................................................................................ 151 151 of being able to update individual "files" without rewrite 152 152 the entire document. 153 153 154 154 <p> 155 155 But an SQLite database is not limited to a simple key/value structure 156 156 like a pile-of-files database. An SQLite database can have dozens 157 157 or hundreds or thousands of different of tables, with dozens or 158 -hundreds or thousands of fields per table, each with different datatypes and 158 +hundreds or thousands of fields per table, each with different datatypes 159 159 and constraints and particular meanings, all cross-referencing each other, 160 160 appropriately and automatically indexed for rapid retrieval, 161 161 and all stored efficiently and compactly in a single disk file. 162 162 And all of this structure is succinctly documented for humans 163 163 by the SQL schema. 164 164 165 165 <p>In other words, an SQLite database can do everything that a ................................................................................ 219 219 information they need from a document. Developers write SQL that 220 220 expresses "what" information they want and let the database engine 221 221 to figure out how to best retrieve that content. This helps developers 222 222 operate "heads up" and remain focused on solving the user's problem, 223 223 and avoid time spent "heads down" fiddling with low-level file 224 224 formatting details. 225 225 226 -<p>A pile-of-files format can viewed as a key/value database. 226 +<p>A pile-of-files format can be viewed as a key/value database. 227 227 A key/value database is better than no database at all. 228 228 But without transactions or indices or a high-level query language or 229 229 a proper schema, 230 230 it much harder and more error prone to use a key/value database than 231 231 a relational database. 232 232 233 233 <li><p><b>Accessible Content.</b>