It is important to remember that relational database management systems (RDBMS) are, as the name suggests, systems for storing and managing data.
They are not the application that runs against the database. They are not the UI (user interface) that people use to interact with the data.
They are not the reports that are run against the database.
As the computing world began to use databases (a long time ago), it soon became apparent that separating the data handling from the application was a seriously good idea. Hence we developed ‘Client-server’ databases; the RDBMS runs on the server and the application on the client.
The communication between the client and the server is very simple. The client sends a request for data expressed in SQL; the data is returned from the server as an answer table of data.
This separation is important because when a new way of presenting data comes along (such as the web browser) we can simply hook that new type of application into the existing databases. It also means that one database can have as many different applications connecting to it as we like.
In addition, the separation compartmentalises the development. Database designers can focus on the design of the data storage and handling. They need to know all about tables, primary keys, foreign keys, referential integrity and all that jazz, but they don’t have to know anything about good UI design – that’s handled by someone with those skills.
Is this an advantage? Well, if you ever look at a web page designed by a database designer (and I include myself), you will be an instant convert to this concept.
At first sight, Access appears to be an exception to this rule. It not only handles the data but also provides form and report tools.
However, Access does separate the two functions. Within it, there is the Jet database engine, which is what actually stores and handles the data. It is possible to completely ignore the UI part of Access and simply address the Jet engine programmatically.
Ultimately, Access is really no different from RDBMS such as Oracle. If you send Oracle (the company) more money, it will also sell you Oracle Forms, which is a component of the Oracle Developer Suite. There is nothing to stop one company fromselling you both the engine and the UI components, as long as the clear separation exists; Microsoft simply bundles the engine and the UI bits together.
So, this separation of church and state is very important, but it doesn’t mean that the development of the database and the application can proceed totally in isolation, as the question below illustrates.
All Software Applications Tags: Databases
