Articles

Databases, an Introduction

In Database Systems on August 27, 2010 by Muhammad Haadi

Welcome to the exciting world of database development! In this series of articles, I will introduce you to databases and help you knowing how to effectively use them.

According to my opinion, if you are reading this article, you must have the basic know how of a file system and you must have heard of databases.

Now, first of all, we’ll start by taking a scenario to understand the problem, and then find its primary solution, moving forward step by step, will finally hunt down the best possible solution available to fulfill our quest.

The story starts with you n me, starting a small store in which we have to maintain data of daily sales.

Primarily, we are using the manual system [file system] for keeping record of the sales. What we do is just add the daily transactions in our register and at the end of the day, simply calculate the total. Things go on this way for a while, but now we plan to enhance our business.

So, as our business grows its requirements increases, like we’ll need a bigger place to settle our stuff, we need more staff hiring and so on. Moreover, we are trying to computerize our system of storing daily sales data.

For this, we shall move forward to the computerized system of maintaining data in simple files. After doing this, things go on the same way as before. We have merely added a computer system to our store.

One day, there arises a problem at the store. We come to know that the employee we hired a month ago was stealing money from the sales, for verification, we need the detailed report for the whole passed month.

Here, the hitch is that the data was stored in files. There is no security check, no back up, nothing to gain from the investigation what so ever.

Assume another concern; we need to have more than one check out to facilitate our customers. At the end of the day, employees calculate the total by simply combining the records and finalize the day’s sale. We plan to give money off on some of the items that have good sale. For a list of such items, we definitely need a report, which would be the most difficult one to be made by manual calculations from each checkout, and our simple files do not provide us the facility to generate us a combined report of the checkouts in any way.

Now, keeping in mind the above two scenarios, just imagine what a chaos these simple files would create. Therefore, what we need is, an improved record keeping system, other than the simple file or flat file system.

Consequently, this is the right place for a database system to jump in.

From the above case study, one thing is very clear that a database system is not just used to store data like files; it facilitates us with security, back up, reports from calculations, data manipulations and so much more of course.

Punch Line: Files store data; database manages and manipulates it as well.

Database – Definition:

Here we have a formal definition for database, you don’t need to learn it by heart, just understand the concept.

Data: Data are raw facts that constitute building blocks of information.

Database: Database offers an organized mechanism for storing, managing and retrieving information from a computer system.

Fundamentals:

I am about to state some of the fundamental concepts that will assist you in differentiating amid files and databases.

  1. Data Redundancy: same data resides at more than one place
  2. Data Inconsistency: different records of one person, maintained in two separate files
  3. Data Integrity: data remains consistent before and after transaction (transaction – a complete input, processing n output cycle)
  4. Security Enforcement: verifies authorized access

Files:

Now we shall see what the shortcomings of file are:

  1. Data redundancy is there as there is no centralized system.
  2. Data inconsistency lies because there are multiple copies of same data, you might change one, but you can’t update all of them.
  3. Data integrity cannot be maintained as there isn’t any concept of transaction.
  4. Security is nil; there is no concept of users and their access rights.
  5. Also, files cannot be updated as per changing requirements; you have to make a new file in order to take in a new necessity.
  6. Deleting any record from a file also needs such things – no express way.
  7. Multiple users cannot access a file at the same time.
  8. No sharing of data since everyone maintains a separate copy of file.

Consequently file comes out to be a totally unstructured collection of information.

Databases:

While viewing the other side of the picture, we can see that:

  1. Redundancy cannot be uprooted at all; rather it can be minimized using databases.
  2. In a centralized system, data is always consistent.
  3. Integrity issues are resolved as data integrity is one of the building blocks of database – a database act is basically a transaction.
  4. Security is one of the crucial problems handled incredibly in databases since one can grant as well as revoke the access privileges of every user according to the requirements.
  5. Centralized system eliminates the hitch of separate record maintenance; any new thing introduced in the system can make its room in the existing database.  Hence data manipulation becomes a piece of cake.
  6. As the system is centralized, a huge number of users can access the database simultaneously.
  7. Data sharing is unproblematic as everyone accesses a separate copy of the same data.

N I guess that’s it. This is all the vital knowledge one must have in order to advance in this field. In my next article, I’ll share the history and evolution of database.

Advertisements

32 Responses to “Databases, an Introduction”

  1. Good job haadi bhai…….
    good but so simple design…….it will be very good if you add some other references justifying your ideas completely…..AQlso visualize your views along with your articles………likewise dara redudancy etc…….
    overall great job…keep it up:)

  2. Hi ;
    its nice article for begginers ..
    Easy and Simple to understand….

  3. Hello, Haadi
    You have really done a great job, Inshallah it will be a great help for the new one’s who have interest in Database. Gud Going. Keep it up!!!

  4. great work sir,
    is article k start ko parh k lag raha hy k kafi kuch seekhne ko mile ga… good
    keep it up….

  5. bhai u did a great job !!! and it is quite easy to undersatnd

  6. Asalam-O-Alikum

    Hadi Nice Article. Please further increase it with more articles.

    Best Of luck.

  7. Aslaam U Alikum!

    That was a great effort Hadi. Keep it up. But there are few recommendation:
    1. Don’t use the sms language as it is formal article.
    2. More emphasize on database models, an introduction of database should include the part of it.

    Otherwise brother great job, you will learn a lot from it.

  8. U are doing a great job!
    Keep it up!
    One suggestion:
    Change the bakgroud of the page.
    🙂

  9. Make the page for programming also.

  10. Good work Haadi…!

    Simple yet interesting… keep it up and keep writing more in this series.

    I have a website PHPDone.com where we are focusing on PHP and related (obviously databases as well). You can contribute to it as well, anyways.

    Thanks for this article.

  11. Hello Haadi,
    well I am really glad to read it, I appreciate your work. Examples are quite good, The way you have written this article is also good.
    Let me improve your DB definition; as the major aspect of DB is missing in your current Definition, I hope you won’t mind it at all.
    The definition should be, ” Database offers an organized mechanism for storing, managing and retrieving information from a computer system to avoid the DUPLICATION(redundancy) of data.”
    I’ve gone through your article, You have discussed the DB redundancy but haven’t given any example of it.
    Managing, storing or retrieving data are not the major aspects of DB, you can do these things without making any kind of DB, you can do it by any file system i.e. File handling, XMLs etc, the major aspect is avoiding redundancy.

    Try to give some examples of redundancy and baaki everything is mashallah perfect.
    Good job haadi.
    I hope you’ve understood what i am trying to convey.

  12. One more thing which I forgot to mention is, when you’d start explaining DML and DDL, then don’t forget to add some visual aid i.e. Youtube videos. Visual aid helps learners to understand the concept easily.

    Regards

  13. Hi Dear,

    I would like to add more salt in Attiqe’s & Shoaib’s comments.

    First of all try to differentiate between data & information with examples. If we have raw data & we constructed information from this data, but this information will quit data for someone else. So try to let the people know about the clean and simple concept of it.

    Secondly, use examples as much as you can, and if possible to add more salt, try to add some graphical examples.

    I appreciate your best effort,

    regards,
    Muhammad Ali

  14. Salam Haadi Bhai.
    awe-inspiring topic I’ve ever read in such a simplistic way about DB; that’s why I’m here at this page 2nd time again.
    Please do post some stuff about ERDs.

  15. Salam,

    for this page the contents u have provided are i guess enough for beginners bcoz if u’ll provide with more stuff then it will get a little harder for beginners to digest.
    In ur upcoming blogs do use graphical representation of few concepts then it will be easier for ppl to understand … and try to keep the things precise as u have done in this one.

    And well done haadi… u have really done a gud job.. keep it up

  16. MashAllah really simple yet a good starting.
    Waiting for next article.

  17. Assalam o Allykum, like all, surely I appreciate your effort Mr. Haddi.
    Well nice and simple combination of words to transfer your precious thinking.
    Please proceed. If anywhere you go wrong, surely we will help you.
    Stay Blessed.
    Muhammad Mohsin Aheer.

  18. AOA…
    Haadi bhai Great Job.. Really … Your article is very useful n the way you explained in this article is quite effective .. Especially the examples that you mentioned are all good. 🙂

  19. i have great interest in database n i love to read such “easy to understand” articles on DB as u have written.
    please add some artciles on Data Warehouse, ETL etc. thank you !
    p.s. thumbs up for such a great effort !!!

  20. Haadi its really a great effort of spreading knowledge about databases concepts. It will be haelpful for many students ofcourse. Thumbs up for you ! HUMAYUN HR OZITECH

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: