AS/A2 Computing: Classifying DBMS
DBMS systems can be classified into file/desktop database systems and client-server database systems.
File/desktop database systems
- More than one user works on the same database, and the server acts as a remote storage disk.
- This can cause a problem as two users may want to change the same data two different values and this will clash when the users come to save. Alternatively one user may be viewing data and the data change while they are viewing it.
- To stop these contradictions:
- The database can be "locked" while one user edits it. This involves locking the entire file, a table or record. A *.ldb file is generated by Access which Access uses to write "notes" to other users locking them from changing given data in the database.
- An error message or warning can be displayed.
- What happens is controlled by the DBMS or options the user sets in the DBMS.
- This works for a small number of users but the use of a locking file becomes inefficient as there is high network traffic (as when a user opens the database a large part of the database is coped across the network into clients memory) and no process has priority so all users are fighting over the database. Logging is also not possible so no transaction file can be created.
Client-server database systems
- Database software (such as MySQL, Microsoft SQLServer or Oracle) is now running on a single server.
- Clients run a "front end" application.
- One process is in control to read write and copy data on the server.
- Client send SQL statements to the server to request data (entire database not transferred as before so network traffic is reduced).
- The server processes these requests and sends back data or confirmation of changes if appropriate.
- No locking file is used though logging is now possible allowing a "rollback" to an earlier state undoing operations. For example if a client were executing a script and then they were disconnected from the server or conflicting messages are sent.
- Can support thousands of users efficiently.
- Requires a much more powerful server as the server must do lots of processing, not just act as a file server.
Key terms:
- Database server: a server running a single process to access a database, through which clients communicate with the database via means of SQL.
These notes are from a lesson on 25/06/2004.