HTML and CSS Reference
Listing 5.9. app.js—Feature detection for database-related objects
5.3.2. Creating or connecting to an IndexedDB database, creating an obje- ect store
To create or connect to an IndexedDB database, the application needs to invoke the
IndexedDB method open . If no database exists when the open method is called,
a new database will be created, and a connection object will be created. Once in-
dexedDB.open successfully creates a connection, the onsuccess and/or up-
gradeNeeded event handler will be called, and the connection object will be accessible
plication can create an object store or index for the application.
1 If a new database is created, events upgradeNeeded and onsuccess will be fired, but upgradeNeeded
will be handled before onsuccess .
Before looking at how an application would create object stores and indexes, let's discuss
how data is stored in an IndexedDB database. All data in an IndexedDB database is stored
inside an object store. Each database can contain many object stores, which can be roughly
thought of as equivalent to tables in a relational database management system (RDBMS).
In turn, each object store comprises a collection of zero or more objects, the equivalent of
rows in a RDBMS. Figure 5.4 illustrates the structure of an IndexedDB database.