# Part 1: Database design, operations and queries · Tic Tac Toe on Chromia with Rell and Unity · Learn Chromia

> This lesson walks you through building the data model for a Tic-Tac-Toe decentralized app (dapp) around three concepts: Users, Games, and Moves. You…

Source: https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/

Tic Tac Toe on Chromia with Rell and UnityLesson 4 of 20

1. [01Tic Tac Toe on Chromia with Rell and Unity](https://chromia.com/learn/tic-tac-toe/introduction/)
2. [02Set up your project](https://chromia.com/learn/tic-tac-toe/setup/)

Module 1: A Rell backend with FT4 accounts

1. [03Overview](https://chromia.com/learn/tic-tac-toe/module-one/)
2. [04Part 1: Database design, operations and queries](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/)
3. [05Design the data model](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/tables/)
4. [06Perform basic operations](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/basic-operations/)
5. [07Write basic queries](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/write-queries/)
6. [08Part 2: Set up accounts](https://chromia.com/learn/tic-tac-toe/module-one/create-accounts/)
7. [09Configure FT4 accounts](https://chromia.com/learn/tic-tac-toe/module-one/create-accounts/install-configure-ft4/)
8. [10Authentication with FT4 accounts](https://chromia.com/learn/tic-tac-toe/module-one/create-accounts/authentication/)
9. [11Update tests](https://chromia.com/learn/tic-tac-toe/module-one/create-accounts/update-tests/)
10. [12Part 3: How the dapp project is organized](https://chromia.com/learn/tic-tac-toe/module-one/project-structure/)
11. [13Work with Rell modules](https://chromia.com/learn/tic-tac-toe/module-one/project-structure/modules/)
12. [14Add modules to your dapp](https://chromia.com/learn/tic-tac-toe/module-one/project-structure/incorporate-modules/)

Module 2: The Unity project

1. [15Overview](https://chromia.com/learn/tic-tac-toe/module-two/)
2. [16Set up the project](https://chromia.com/learn/tic-tac-toe/module-two/setup/)
3. [17Project scaffold](https://chromia.com/learn/tic-tac-toe/module-two/scaffold/)
4. [18Link the client to the blockchain](https://chromia.com/learn/tic-tac-toe/module-two/connecting-the-client/)
5. [19Summary and manual testing](https://chromia.com/learn/tic-tac-toe/module-two/summary-and-tests/)

1. [20What next?](https://chromia.com/learn/tic-tac-toe/what-next/)

[Learn](https://chromia.com/learn/)[Tic Tac Toe on Chromia with Rell and Unity](https://chromia.com/learn/tic-tac-toe/)

04 / 20Module 1: A Rell backend with FT4 accounts

# Part 1: Database design, operations and queries

This lesson walks you through building the data model for a Tic-Tac-Toe decentralized app (dapp) around three concepts: Users, Games, and Moves. You implement the model in Rell, Chromia's programming language, working with entity attributes, mutability, efficient indexing, and unique constraints. The first section ends with a solid data model ready for your game.

Next, you move on to changing data on the Chromia blockchain platform. You write operations that create users, create games, and record moves, and you apply testing methods that keep your game correct and working as intended.

The third section covers reading game data back from the blockchain with queries. You begin with simple queries that return recent games, then build more involved ones that sort and filter by game status and player moves.

To finish, you test your queries by hand with the Chromia CLI.

## In this lesson

1. [Design the data model](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/tables/)
2. [Perform basic operations](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/basic-operations/)
3. [Write basic queries](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/write-queries/)

[Begin lesson →](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/tables/)

Written for this site from Chromia’s public course. Code samples are the course’s own.

[← Previous**Module 1: A Rell backend with FT4 accounts**](https://chromia.com/learn/tic-tac-toe/module-one/)[Next →**Design the data model**](https://chromia.com/learn/tic-tac-toe/module-one/data-modeling/tables/)
