editor: Cornelis Robat & Tim Vick (1)
|Introduction to software history|
Everywhere in the world there are collectors. And you may take
it from me; there are A LOT OF THEM. It is very human to have something you
collect. There is nothing abnormal to it, rest assured. In our life, in the
kitchen, or in our desk drawer at home, there is bound to be some sort of collection.
So let's presume you have a collection; if not you, your partner, friend, or family member will collect something.
You, he or she collects books, computers, pictures, coins, baseball caps, coasters, addresses, organs, cars, recipes, pots and pans, a collection of collectibles, or whatever collection that seems to belong together. All the money in your bank account is a collection, too. And the antique cutlery in your mom's cupboard is a collection as well. So if the 'objects' have some connection to one another, or they belong together in some way, it is a collection.
Let’s assume in the years past and to come that this collection of yours has grown dramatically. Just like the picture collection of this site. It became huge!
In a few years you will forget you had this special coin or recipe in your box (and another box, and another box). You will have undoubtedly some duplication in your collection.
So here is a question: how do you find this little precious thing that you are not sure you have? Answer: you need some sort of organization in your collection, a registration! Registering a collection makes the registration of it a "Database".
Have you ever gone to a hotel, airline, or box office at the cinema and you
had a reservation but your name disappeared into never-never land? Well it happened
to me more than once. And did you start to wonder how that could be? You even
ordered via the Internet! Couldn't be more sure, you thought... wrong!
In 99% of all cases your name is there. Your ticket or room key will be handed over or the bus ticket is there at the counter for you. Everything goes well, normally. The way they keep order in this is that businesses (airlines, cinemas, hotels) also collect something: your name, address, age, telephone number, gender, name of your partner, age of your partner, are you a vegetarian, are you Singhalese, American ...
All this information about you is called data and is stored electronically into a document or more precisely: a file. If this file is just a few pages long, there will be no problem finding your information.
But, say a hotel collects data from a lot of people: past, present and future guests. The hotel stores preferences: smoking, non-smoking, what ever. In our simple case study our hotel is famous for its animal correctness, so why not collect the name of the guest's pet, too! Now this will become a lot of "data" that will grow and grow and grow. And again here is the question: how do you find your way in all this information.
Did the receptionist write all this data on a piece of paper?
Maybe the reception desk is organized and the receptionist puts all the names on stock cards? And puts them in alphabetical order?
With a lot of these cards, one or more are bound to get misplaced.
Our study case: Hotel Bincker's
In the last few years Hotel Bincker's has grown from a small village hostel
into a medium sized business hotel in a rapidly growing small silicon village
town. And the desk has no time to keep track of all information needed to take
care of its guests in a proper way. "We are a hotel not an airline!"
is vaguely muttered by the manager after he lost your name again, did not cross
off the room on his blackboard and booked the same room twice.
But after management communicated its concern with losing clients, the manager promises to clean up his act.
Some weeks later when you show up at Hotel Bincker's desk the manager will finger through his agenda which is ordered by date and he will find your reservation. This method works well for a small hotel. Guests are coming back and the hotel's business is profitable again.
But after some years, Hotel Bincker's has grown again. Now it
is a larger hotel with some 100 rooms and the manager is still using an agenda
for each floor, and then history repeats: your name is lost. The manager needs
many minutes to find what room is available. It is obvious that any (paper)
agenda would be too small to schedule over 100 rooms. Hotel Bincker's is losing
its clientele again. This time the manager cannot rescue the situation with
a simple agenda anymore. He starts complaining to his wife and kids, who start
to show him their electronic agendas with all their gadgetry. Now that's an
idea! Still having his old faithful agenda and keeping track of reservations
electronically. But within a day running the hotel's administration on a small
PDA proves to be a useless exercise. The solution is found but something bigger
is needed. The need, however, for an electronic version of a combined agenda
and guest list is confirmed by the manager’s little test case.
So the manager’s daughter Lisa starts browsing the Internet and finds out that a hotel reservation system would be the answer to her dad's problem. Together they start contacting companies that sell or create reservation systems. But for a small hotel like Bincker's with its specific services, no off-the-shelf system seems to be available or affordable. The step from paper agenda to a full blown computerized hotel reservation system is too big for the hotel's management and does not match with the hotel's business culture.
But Lisa learned a lot while browsing the Internet and she starts explaining to her dad how a system like that would work and what such a system can do for his business. Above all, she explained how to plan such a project.
Here is how Lisa started to explain to her dad how to proceed:
Imagine that a hotel is nothing else than a collection of rooms and, like any collection, we need to have some form of registration. Keeping track of rooms in an orderly way can be with a list:
A guest can be entered in that list when he or she arrives at the hotel:
In case we are out of vacancies we can contact our guests via our address list:
Names and Addresses
|Dijkstra||Jan||31 44 345 3666||M||Y||N|
|Romero||Paolo||123 4523 3509||M||Pietro||N||N|
|Rubnes||Jetro||101 4403 2226||M||Vlato||N||Y|
|Voloute||Maria||404 2396 2350||F||N||Y|
The above examples show you how a simple list of rooms and persons gets rid of the misplaced papers. Names and rooms are shown in a particular order, in this case alphabetically, so you can quickly find what you are looking for. These examples are already a small database, see? But remember a database can have any physical form: paper, on a blackboard, an electronic file, or even some tally sticks. (a very early form of some kind of registration in 1310)
The lists we have here can be put on a computer in a word processor document or some tabular sheet like a spreadsheet. These are called files. It is possible to combine those two in any way, already a sort of database. The difference between a database and a file is that there is something extra to it. A database must contain a method, amongst other things, to look up something. Comparable to the databases used by search engines like Google, Alta Vista, or Yahoo that we use to find companies which could sell us a reservation system. The Internet is also some kind of database. And all this information is managed by a database management system, hence DBMS.
Case study: Hotel Bincker
“Our biggest problem is to find rooms that are vacant and the ones that are occupied,” says Lisa. Below I have drawn an example listing for vacancies that can be called with one click of a button:
Here is part of the rooms list with guests who reserved a room for the 20th of December
And here is a part of the address list of persons who made reservations or have been guests at our hotel.
|Dijkstra||Jan|| 14 Pinkerton lane
Deloit, 1234DE Delaware
|Yes||31 44 345 3666||M||Y||N|
|Romero||Paolo||Plz de 5 Mayo 123
|No||123 4523 3509||M||Pietro||N||N|
|Rubnes||Jetro||123 Pole 23
Deliver to mailoffice
|Ye||101 4403 2226||M||Vlato||N||N|
12 rue de la liberte
|No||404 2396 2350||F||N||Y|
When our desk manager wants to have a quick view when a room becomes available, or for that matter occupied rooms, he calls up his agenda in the form of a chart:
This chart is color coded, blue is a guest, green is available,
purple are reservations, yellow is a national holiday or other special day;
mostly meaning prices go up. When our front desk manager wants more specifics
he can open a sub window to search for a room (in all possible combinations:
adjacent rooms, smoke free, etc.)
Or use the more advanced form of a floor plan:
Our front desk manager will have an instant overview of all available
rooms and their configuration.
“That,” concludes Lisa, “is all we need.” Not a complicated system like the Hilton has, but one that offers you the information you need with one click of a button. And one where we can put in the information we have on our guests habits and likes or dislikes.
“So,” asks her dad, “how would we go ahead? What do we need? A scientist? It must be a system that we can maintain by ourselves with no need for expensive consultants with little knowledge of our business.”
And Lisa answers: “You know, dad; we just happen to have an assignment
in our class that just covers your need.”
Instantly a broad grin plays on Dad’s lips. “OK,” he says, “let's see if we can be of mutual benefit to each other.”
So now you have some idea of how most automation projects start: from a certain need and/or a fear of losing business.
Continue to the next chapter where I will introduce some methods and techniques
used to analyze information.
|Last Updated on January 20, 2014||For suggestions please mail the editors|
Footnotes & References
|1||To remind you, these chapters do not serve as a text book on database design, but aims only to give you some insight on how a DBMS is put together and what processes are involve. In a very generic and global way. If you have any suggestions on how to make these pages any better please do not hesitate to contact the editor.|