What is a database?
In this section we will look at database examples. This section also follows on the section on application software because that is exactly what a database is. But first of all, let's answer the burning question, What is a database?
The easiest way to answer this question, is to look at a real life example.
Let's say you have a lot of friends and family. We all do, I know. Remembering all their birthdays can be a nightmare. So, you take a piece of paper and start writing down their names, date of birth, telephone number (You want to phone them and wish them a happy birthday) and cell number (For text messages).
You might also want to add their place of birth, where they stay now and spouse information, just for in case.
You start by writing down the column names or categories such name, data of birth etc. So it's easier to read. Then you would populate the entries, one by one in rows.
After you have written down all this information, you would probably keep it in a safe place such as your bedroom cupboard or wherever. Database Examples Birthday List
You have just created your first database. It's not in electronic format, but it's a database. Before computers, that's exactly how they captured information. On paper and then the information was filed away in drawers.
Databases are just a way of keeping lot's of information in one place or places. The example I used was a paper based system. These days all of this information is digital.
People use database software to keep track of records. This information can then easily be retrieved for further processing such as alphabetical listings or geographic region or debt owed or whatever purpose.
It would be very difficult to manipulate our birthday list cause it's all on paper. Let's say I want to order the list in alphabetical order. In my paper example I would have to rewrite the entire list to get it in alphabetic order. With database software it's much easier. You just click on the name column and specify ascending or descending.
This is what makes databases so powerful. You can organize data in just about any way you want. You can create links between people so that if it's your birthday, then the program can link it up with your wife and send her a reminder as well.
Databases can be quite complex, and therefore people specialize in what they call, "database design". Our birthday list example is not very complicated but imagine a financial institution with millions of customers.
These customers take money out of their accounts, they deposit back, they move money around and so on and so forth. The database has to keep track of these transactions.
Application developers need to know how these databases work in order for them to extract this information. They do this with a language called SQL or Structured Query Language. It's a programming language specially created for databases. Initially it's quite easy to learn, but it takes years to really understand and program well with this database programming language.
Developers might use a web form where users have to enter specific information in the form. After you click "Ok" or "Continue" then the information will be formatted in the SQL program and sent to the database. This is called a SQL query. The query will then extract the relevant information from the database and display it on your screen.
Let's use my paper birthday list again. Let's say you decide to enter the information in a database. Your database entries would look something like this:Database Examples Tables
You can now access the information via SQL. You want to do a query on who's birthday's it is in August. You would then use a syntax similar to the following:
SELECT Name, Surname FROM Birthday_list WHERE Month = 'August'
The above query is just to show you what SQL looks like. There are thousands of references on the web on how to program using SQL. Don't break your head over it, sit back and relax. My aim here is to show you database examples and not how to be a database designer on a single page.
After you enter this query into the database, it would bring up a list of names of people who's birthday it is in August, which is "Peter" and "George". Quite clever.
As you can see the language is quite simple to understand. It's almost like you are talking to the database. I'm getting a bit weird now, so I'll just move on.
You create a table with related information to store your data in. In my example I called it, "Birthday_list". I then created columns or categories such as name, surname and date, and entered information in rows. All of this information in the rows are related to each other. They contain the same set of information such as name, surname etc.
This type of database is also called a Relational Database or RDBMS (Relational Data Base Management System). This type of data base is very common and lots of vendors use this type of database.
This page is not about how databases work, so I don't want to go into too much detail. But I hope you get the idea. While it sounds clever and simple it has it's drawbacks.
For example, imagine you have millions of people in a database. Imagine how long a query like this would take. The query will start from the top and scan each database entry in sequence. I have only used 5 fields, a real database might have much more than that.
This could choke the server and take a long time to process. That's why financial institutions run their database on big servers that can crunch this data quicker.
You can also create other tables so you don't have one big table. Financial institutions probably have hundreds of tables that point to each other. This also make searches easier and faster.
The other great thing about these relations is that you can build smaller tables with existing data and then mine these smaller tables for information. But with millions of records, this could still be time consuming.
Oracle has overcome this problem with their Exadata database machine. The Exadata is a server that consists of smaller servers stacked in racks. These smaller servers then take the query and processes small pieces of it.
This method distributes the load over multiple servers instead of just one. This is a very clever design and Oracle claims that their Exadata database machines can run 10x faster than traditional databases.
Keep in mind that before relational databases you had to use, what is known as, "flat file" databases. This is just a normal file where the fields are separated by delimiters such as commas and pipes.
Here is an example:
Name, Surname, Day, Month, Year|John, Doe, 18, April,
1968|Sarah, Johnson, 20, March, 1975
Not very nice. It's messy and if there's lots of records, queries will take a long time. I'm not even talking about sorting and so on.
Great stuff. I know a little more, but give me some database examples.
We already talked about Oracle. They have been doing databases since I can remember. They also have a whole suite of applications that runs in, and around, their databases.
Just have a look at their website. You almost drown in all that they offer.
In my view the Oracle Exadata Database Machine is the way to go if you want to run Oracle database software fast. Oracle has really pulled out all the stops with this system. The second version of the Exadata uses Sun hardware. Well, Oracle bought Sun, so it's only logical that they would then make the Exadata with their own hardware.Database Examples Oracle Exadata
It runs Oracle RAC (Real Application Cluster) as the database with infiniband switches and connections to the storage servers. The storage servers are really servers with storage.
The whole idea behind the Exadata is to spread the queries amongst the different servers and storage systems in the system.
It's not just about the hardware. Internally Oracle engineers have developed other technologies that works specifically with the Exadata such as smart scan processing and hybrid columnar compression. Database Examples Exadata Logical View
Remember one thing though, the Exadata is a database machine. It runs the Oracle database. People think they can buy it and run any application they want. Not true. You run Oracle database on it and nothing else.
If you want to run applications or cloud environments, then rather get yourself a Oracle Exalogic system. It works on a similar principal as the Exadata, but is designed specifically for applications.
It runs Oracle linux and Oracle Solaris 11 with the normal infiniband network.
Have a look at the Oracle website if you are interested in these two systems. They don't come cheap, but if you want to make your database fly, get it.
Oracle is not the only company that are database examples. There are other companies such as Sybase and IBM that sells database software. But these database examples cost a lot of money and if you are just a novice starting out, then you would probably look at something cheaper or even free.
A great place to start is a database called, MySQL. It's free and you can even download the source code if you really feel like it. They have a wealth of information on their website at www.mysql.com.
There are actually a lot of other database examples. From free to very expensive. It all depends on what you want to achieve.
I hope I have given you a better understanding of database examples and how they work.
Return from Database Examples to Basic Application Software
Back to What is My Computer