The solution to the problem will require a Database Management System (DBMS) as a database will be used to store the originally submitted query, any replies, history of the query and data needed for query management.

Database Management System
There are a number of Database Management Systems (DBMS) available; some of the most widely used ones include MySQL, PostgreSQL, MS SQL Server, MS Access, Oracle and DB2. All except Oracle and DB2 use a Structured Query Language (SQL). The primary function of the SQL language is to support the definition, manipulation, and control of data in SQL databases. Due to the time available for this project only the DBMS that support SQL are considered. Although MySQL, PostgreSQL, MS SQL Server and MS Access use SQL and can be used with most applications, the DBMS themselves differ making it important that the most appropriate one is used in this project.

MySQL is open source and as a result has been developed over time making it a very robust and fast DBMS. It is available at no cost which would reduce the cost of the solution if it was used in a commercial environment. Although MySQL is very robust it lacks some advanced features of SQL such as Triggers. Because of its limited feature set, MySQL is very fast?

PostgreSQL provides more features than MySQL. The main difference between the two is that PostgreSQL has been designed to handle large Databases and therefore implements some advanced features of SQL such as Triggers. Another advantage of PostgreSQL is that it allows you to implement business logic on the database server, which is useful for developing applications that have highly complex business rules. As a result performance is affected making it slower than MySQL.

MS SQL Server
MS SQL Server is designed for very large databases, it can handle a large number of users at any one time and is very easy to maintain through its GUI. Unfortunately it is not freeware and is expensive to purchase. As it is a Microsoft (MS) product it is also platform dependent.

MS Access
MS Access has some similarities to MS SQL Server; they are both platform dependent and are easy to maintain through their GUI. MS Access is designed for much smaller databases and desktop applications and as a result do not handle multiple users very well. Another disadvantage of MS Access is that it does not allow remote maintenance.

Appropriate DBMS
MS SQL Server could be used as it can handle very large databases and multiple users but due to its expense and platform dependency it is not appropriate for this project as it is important the system could be deployed on any platform. Although MS Access is much cheaper than MS SQL Server as it does not handle multiple users very well it would not be suitable for this project as it is important that a large number of users can use the system at any one time. Both MySQL and PostgreSQL can handle a large number of users making it hard to choose between them. Although MySQL does not implement some advanced features of SQL such as triggers, it is faster than PostgreSQL. As these advanced features are not required for this system and speed is important in this system to improve efficiency of the payroll queries MySQL has been chosen over PostgreSQL.



  Distributed Payroll System Home Page

   Previous    Next