When writing queries, it's important to understand that the interaction between the tool of choice and the database based on client-server architecture, and the processes that are involved. It's also important to understand which components are available and what functionality they provide.
With a broader understanding of the full product and its components and tools, you'll be able to make better use of its functionality, and also benefit from using the right tool for specific jobs.
In client-server architecture, the client is described as a user and/or device, and the server as a provider of some kind of service.
Figure 3-1. SQL Server client-server communication
As you can see in Figure 3-1, the client is represented as a machine, but in reality it can be anything:
- Custom application (desktop, mobile, web)
- Administration tool (SQL Server Management Studio, dbForge, sqlcmd)
- Development environment (Visual Studio, KDevelop)