Home » Database Basics » 04 - Databases - Architecture, Management, and Programming
4

Understanding DBMS

Database architecture and DBMS

A data server is the crux of database management; it is a computer or set of computers on which the DBMS is installed. The data server may work in tandem with Web Servers that communicate with the World Wide Web or network service servers that connect the database to other computers. Typing SQL commands on a PC or typing commands through a GUI are not the only ways of communicating with the database. All other servers hooked up to the Data Server through a network may also issue SQL commands and get results using a set methods or protocols. Essentially, any computer or web server that sends SQL commands and requests for data to the data server is called a client; the data server is said to service these requests when it sends back the requested data or information. Data servers are usually configured to organize and store information in a way that is suitable for relational data as opposed to normal file servers that are configured to organize information into folders and subfolders.

The request for information may be encoded within a program. For example, when a user fills out a form on a website, she clicks the submit button and the information that she filled in is sent to the website's server. This information is first processed by the web server. The language used to process this information knows how to decode the submitted information and also to connect to the data server using a protocol called ODBC (Open database Connectivity) or a variant. Once connected, it passes on SQL commands to the DBMS, gets the result, and relays this result to the user on the internet.

Fig 4a: The internet and a Data Server
Fig 4a: The internet and a Data Server

In another scenario, consider our HealthyGym database as an example. The cashier may sit at one PC and send a request for a report through the Local Office Network to the data server that hosts the HealthyGym database. The SQL commands are processed by the server and the requested information is sent back. Sometimes, the user may be working on the PC that contains the database and thus also acts as the data server.

Fig 4a: Data Server and Local Client PC
Fig 4a: Data Server and Local Client PC

The data server contains or 'hosts' the DBMS. The more complex DBMS are closely connected to the operating system; for example, skilled users of oracle may incorporate Unix or Linux commands within the DBMS. One part of the DBMS contains programs that decipher SQL statements and go through data and alter, add, or delete data as required. This part of the DBMS is called the database engine. This particular component is a result of intensive research and programming because it does the lion's share of work and its efficiency is critical to the performance of the database. A DBMS may have additional features that are not part of the data engine such as tools that analyze queries for efficiency, replication and back-up tools, user and security management tools and so on. Each DBMS has its own way of receiving a SQL statement and sending it to the Database Engine. The DBMS will then have a way of translating the answer from the engine and sending it back to the user.

Fig 4c: Database Architecture
Fig 4c: Database Architecture