1. Establish a connection between the client and the server, including network connectivity, connection between the client process and the server process;
2. The client sends SQL statements over the network to the server to query or manipulate data or database objects in the server;
3. After the server receives the SQL statement, it performs parsing, optimizing and compiling.
4. If the executed statement produces a result set, the server returns the result set to the customer over the network;
5. The client handles the received results accordingly.
In a client/server system, there are two types of database engine structures, namely, the multi-process database engine and the single process, multithreaded engine architecture.
A multiple-process structure is one in which multiple executable programs run concurrently. Each time a user logs on to the database system, a separate instance of the database engine is actually started. There is a coordinated process of coordination between communication to ensure the integrity of the data when multiple users access the same data. The multi-process database engine is typically used on mainframe databases.
The single process multi-threaded database engine is similar in principle to the multi-process database engine, unlike the multithreaded database engine, which is responsible for scheduling the CPU time for each application, not the operating system. In this way, the multithreaded database engine protects itself more than it can.
Oracle Server is a truly multi-process database engine, and the Sybase database management system employs a single process multithreaded engine structure.