Introduction to database fundamentals
More and more of today's applications need to handle large amounts of data. Some have done this for a long time - the transactional systems that businesses use to manage their processes are obvious examples. Some companies have hundreds of thousands of customers; each customer may interact with the company on many occasions generating millions of sales; over several years, the company might accumulate billions of records that all need to be stored, reported on and occasionally searched.
All social networking sites store the interactions between members in a database. Again, for a popular site, the number of interactions could be astronomical, and they all need to be available at a second's notice when a user's page is accessed.
In fact, any activity which needs to track large amounts of data will do so using a database - think of ticketing operations, airports, sporting venues, cinema scheduling, university administration, mp3 downloading, the electoral register, and so on...
Database technology is not exciting. It is not new or cutting edge, but if you don't know how to use if effectively, you will severely limit your understanding of the way many types of system work. Whether you are a system developer or an end user, this is a technology you need to understand.
This first set of notes goes through some of the basic ideas on which database systems are based. You will notice that there is a lot of terminology associated with the subject, and it is a good idea to learn to use these terms properly. Technical terminology allows you to express complex ideas quickly and precisely. If you use the wrong terms or you use terms incorrectly, there is a risk of misunderstandings and hence errors in the project you are working on, and time is wasted on clarifications later. Another good reason to learn the correct terms is that you needs to show other people that you know what you are talking about. Would you trust a systems analyst or developer who did not know the right terms?