# Getting the DataManager

## Content

Each Workbook instance contains exactly one DataManager.
This instance is created internally when the Workbook is initialized.
To access it:

```javascript
var dataManager = spread.dataManager();
```

The returned object is the central entry point for:

* Creating tables
* Managing relationships
* Defining structured data models
* Preparing data for component binding

All structured data operations within a Workbook must go through this DataManager instance.

## Workbook-Owned DataManager

The DataManager retrieved from `spread.dataManager()` is owned by the Workbook.
SpreadJS components such as:

* TableSheet
* GanttSheet
* ReportSheet
* Data Chart

operate exclusively on the Workbook’s internal DataManager.
Because of this:

* You cannot replace the Workbook’s DataManager.
* You cannot inject an external DataManager into a Workbook.

This ensures that all structured components share a consistent data model within the same Workbook.

>type=note
> Other SpreadJS features such as standard worksheet tables, PivotTable, formulas, and charts can operate directly on worksheet ranges and do not require the DataManager.

## Next Step

With access to the DataManager, you can:

* [Create tables](/spreadjs/docs/features/data-manager/creating-tables) using [`addTable`](/spreadjs/api/classes/GC.Data.DataManager#addtable)
* [Define schema and column behavior](/spreadjs/docs/features/data-manager/schema)
* [Establish relationships](/spreadjs/docs/features/data-manager/table-relationships)
* [Create views for presentation](/spreadjs/docs/features/data-manager/view)

The following section explains how to create and configure tables.