Data and Information: Why Every Business Runs on a Database

Data and Information are two different things, and a database is what turns the first into the second. A bookshop writes down every sale. That pile of notes is only data until someone asks a question about it.

Smooth wooden beads scattered on a pale table beside a wooden tray of the same beads sorted into rows, one red bead lifted on a spoon.

Data and Information in Plain Words

Data is a raw fact that someone stored. One sale, one date, one price: each is a small piece that says little on its own. Information is what you get when you process those facts to answer a question. “Which book earned the most this week?” is a question, and the answer is information.

In this example, nobody stores the answer. The shop records sales as they happen, and the answer is worked out when someone asks. A real system can save totals too, but it builds them from the same facts. That’s why the same stored facts can give a manager a dozen different answers without anyone writing a new record.

The split between data and information shows up everywhere. A vegetable stall stores weights and prices, and the owner wants to know which crate to reorder. A school canteen stores meal choices, and the cook wants a headcount for tomorrow. In each case the shelf of stored facts is data, and the reorder list or the headcount is information.

What the Database Does for You

SQL Server is a database management system. That’s a long name for the software that stores your data, protects it and answers questions about it. You describe what you want in SQL, and the engine decides how to fetch it. You never open a file and count rows yourself.

This division of labor lets one person ask a question of millions of rows. The data sits in tables, and each table has a fixed shape. Because the shape is known, the engine knows what every value looks like. A fixed shape doesn’t guarantee speed, but good design can bring answers back in seconds.

Card titled Data or Information: Data: one sale, one date, one price, one quantity (raw facts, stored as they happen); Information: the best-selling title this week (an answer built from many rows); Data is stored, information is calculated when someone asks; The same rows can answer many questions. Tip: Store the smallest fact and let queries add it up.

A Small Bookshop Example

I’ll use a bookshop with one table of sales. The script creates a database named SqlBasicsData if it’s missing, used only for this example. It then drops and rebuilds the demo table inside it, so you can run it twice. Run it on a test instance.

IF DB_ID(N'SqlBasicsData') IS NULL CREATE DATABASE SqlBasicsData;
GO
USE SqlBasicsData;
GO
DROP TABLE IF EXISTS dbo.BookSales;
CREATE TABLE dbo.BookSales (
    SaleID    int            NOT NULL PRIMARY KEY,
    SaleDate  date           NOT NULL,
    Title     nvarchar(100)  NOT NULL,
    Quantity  int            NOT NULL,
    UnitPrice decimal(8,2)   NOT NULL
);
INSERT INTO dbo.BookSales (SaleID, SaleDate, Title, Quantity, UnitPrice)
VALUES (1, '2026-09-01', N'Garden Notes', 2, 12.50),
       (2, '2026-09-01', N'Tea Around the World', 1, 18.00),
       (3, '2026-09-02', N'Garden Notes', 1, 12.50),
       (4, '2026-09-03', N'Quiet Mornings', 3, 9.00),
       (5, '2026-09-03', N'Tea Around the World', 2, 18.00),
       (6, '2026-09-04', N'Garden Notes', 4, 12.50),
       (7, '2026-09-05', N'Quiet Mornings', 1, 9.00),
       (8, '2026-09-05', N'Tea Around the World', 1, 18.00);

Every row is one sale. Eight rows are easy to read, yet no single row tells you which title sells best. You’d end up adding numbers in your head. That’s the work a database should do for you.

Turning Rows Into Information

Run the setup script above first. One query does the adding. It groups the sales by title, counts the copies, and multiplies quantity by price to get the revenue.

SELECT Title,
       SUM(Quantity)             AS CopiesSold,
       SUM(Quantity * UnitPrice) AS Revenue
FROM dbo.BookSales
GROUP BY Title
ORDER BY Revenue DESC;

Garden Notes comes out first, with seven copies and 87.50 in revenue. Tea Around the World follows with 72.00, and Quiet Mornings has 36.00. A manager can act on three lines like these. Eight raw rows give them nothing to act on.

Ask a different question and you write a different query, while the stored rows stay exactly as they were. One number for the whole week takes only this.

SELECT SUM(Quantity * UnitPrice) AS TotalRevenue
FROM dbo.BookSales;

The answer is 195.50. Nothing in the table holds that figure. It exists only for as long as someone needs it, and that’s the point.

Both queries read the same eight rows, and neither one changed them. Reading data never uses it up, so you can ask as many questions as you like. Add a sale tomorrow and rerun a query, and the information updates itself. Nobody has to redo any arithmetic.

Why a Database Beats a Ledger

A paper ledger holds the same data and information too, only on paper. A new question there means someone re-adds columns by hand, and the work grows with every sale. A database does the adding for you, so a new question costs one query.

A spreadsheet is a fine tool for one person with a short list. It starts to strain when several people type at once or when a typo goes unnoticed. A database handles both jobs by design. Many users can work on the same data at the same time. Each column has a data type, so text can’t slip into a quantity. Each user gets only the permissions they need.

Size matters too. With millions of rows, an index can let the engine find what it needs without reading every row. The transaction log and your backups let you recover the data after a failure. A ledger or a loose file can’t promise that.

Store Facts at the Smallest Size

Notice that my table holds one row per sale, not one row per day with a total. You can always add sales up, but you can’t split a daily total back into sales. Store the small facts and let queries build the information. When I design a table, I ask which questions people will want answered later. Then I check that the detail needed is stored.

Try a new question on the same rows. Which day sold the most copies? Only the grouping changes.

SELECT SaleDate,
       SUM(Quantity) AS CopiesSold
FROM dbo.BookSales
GROUP BY SaleDate
ORDER BY CopiesSold DESC;

September 3 comes out on top with five copies. No single row ever showed you that. The answer appeared only after the engine processed all eight rows. That is how data becomes information.

An SSMS result grid with five rows, showing each sale date and the copies sold that day, with September 3 at the top

Bad Data Gives Bad Information

Good information needs good data, because a query can only be as good as the rows behind it. If the same sale is entered twice, revenue doubles for that sale, and the report looks perfect while it’s wrong. A date typed as text, or a quantity left blank, causes the same kind of damage.

This is where the design of the table pays off. A primary key stops two rows from sharing an ID. NOT NULL refuses a missing value. The data type refuses a date that isn’t a date. I can’t stop every mistake, but I can make the table reject the obvious ones before they reach a report.

Related Reading

A database is not a place to keep numbers, it is a way to get answers.

Published by Pinal Dave on SQLAuthority. More of my work at pinaldave.com.


Discover more from SQL Authority with Pinal Dave

Subscribe to get the latest posts sent to your email.

Database, SQL Data Storage, SQL Scripts, SQL Table Operation
Previous Post
SQL SERVER – Understanding Restrict Access to Restricted_User Database Property
Next Post
Running SQL Code: Execute, Batches and GO in SSMS

Related Posts

3 Comments. Leave new

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.