| Lesson 5 | How data is stored |
| Objective | Describe how an Access database stores data in a table. |
In Microsoft Access, raw data is stored in tables. A table is the foundational storage structure in an Access database (ACCDB/MDB). If a database contains no tables, it has no persistent data to query, edit, or report on.
Access tables look similar to spreadsheets, but the intent is different: a table is designed to store a well-defined set of data about a subject (clients, projects, invoices), with rules that preserve data quality as the database grows.
A table is structured as columns and rows:
In an Access table, columns and rows are not interchangeable: columns are always fields and rows are always records. This is one of the key differences between a relational table and a general-purpose spreadsheet.
| Field1 | Field2 | Field3 |
| --------- | ---------- | ------------------ |
| Margaret | Levine | 455 Cherry St. |
| Catherine | Molkenbur | 25 Pine Rd. |
| Thorley | Cook | 6889 Oak La. |
| Hillary | Smith | 75 Maple Rd. |
| Christina | White | 894 Chestnut St. |
| Bruce | MacWilliam | 78 Magnolia Ct. |
| Darren | Mace | 9883 Dogwood St. |
| Stephanie | Pitney | 64 Lilac La. |
| Piper | Ronn | 932 Apple Cir. |
| Bill | Clarke | 5 Orange Grove Rd. |
| Nora | Sweeney | 88 Olive La. |
| Meg | Young | 8712 Redwood St. |
| Gary | Vincens | 67 Hemlock Rd. |
| Matt | Jones | 486 Boxwood Dr. |
Data stored in an Access table (fields as columns, records as rows).
A field is a category of information. If you are storing contact details, it is common to create fields such as: First Name, Last Name, Address, City, State, and Zip.
Each record (row) contains one value per field. When you view the table in Datasheet View, Access displays each record across the row so you can quickly scan or edit values.
Best practice is to design fields so they hold small, meaningful pieces of data. This makes sorting, filtering, grouping, and reporting far easier.
A common design mistake is storing compound values in a single field (for example, a full name or full address in one column). You typically get better usability and better query capability by splitting values into useful parts:
This approach improves analysis and user experience. For example, you can sort by Last Name, filter by State, or generate letters and labels using the exact components you need.
For additional practice on this concept, see: Breaking Data into Fields
Each field has a data type. Data types matter because they control storage, validation, sorting behavior, and which operations you can perform in queries.
Common Access data types include:
Access also supports field-level rules through properties such as: Required, Default Value, Validation Rule, and Input Mask. These properties help keep data consistent and reduce cleanup work later.
A well-designed table usually has a primary key, which uniquely identifies each record. Access commonly uses:
Primary keys are indexed automatically. Indexes allow the Access database engine to find records quickly and are especially important for:
Best practice: index with intent. Too many indexes can slow down inserts/updates because Access must maintain each index as data changes.
Access is a relational database system. That means data is often stored across related tables rather than repeating the same information in one giant table.
For example, a database might store client contact details in one table and client projects in another table:
The shared field (such as ClientID) creates the relationship. When you enforce referential integrity, Access helps prevent “orphan” records (for example, a project that references a ClientID that does not exist).
Tables store the data. The other Access objects provide structured access to that data:
Many Access applications add macros or VBA to streamline workflows, validate user actions, and improve usability, but the underlying data still lives in tables.
Use the following checklist when designing (or reviewing) a table: