What Is Database? How Does Database Work? How Can You Develop Your Own Database?
What Is Database?
Basically any database is considered as an organized collection of structured data or information that is stored electronically in a computer system. Database Management Systems (DBMS) controls the database. The data, the DBMS, and the applications that associated with them are referred to as a database system, which is commonly abbreviated to just database.
To make processing and data querying efficient, data in the most popular types of databases in use today is generally represented in rows and columns in a sequence of tables. Data may then be accessed, managed, updated, regulated, and organised with ease. For creating and querying data, most databases utilise structured query language (SQL).
How Does Database Work?
Potentially, you can just make an app with a search bar, where you can type an email address and then the app will send that request to your api, which will then translate that request into a database query that will fetch you whatever information you're looking for.
Whether or not you should have your own personal database?
We are not talking about google drive here, we are talking about your own personal hyper customized database that you have full control over. If not then let me show you why you should have your own database?
Why You Should Have Your Own Database?
So the most compelling reasons why you might want to build your own database. Basically because it's just a really great skill to have. Once you have a database there's just so many things that you can do with it. On top of just having the skill of being able to build one.
You May Also Like:- What Is RAM? Different Types Of RAM.
Creating a database on its own can be a really good thing to add to your portfolio and it will really add some credibility to your resume as well, which will help you get more jobs.
If you're able to do all the things as described previously then you'll basically be able to do like full stack development. Even if you won't be an expert at it, you'll still have enough knowledge to be able to put together your own mvps or minimum viable products.
It will stand for your own startups which is such an incredible empower. Incredibly empowering thing to be able to do and you get all these benefits from just a simple act of actually trying to build your database.
Still we haven't gotten to the part of the incredible usefulness of the actual database itself. All those previous benefits are just from the act of trying to build it.
About having your own database, you can think of it almost like a google drive on steroids. Because what you can do with the database is that you can create relationships between different things.
Benefits Of Having Own Database
One use case could be to store information about people you email with. You can store their email address and connect that to their name, home address, age, birthday. Maybe you also want to be able to add or make a few notes about that person. So that you can easily remember who it is and what they do or what they're about. Maybe you also want to add some sort of tagging system, so you can find people quickly.
You Might Also Like: Coding vs Programming vs Development : Key Differences
Imagine that every time you make a new friend or someone emails you, you make a new entry into your database with their name, a few notes about what you know about this person and maybe a tag that says what this person works. In the future if you're looking for a person who does what that person did, you can simply search through your database for that tag and you'll find that and some information about that.
You might find useful because how often have you said the sentence like i probably asked this question before but what were you studying again or what did you do for work again. That sort of question is something that's very common. We think and we know that we've done that a lot and it's sort of embarrassing, because you know that you've probably asked that question before and they probably know that they've answered that question before. But you still have to ask it because you don't remember with your own personal database.
By creating your own database, you can basically create your own system where you can write down some basic information about the people that you meet. You can have something, where before you meet up with someone, you just read through that a little bit and you can see that okay this person studies this or this person does this for a living. Then once you meet up with them you can actually ask some more specific questions related to the topic.
You could also create a system for setting your own reminders
Maybe you want to send an email to a certain person or call a certain person three weeks later. You can create a little feature that lets you set a reminder for that. You can also set reminder for people's birthdays, maybe even an automated happy birthday message.
This is just some of the things that you can do within your database in regards to people. Further, you can also store things like photos notes and lots of other things.
So the thing is that a lot of these things can definitely be accomplished with google drive or similar services like that. They're probably or most definitely easier with the google drive or other services/other options but the idea is not for it to be super easy. The idea is that it should be more like a passion project where you get excited about the thought of like creating the most like hyper useful, super customized version of a database for yourself that is perfect or a perfect fit for your specific needs.
How Own Database Will Stand Different Than Others
So in that way you can think of google drive as like the suit if you purchase a suite from a shop. It's just that it's not going to be tailored to one specific individual. It's basically going to be made so that it fits most people pretty well. But it won't fit any specific person perfectly or most people won't fit that specific suit perfectly, compared to like a tailored suit that will fit just one individual absolutely perfectly. So that's kind of the idea about this.
Steps To Build Your Own Database
You can create your own api for the database you can run a local web server to host your database and api on.
Once you've done all this, build your own app for your database so you can access it, Super easily via your phone.
How Can You Build Your Own Database?
It's a passion project more than anything so how can you do it?
First off all, you would start by creating constraints what do you want to actually store in your database? You can always add more things in later so we suggest starting small. If you've never built a database before maybe just with email addresses and names of the owners of those addresses for instance, that's a great start. Now figure out what type of database system you want to use.
If this is your first database then we recommend spending just a little bit of time researching the most commonly used language for databases. The most common language for database is SQL. Now just commit to spending like an hour or two hours researching and learning a little bit about that language, just to understand a little bit about the basics of how it works?
After you've spent just a couple hours learning you're ready to get started. Figure out how to create a database, how to add new things into the database or the table?
Once you've learned how to create some basic tables and how to add some data into those tables, then we suggest looking into some Python libraries for creating SQL databases. This makes things work a little bit smoother. At least after you've done this you're done and you have your own database. It will take just five minutes to do, if it's your first time to build a database. If you're pretty experienced it won't take your five minutes to build a database of your own.
Still, this is a bigger project and you shouldn't be scared of it, you shouldn't be afraid that of like attempting it, because even attempting it and failing will give you so many valuable things. You'll learn so many valuable things in the process of actually trying. So really don't be scared to try and fail because the actual act of trying it will be super valuable for you. If you've succeeded, then congratulations you have your own database. Now you might want to be considering like creating a simple python script that will actually give you like a command line, text interface to interact with. This database is not necessary but you could do it.
Now if you want to take this a step further, its our recommendation to learn, how to create an Application Programming Interface (API) for your newly born database?
What Is API?
An API is basically just an interface between an app and a database. The API is what allows communication to happen between your app and a database. Somewhere, it's almost like a translator, we send our code to the API that translates this code to SQL which is what our database understands. Below the link to resources on each topic is provided you can take help of those links.
After you've created your API, you're now ready to create an application for that API and for your database. If you think of something like facebook for instance, facebook is essentially just a database under the hood where it has a lot of information, like information about your friends, your photos that you're tagged in your relationship status, regular statuses, lots of things. Essentially, that's how most social media apps works actually, like instagram tiktok, youtube and others. Whatsapp is also an example that is a database under the hood.
Essentially the facebook web application and other mobile application is basically just there to take whatever is in the database and display that to the user. In a way where the user can actually interact with it. A little bit easier compared to having to actually, you type in sql commands to find your friends and photos of your family. You should use flutter to build a mobile app that you can use to talk to your database.
If you will successfully developed your application with database then it will great opportunity for you, your portfolio and your resume. If you are searching for a job as programmer then you will easily get job too. Because most employers actually looks for programmers that are just passionate about programming, that's something, that's super important to an employer. If they can see that you're actually working on projects and taking on these like ambitious tasks or just doing it in your free time that will be huge bonus points to put on your resume.
Resource cheat sheet for creating rest api’s with flask: