DEV Community

Cover image for The Difference Between Data Access and Data Understanding
Gia
Gia

Posted on

The Difference Between Data Access and Data Understanding

Having access to data doesn’t necessarily mean you understand it.

A company can give you access to its database, provide a SQL client, share documentation, and grant every permission you need — and you can still have no idea how to answer a simple business question. That’s because data access and data understanding are two different problems.

Access gets you in the door; understanding is knowing what’s inside.

Access versus understanding

Data access is easy to define

Data access is about being able to reach the data: database credentials, permissions, a connection, tables you can query, and a tool for writing SQL. Connect to a PostgreSQL database and you might immediately see:

customers
orders
products
payments
Enter fullscreen mode Exit fullscreen mode

You technically have access. But what happens when someone asks, “how many active customers made their first purchase this year?” Having access doesn’t automatically tell you how to answer that.

Access doesn’t tell you what the data means

Consider a customers table with columns idcreated_atstatustype, and region. You might assume status tells you whether a customer is active. But what if status = 1 means the account is verified rather than active? Or maybe type is what determines active. The database will execute your query without ever explaining what those fields mean.

‘status = 1’ runs fine — but the database never tells you what it means.

A cryptic status column

What understanding data actually means

Understanding data means knowing the context behind it — what a table represents, what each column means, which tables are related, which fields should be joined, what a given status stands for, which records to exclude, how often the data updates, and what business rules sit behind the numbers. In short:

Access tells you where the data is. Understanding tells you how to use it.

The SQL can be correct and the answer still wrong

Say you want monthly revenue. You find an orders table and write:

SELECT SUM(amount) AS revenue
FROM orders
WHERE order_date >= '2026-01-01';
Enter fullscreen mode Exit fullscreen mode

The query runs. No syntax errors. You get a number. But what if amount includes cancelled orders? Or refunds? Or test orders? Or the real revenue lives in a separate payments table? The SQL is valid; the result can still be completely wrong. Query correctness and data correctness are not the same thing.

Why schemas get hard to understand

A database rarely stays small. As companies grow, they accumulate new tables, legacy tables, temporary tables, reporting tables, historical data, several versions of similar datasets, third-party integrations, and inconsistent naming. Eventually you meet something like this:


Six tables, one question — and the database won’t tell you which to trust.

Six near-identical customer tables

Which one should you use? The database doesn’t say. Someone who has worked with the system for years might know instantly; a new developer might spend an hour investigating.

Documentation helps — until context changes

Documentation and Data Catalog? are valuable: they explain table definitions, column descriptions, ownership, relationships, freshness, and business terminology. But documentation goes stale. A column gets renamed, a new table replaces an old one, a pipeline changes, a business definition shifts — and now the docs describe what the database used to be, not what it is today. Understanding data often takes more than reading documentation.

The human knowledge problem

A surprising amount of database knowledge lives in people’s heads. Ask a data-team member “which table should I use for customer revenue?” and they might answer immediately — but that answer may exist nowhere else. When that person leaves, changes roles, or is simply unavailable, the Tribal Knowledge becomes hard to reach. It’s an invisible dependency: the database holds the data, the team holds the context — and that becomes a real problem as organizations scale.

Where AI can help

This is where AI makes database workflows more interesting. Instead of treating a database as a bare collection of tables, an AI system can work with the context around those tables. Ask “which customers haven’t purchased in the last 90 days?” and a useful system has to figure out which table represents customers, which contains purchases, how they relate, which date counts as the purchase, what counts as a completed purchase, and how to handle inactive or deleted customers — then generate the SQL. That’s very different from just asking a model to “write a SQL query.”

From SQL generation to database understanding

The conversation around AI and databases usually fixates on text-to-SQL. Generation is useful — but there’s a larger problem underneath it. The real workflow looks more like this:


Generating SQL is a single step; the hard part is everything that leads to it.

The real database workflow

SQL is only one part of the process. The difficult part is connecting the user’s question to the correct database context.

Top comments (0)