Organize a collection of data somehow for later usage and you will get a database. In the last couple of years, with the spread of the Internet, databases have become something you will come across everywhere on the World Wide Web. Most websites have a strong database behind them. With this phase of the web's evolution, if you work in software development, eventually you will need to create and plan a database from scratch. This article is here to teach you and show you what traits a solid plan should have.
To start, we need to separate the concept of data and information. While in the everyday usage these two merge, in the world of databases these are two very separate things. Data is the representation of facts/concepts of stuff that is adequate for human or automatic (by a machine) processing. The information is the meaning that we allocate to the data. For example, a ten percent salary decrease is a piece of data. For the employee, this is a bad thing (information), while for the boss it can be a good thing (also information).
The significance of a given piece of data depends on the current user. Therefore, we can work up and organize a structure for the data. You should leave the determination of the information out of the database, because this it is not always possible at this level. The application that uses the database should handle this (like the Windows/Mac/Linux application or the website).
A database management system is software that organizes and keeps your data together. This should work fast if you have an enormous quantity of data. There are two products from which you can choose currently on the market. There is the free version, MySQL; and the professional and expensive one, available from Oracle.
Actually, in 2009 Oracle bought MySQL, which has therefore become a slimmer version of Oracle's database. You can achieve most of the same tasks in both interfaces. However, you will have to work a lot harder (in the sense of extra code to write) if you take the MySQL path. MySQL is currently up to the fifth main version.
My advice is to travel the Oracle path if you do it for a large company and can afford the extra cash. Otherwise, go for MySQL if you do it for your personal use or the $200+ price tag creates an impediment.