Design
Database
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
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
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.
|