Database Design
Posted on: July 15th, 2008 by adminA database needs to be engineered in much the same way as software. In reality it is software built with a RAD system. A database is a collection of data items collected and organised in a logical and efficient way. This ensures that data retrieval is quick and accurate.
Client – Server
The client server architecture is where many client applications query data sitting on a server database. The database must follow certain rules but typically can cope with multiple requests at the same time. Deadlock must be avoided at all costs.
Whereas most modern databases cope with deadlock it requires thought and design to avoid one client amending data when another is removing it. Therefore the key to any good database is a good design. Poorly written, a database can cause any company major headaches.
Open Database Connectivity (ODBC)
ODBC is the term given to database programming that is non specific. In short it allows the design of a system around a generic database. What this means is that a system can be easily scaled dependent upon the requirements at the time.
The reality of this is that a company may choose an ACCESS Database (which is not a client-server system) to start with and scale upwards to a fully laden SQL Server or MYSQL. The code should not, if designed properly, change.
Deadlock
Deadlock is where two clients want the same piece of data at the same time. The database gets stuck as it doesn’t know what to do first and therefore may either return an error or worse still require a reboot to clear the problem.

