> For the complete documentation index, see [llms.txt](https://docs.amltd.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.amltd.com/dc-works/databases-and-tables/design-your-data-structure.md).

# Design Your Data Structure

After completing the planning worksheet, review the proposed structure before creating it in DC Works.

At this point, you should have identified:

* The purpose of the database.
* What the process tracks.
* What one record represents.
* The information that must be stored.
* The proposed tables.
* Any reference values.
* Any historical events that must be preserved.

### Confirm each table’s purpose

Every proposed table should have a clear and distinct purpose.

Complete the following statement for each table:

> One record in this table represents one \_\_\_\_\_\_\_\_\_\_.

For example:

| Table purpose         | One record represents                             |
| --------------------- | ------------------------------------------------- |
| Main information      | One item being tracked                            |
| Reference information | One valid status, category, location, or operator |
| Historical activity   | One significant event involving an item           |

If two proposed tables contain similar information and represent the same type of record, consider whether they can be combined.

### Identify related records

When records in different tables are related, determine which shared value will connect them.

Examples include:

* Item ID.
* Serial number.
* Request number.
* Transaction number.

Use a consistent format for the shared value in every table where it appears.

A history table may contain several records with the same identifier because each record represents a different event involving the same item.

### Separate current information from history

If only the latest information is needed, updating the main record may be sufficient.

If previous stages or events must also be preserved, use:

* A main table containing the current information.
* A history table containing one record for each significant event.

Define exactly what creates a historical event. A status change may create a history record, while correcting an entry error may only update the current record.

### Keep the first structure manageable

Before creating the database, confirm that:

* Every table has a distinct purpose.
* One record has a clear meaning in every table.
* Related tables use a shared identifier.
* Current information and historical activity are separated where necessary.
* Reference tables provide a practical benefit.
* Tables intended only for future features have been deferred.
* The essential process cannot be supported more simply.

{% hint style="info" %}\
Start with the smallest structure that supports the required process. Additional tables and fields can be added later as confirmed requirements emerge.\
{% endhint %}

### Final table summary

Use the completed planning worksheet to prepare a final table summary:

| Table name | Purpose | One record represents | Primary field | Related through |
| ---------- | ------- | --------------------- | ------------- | --------------- |
|            |         |                       |               |                 |
|            |         |                       |               |                 |
|            |         |                       |               |                 |

This summary will guide the creation of the database and its tables in DC Works.

### Next

Continue to **Create and Manage Databases** to learn how to create a database and use the database-management controls available in the DC Works Designer.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.amltd.com/dc-works/databases-and-tables/design-your-data-structure.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
