Programming , Databases and $$$Finance$$$

I am just starting into programming and I have no prior experience in programming jobs or any job.(I'm still 18 and searching for a job.) And I have question in my head that always pops up ,
What is the use of having SQL and DBMS and all those stuff which I don't understand?
Is it a must to have SQL in all finance apps?
And this is a incident which happened to me ,
Once I went to book shop to purchase some stationary then I gave the stuff to the counter then the cashier started to bill.
Suddenly then I wanted to check to see if a book was available so I gave the book title and author. The cashier typed the words into the search box and then computer froze for a second.And the program quit stating some error I think. Then the technical guy came to scene and said that the database and the server got crashed and he said
Good thing we got a backup.
But he said that the cashier is closed for now and you can get a handwritten bill for now.But Anyway they had to feed the data to the server anyway.
Is this how DBMS work or bad programming or bad design or What????
Please Note I have no prior experience in programming related jobs so I might be incorrect. So please don't start scolding me.
msmshazan
So please don't start scolding me.

We have Community Guidelines in effect, so no one should be scolding anybody.
msmshazan
Is it a must to have SQL in all finance apps?


In general, be weary of absolutes. "Must have", "in all", etc. In technology, we play a game of trade-offs. The amount of silver bullet solutions in technology are extremely small, and often don't address interesting problems.

Obviously, in your circumstance, something unintentional happened. That specific instance doesn't comment on the broader world of DBMS. :)

But, the software world can be vastly improved, as you sense, little by little. Here at HMN, we are doing our small part. Welcome. :)
msmshazan

What is the use of having SQL and DBMS and all those stuff which I don't understand?


Well I can't comment on the other stuff but what I can tell you is that database systems (namely Relational/SQL DBs) are built for Handling large sets of data. So, the DB system will be quicker at processing huge data sets, such as 25,000 and up, than using a linear standard type processing in your applications. For this reason, people choose to use these databases, which use a different logic that is based off of set theory. In the end, the databases themselves are still programs written in C and stuff, but the idea is that they are optimized for handling large sets of data at once versus acting on single pieces of data at a time such as in a for loop.

As Jesse said, try to refrain from blanket statements such as "All xyz MUST ALWAYS do/have abc" because there are always exceptions in life. However, databases are certainly a popular choice in financial applications, amongst many other types. This forum we're looking at right now has stored this very post in a database.

If anyone here is interested in writing some database software in C, let me know.

Edited by Todd on
So I'm trying to write a simple financial app I have still no idea maybe maintain the bills of a person.(the idea is not final). I am using nuklear for GUI and in immediate mode.
What should I use for DBMS .
Sqlite or Mysql and why?
If you can then definitely use sqlite. It's much easier to deploy and there is 0 effort for administration/installation.
msmshazan
Sqlite or Mysql and why?

Start out with whichever is easiest for you to implement and test. Then add all the others.

I wouldn't bother with MySQL at all, and instead go directly to PostgreSQL. I work for a very large accounting software provider for small to medium sized businesses, and what we care about in the RDBMS space is PostgreSQL for reliability, portability, security, scalability, and DR.

AWS now support PostgreSQL databases in their cloud-based RDS thing. If you care about clouds.