In order for us to discuss this subject intelligently it helps if we identify and define certain core concepts we’ll encounter in the subject matter. In this chapter and the related chapters to follow this one we are concerned with various aspects of a database. You’ll fine as you work in this field that many people especially end users get a little bit fuzzy in their use of technical terminology. That lack of precision leads to misunderstandings, problems and errors which are more difficult to solve without an ability to accurately describe them to others. So as we encounter more concepts throughout this and others chapters I will attempt at least briefly define the terms we use for describing concepts and operations in that topic. That is the process we will begin in this chapter. Here we’ll deal with just a few very basic terms but there will be plenty more as we dig deeper.
So just what we mean when we talk about a database, in the most general sense, we are talking about a collection of information. But that can be anything from a box of receipts or even scraps of paper and other things with writing scratched on them to far more sophisticated computerized systems like those we were exploring in this chapter. So collection of information isn’t a very accurate description in this chapter we are discussing structured collection of information. Which further implies that we can work with that information more efficiently. So we’ll have to learn about how to structure the data among other things. The software that we use to deal with our collection of information is called a database management system (DBMS). The DBMS is not the database. It is simply the tool we use for working with the database. It provides access to the data as well as many administrative mechanisms for protecting the data. We also work with the database server through an application, this provides an interface that make tasks easier for end users who don’t understand all of the programming constructs involve in accessing data. However because the application is the only thing the user sees many people end up merging the concept of the database, database management system and the application in their conversation, that’s where the fuzziness in the terminology comes from.
The most prevalent DBMS in use today are based on the relational technique of database management. That term does not mean that we can relate rows in one table with rows in another as commonly thought, it means the philosophy behind the way we structure data based on the mathematical concept of relation from set theory. A relation is a collection of tuples of data that are true in a specific context or operation. In this philosophy a table is a relation that is stored in the database. A result set is a relation that we derived from that tables of the database. This is the foundation of database management system. The database management system is often referred to as a relational database management system (RDBMS).
The most active part of the database management system is called the server. This is the center software program in the system and the one that actually manages the database. Again many people get a bit fuzzy on term as well. The server is not the computer hardware which the data is stored, it is the software program running on a computer we called the host computer or machine for the server. There are additional programs called clients that are also part of the system. The server, the client programs that give us access to the server and the database that the server manages could possibly all be located on separate computers or they all could be on the same computer. The important thing from our point of view is the interaction among them.