AI Glossary / Data engineering and architecture / Beginner

Database Client

Definition

A database client is a program or software component that requests database services, such as running queries and receiving results. In a client-server database system, it communicates with the database server through a supported interface or protocol.

What it means

The client may be a graphical administration tool, a command-line program, a website's backend or a library used by another application. A person using the application is not necessarily the database client in the technical sense.

For example, a browser sends a request to a website. The website's backend then queries a database. In that interaction, the backend acts as the database client even though it also acts as a server for the browser.

The client role does not require a separate physical computer. Client and server processes may run on one machine or across a network. Embedded database designs use a different arrangement, so do not assume every database has a separate network-server boundary.

How it works

The client establishes a connection using information such as the server address, database name and authentication method. A driver or client library implements the supported communication details. The client submits commands and receives results or error information.

The server checks the authenticated identity and applicable permissions, processes accepted requests and manages its data. The client must interpret the response correctly, including whether a transaction committed or a connection failed.

Connection management also matters. Applications may reuse connections through a pool rather than open one for every request. They must still manage transaction state, timeouts and session settings correctly. A client library's ability to send SQL does not establish that every generated statement is appropriate for the user's intended task.

Three practical examples

1. Editorial website: the backend retrieves the published article for a selected glossary term and sends the resulting content to the browser.

2. Reporting tool: an analyst's desktop application connects with a limited account to read approved reporting views and display charts.

3. AI assistant service: a controlled application component submits an authorized, parameterized lookup for relevant records, then passes suitable results to a language model.

Think of it this way

Think of a customer placing a request at a records counter. The counter checks what the customer may receive and retrieves the relevant records. A database client similarly requests work from a server. The analogy is limited because clients can automate thousands of requests, maintain transactions and handle protocol-level failures that have no simple counter equivalent.

Worked example

A fictional glossary site receives a browser request for term T42. Its backend validates the requested identifier and uses its database driver to execute a parameterized lookup for the published article associated with T42.

The database server returns one approved article record. The backend formats it for the website and sends the page to the browser. The browser never needs the database password for this design.

If the database account is permitted only to read the relevant published-content view, that permission limits what the backend connection can retrieve. Hiding an edit button in the browser would not provide the same protection.

If no article is returned, the backend must handle that result explicitly. It should not treat an empty result as proof that the term never existed; publication filters, permissions and the selected database can all affect the outcome.

Illustrative case study

Illustrative fictional case: Harbour Reports installs a graphical database client on an analyst's laptop. The analyst expects the tool to contain a local copy of company data, but it is actually querying the shared reporting server.

The team clarifies connection names and environments and provides an appropriate read-only account for reporting. It also explains that exporting results creates a separate file whose access and retention need management.

The fictional lesson is that a client interface can make remote data look local without changing where authoritative records live. The case does not imply that every client is read-only or that installing a client automatically grants access to any database.

Common misconceptions and mistakes

Do not confuse the client application with the database itself. Do not assume a successful connection grants permission for every table or action. Do not store unrestricted database credentials in browser code intended for ordinary users.

Avoid treating a timeout as proof that a write did not happen: the server may have completed it before communication failed. Retrying writes requires appropriate application logic. Do not assume parameter binding alone provides authorization; it separates values from query syntax, while access decisions remain a separate responsibility.

Business use

Use a database client appropriate to the task and supported database interface. For operational applications, define the minimum necessary permissions, connection settings and recovery behavior. For interactive tools, make the selected environment visible so users know which system they are querying.

In AI applications, place generated query proposals behind deliberate validation and authorization. Record relevant request context and results without unnecessarily exposing sensitive values in logs. Test empty results, rejected requests and interrupted connections, since correct handling of those cases is part of a reliable client, not merely a successful demonstration query.

People also ask

Is a database driver the same as a client?

A driver is usually a component that enables client software to communicate with the database. The full application using it may also be called the client.

Can a server application be a database client?

Yes. Roles depend on the interaction. A web backend can serve browser requests while acting as a client of a database server.

Does closing the client delete the database?

Normally no. Closing a connection or application is different from issuing a command to remove data. Uncommitted work and session resources follow the database's transaction and connection rules.

Check your understanding

A website's backend queries PostgreSQL while the user's browser displays the returned page. Which component is the PostgreSQL client in that interaction?

Answer: The backend component using the database connection. The browser is a client of the website, but it need not connect directly to PostgreSQL.

Related terms

  • Client-Server Architecture
  • Database server
  • database driver
  • connection pool
  • query
  • authentication
  • authorisation
  • transaction
  • parameterised query

Learn next

Trace a request from a user interface to the database and label each client-server relationship. Then learn how connection parameters, permissions and transactions work in one supported driver. Practice distinguishing no results, permission errors and connection failures before adding automated retries.

More in Data engineering and architecture

  • Data Warehouse - A data warehouse is a data-management environment organized primarily for analysis and reporting, often integrating current and historical information from...
  • Data warehouse automation - Data warehouse automation is the use of software to generate and manage repeatable parts of a data warehouse's lifecycle.
  • Database - A database is an organized collection of data that can be stored, accessed and maintained as a coherent whole.
  • Database-as-IPC - Database-as-IPC means using a database as a channel for inter-process communication: one process writes information that another reads to discover work or...
  • Database connection - A database connection is the communication context through which a program interacts with a database.
  • Database design - Database design is the process of deciding how a database will represent, organize, relate and protect information so that it supports its intended uses.

Sources

PostgreSQL, architectural fundamentals and client-server roles: https://www.postgresql.org/docs/17/tutorial-arch.html

PostgreSQL, libpq client library: https://www.postgresql.org/docs/current/libpq.html

PostgreSQL, connection-control functions and parameters: https://www.postgresql.org/docs/17/libpq-connect.html

SQLite, contrast with an embedded serverless database engine: https://www.sqlite.org/serverless.html

Website and reporting scenarios are original fictional examples.

Previous: Database-as-IPC Next: Database connection

  • Home
  • Daily AI Updates
  • Blog
  • AIFBL Academy
  • AI Glossary
  • Products and Tools
  • Store
  • Free CFO AI Prompt Pack
  • About Shihan Sheriff
  • Privacy Policy
  • Terms of Use
  • Refund Policy
  • Cookie Policy
  • Earnings Disclaimer