What Is the Difference Between a Database Engine, a Database Client, and a Database App?

SQLite logo A database engine (e.g., object-oriented Realm or relational SQLite) is meant to be integrated into an iOS app by an iOS software developer. Its primary purpose is to provide data storage and search services to an iOS app. The communication with a database engine and its customization is accomplished using a programming language (e.g., Swift or Objective-C) and a query language (e.g., SQL, Structured Query Language or OQL, Object Query Language). A database engine is never exposed to an end-user and can never be customized by an end-user. A database engine can be used by an app developer to create, for example, a specialized note-taking app for an end-user.

MariaDB Foundation logo A database client (e.g., relational SQLPro Studio or TablePlus) is meant to be installed on an iOS device by an end-user with advanced technical knowledge of database servers. A database client connects from a local iOS device (a client) to a remote database (a server, e.g., MariaDB or PostgreSQL) over a network connection. Its primary purpose is also to provide remote data storage and search services, but not to an iOS app, but directly to an end-user. The communication with a database server and its customization is accomplished using a query language (e.g., SQL, Structured Query Language). In a sense, a database client allows an end-user to become a “query language -focused developer” who customizes a remote database server on demand. Modern iOS database clients can represent database constituents as Graphical User Interface (GUI) widgets or diagrams and export data to data formats such as CSV or JSON. A database client can be used, for example, by a database administrator to manage enterprise data remotely.

iOS database app screenshot: Customize with Types made from data building blocks (iPhone) A database app (e.g., object-oriented easyAsPieDB or relational SQLite-Pro) is meant to be installed on an iOS device by an end-user without any special technical knowledge. Its primary purpose is also to provide local data storage and search services directly to an end-user. The communication with a database app and its customization is accomplished using a Graphical User Interface (GUI) instead of a programming language and a query language, for example by using logical building blocks such as Tables, Columns and drag-and-drop diagrams. Of course a database app also internally includes a database engine, but such database engine is effectively “driven” by an end-user at app runtime, instead of being programmed by a programmer at app creation time. In a sense, a database app allows an end-user to become a “no-code, data-focused developer” who customizes a hidden-away database engine on demand. Modern iOS database apps can also synchronize their data across multiple iOS devices through cloud services such as iCloud. A database app can be used, for example, by a small business owner to manage orders and inventory.

An interesting issue to note is the difference between a new generation of object-oriented database apps and an older generation of relational database apps. Object-orientation allows an end-user to define relationships among the relevant pieces of data in a conceptual manner, for example by using Composition (e.g., a House is composed of Rooms) and Association (a known Product is associated with a particular Order). Storage of a single object-oriented piece of data is usually a single operation that is self-contained, thus everything-or-nothing. Relational-orientation forces an end-user to define relationships among the relevant pieces of data in a more technical, structural manner, for example with Tables including “pointers” to other Tables, without it being clear what such “pointers” actually mean. Moreover, storage of a single relational piece of data might require multiple operations across multiple Tables. Effectively, object-oriented database apps might be easier to comprehend and use for non-technical users than relational database apps.

Also See

How Does a Type-Oriented, Non-Technical Database App Work?

Newsletter

Subscribe to the easyAsPieDB Newsletter for promotions, tutorials and product updates. Low traffic, 3 - 6 messages per year.

Zero spam. Never shared with third parties.

A red gift bag with a black and white Black Friday label

Download

Download easyAsPieDB and COMPLETELY customize the information this database app stores and displays. No tech skills required.

A futuristic smartphone projecting a 3D hologram of an iOS database app above its screen