How To Design Your App’s Database?
As you design an app, you will hear the words “app database” thrown around. An app’s database is comparable to a support system for your app, which is why your app’s database is so important. It is the backbone to your app. So, let’s talk about the different types of databases and how to design your app’s database.
Types of Databases
Relational – Relational databases are the connectors of your app. In other words, they connect different bits of information together. Most of these databases are set up like a spreadsheet, pulling information from different cells in the spreadsheet. Some of the common relational databases used in apps today include Parse Server, MySQL, and Realm.
Document – Document databases are like your app’s document libraries. You pull information from a document database when you are searching for a specific item. A couple of examples of document databases are Elasticsearch and MongoDB.
Graph – Graph databases use graphics principles to relate and maintain data. By using nodes, edges, and properties, data is produced. Graph databases can be thought of like a game of chess. Nodes represent a piece of information (player). Edges represent the path you must take to pull data from one node to the other (player moves). Properties are the “rules” of each move (chess game rules). Two examples of graph databases are Neo4j and OrientDB.
Designing Your App’s Database
When you begin designing your app’s database, you need to be sure you include objects and properties that are essential to your app’s functionality. For example, imagine you have a sports app that has a forum where users can post thoughts on a team, season, game results, etc. You will need at least 3 objects in your app’s database: Post, User, and Like. All 3 of these objects are necessities for enriched user experience. Some other examples of app objects you may need (depending upon the nature of your app) include Cost, Review, and Favorites.
After you have decided on app objects, you will need to define properties for each of those objects. For example, will your “post” object in your app’s forum allow users to post text only? Or could they also post pictures, emoticons, etc.? Defining properties for each object is basically giving rules and purpose to each object.
Next, you will need to figure out the relationships in your database. For example, when a user “likes” another user’s post, they are interacting with each other. This interaction wouldn’t be possible without database relationships. There are 3 types of relationships: One-to-one, one-to-many, and many-to-many. A one-to-one database relationship is a user’s link to an object. An example of this would be a user’s profile picture. A one-to-many relationship is when one user connects with many users. For instance, a user makes one post. Then, other users like that post. The user that made the post is interacting with all the other users when they “like” the post. The many-to-many relationship is when many objects interact with many other objects. An example of this relationship would be multiple players on a team interacting with fans in a group forum (like a q & a session). Although all 3 of these relationship types can be found in apps, the most common is the one-to-many relationship.
You did it! You have successfully made it through our crash course in-app database design! Now, if you are like most people who are aren’t experts in app design, you probably still have questions. Here at Gomeeki, we are ready to answer any questions you may have about designing your app’s database. We want to help you with your app’s development, successful launch, and continuing maintenance. Contact Gomeeki today!
“Smartphones and tablets are transforming how and where we consume news and information. The ABC must meet the challenge of delivering content to the audience at a time they want and on the device and format they prefer.”Mark ScottManaging Director, ABC
The Broncos evaluated numerous Fan Engagement solutions over recent years and Gomeeki's passionate & experienced team, combined with their innovative FanTribe platform was the only solution that we believe will deliver a winning mobile experience for our fans.Terry ReaderChief Commercial Officer, Brisbane Broncos NRL
“Health Partners selected Gomeeki on the basis that the services provided are far more than just an app development house. The relationship to date has delivered Health Partners the benefit of a much deeper insight into digital strategy, the power of Gomeeki’s Ubiquity platform and a disciplined, structured development process. As a customer, we have been delighted with the quality and outcomes to date.Colin LangmeadCIO- Health Partners