Does NothingDoes NothingDoes NothingDoes Nothing NowtAdminCase Studiesmodule1Module2Module3Module4Module5Module6Glossary  
nowtPolicy / StrategySoftware evaluationDatabase managementDistributed SystemsNetwork security and accountingHuman Computer InteractionHuman Computer InterfaceSoftware DevelopmentSoftware reliabilityPortability of Datanowt
NowtManaging DatabasesThe database administratorEntities and AtributesRelational DatabasesNormalisationClient - Server DatabasesQuestions 1Questions 2Nowt
 

Client Server Databases

The concept of client server systems relates to a network environment. A server provides a service to applications running on client machines on a network. The clients may be terminals, with little processing power, or they may be computers. In many cases they will be PC workstations.

There are a number of different types of server, depending on the service that they provide. A file server, for example, provides file access or storage services to its client while a print server proves printing services.

A database server provides database services to software running on the network clients. In order to understand this, let us start by looking at a network system where each machine is accessing data stored on a file server but where there is no client server database system operating.

In a non client-server system each machine will be running the full database application. Only the data itself will be stored on the file server. The file server will provide each client with access to the data but it will not be responsible for any database functions such as searching or up updating the data. It will only read the requested data from the file and write back any changes as instructed by the client machines.

In this situation, if a client machine crashes or looses the network connection part way through a transaction, the database might become corrupted. There may be additional problems if several users attempt to access the same record at the same time, particularly if more than one of them changes the data in the record. When workstations are searching or sorting the data then all the data will be supplied over the network to the local machine. This can lead to heavy network traffic in certain situations.

A Client-Server database resolves some of these issues. In this system the client machines do not operate directly on the data. They run only part of the database application – typically the user interface part. This allows the user to input and edit data, set up queries and design reports at the local machine. The database server however is entirely responsible for processing the data. It therefore handles all searching, updating and selection of data. When a local machine runs a query for example, it passes the details of the query to the server. The server executes the query and passes the resulting information back to the client.

This overcomes the problem of data integrity since only one computer – the server – is altering data. If a local machine goes down part way through a transaction it will not affect the database since the server is in control.

In addition, since only the results of queries are transmitted over the network, the amount of network traffic is reduced. When a local machine is editing data only the changes need to be notified to the server so, again, network traffic is reduced.

Another advantage of client-server systems is that less powerful clients are needed since they need only act as a front end to the server, so there may be a saving on hardware costs.

   

©LEV