Before going in to much detail, first lets see what is database… by book it is defined as,
Database is collection of useful information
For any enterprise, data is perhaps the most precious asset. It can be any sort of data … say customer information, sales data etc. But random data is only useful when it is properly formulated … and it is called Information. That information can further be manipulated , sliced and diced for further analysis … that is called Business Intelligence (its way too different then Corporate Espionage :-D), but I will write more about it later…
First just basics … Why the hell we need database to store information ?? My word file can store same information easily … right ?? … well answer is … it depends. Here let me explain it,
If your organization is very small (and i mean really small) then you can store all information in any file system (say word documents or pdf files). But what if your organization is pretty big and have thousands of employees and hundreds of customers ?? You certainly can’t keep all records in just a text files. I mean you can actually keep it if you want, but situation gets worse when you want to search any specific record. Say, you want to look for all purchases made by customer start with first name “James” from city “New York” in year of “2008” and month “March” ?? This simply can be done by looking all text files :-D. But it can be done very easily and without any hardwork using any good DBMS.
Another problem with File system is, content write control. Have you ever tried to have two user simultaneously open same file and edit it ? or search any entry in it ?? OS won’t allow it right ?? But in case of database it is not true, two or even more then that user can simultaneously view,search or edit it.
There are other features make DBMS more good candidate for storing data information then file system like … better security management, centralize management, Reliability, compliance with industry standards are few to write.
But but but … even with all these great advantages, still DBMS is not something that everyone can use. It still has some drawbacks like … it requires special hardware and software , special operation skill is also required … so it may be not an ideal choice for very small organization where data is not much important (hmm, i doubt to find such a organization :-P)
This was just overview of .. why we need database. In future posts I will write in more detail about how database works in core and then will write more about the DBMS i work on … Microsoft SQL Server and Oracle.
Also last thing, here I have used Database and DBMS loosely, because DBMS is nothing but just a software that manages databases. For example, Microsoft SQL Server or Oracle or MySql or DB2. So, you guys should think database and DBMS interchangeable here.
Its just a thought …