### Introduction
In Fab Builder, entity fields and data types are essential for structuring and storing application data efficiently. Selecting the right fields ensures data consistency, scalability, and optimised performance. Fab Builder offers a variety of field types to meet diverse data needs, making it easier for users to manage and organise their data effectively. Understanding and choosing the appropriate field types is key to building a robust, scalable application.
Types of Fields and Datatypes Supported in Fab Builder

Fab Builder offers a range of field types to efficiently manage different kinds of data:
* Text: Used for storing short text strings like names or titles. Ideal for any simple, non-numeric data.
* Integer: Stores whole numbers without decimals. Useful for quantities, counts, and other integer-based data.
* Decimal: Stores numeric values with decimal points. Suitable for pricing, measurements, and financial data.
* Boolean: Stores true or false values, representing binary states like "Yes/No" or "Active/Inactive."
* Date: Stores calendar dates (year, month, day). Perfect for birthdates, deadlines, or event dates.
* Datetime: Stores a date and a time, hence useful for logging timestamps or scheduling events.
* Enumerator: Stores predefined set values, allowing users to choose from a fixed list (e.g., "Red", "Green", "Blue").
* Relation (One): Defines a one-to-one relationship between two entities, useful for connecting individual records.
* Relation (Many): Defines a one-to-many relationship, allowing one record to relate to multiple others.
* User (One): Links a single user to another entity, enabling personalised data association.
* User (Many): Connects multiple users to an entity, useful for team or group-based data.
* Files: Allows for file uploads, supporting data like documents, spreadsheets, or presentations.
* Images: Stores image files such as JPEG, PNG, or GIF, ideal for media and content management.
* JSON: Stores structured data in JSON format, ideal for storing complex or nested data sets.
Field Type Equivalents Across Databases: MongoDB, PostgreSQL, MySQL, and SQL
| FAB Builder Field Type | MongoDB Equivalent | PostgreSQL Equivalent | MySQL Equivalent | SQL Equivalent |
| ----------------------- | ------------------------- | ----------------------- | ----------------------- | ----------------------- |
| Text | String | TEXT | VARCHAR | VARCHAR |
| Integer | Number (int) | INTEGER | INT | INT |
| Decimal | Number (decimal) | NUMERIC | DECIMAL | DECIMAL |
| Boolean | Boolean | BOOLEAN | TINYINT (1) | BIT |
| Date | Date | DATE | DATE | DATE |
| Datetime | Date | TIMESTAMP | DATETIME | DATETIME |
| Enumerator | String | ENUM | ENUM | ENUM |
| Relation (One) | ObjectId (ref) | Foreign Key | Foreign Key | Foreign Key |
| Relation (Many) | Array of ObjectId (refs) | Foreign Key (multiple) | Foreign Key (multiple) | Foreign Key (multiple) |
| User (One) | ObjectId (ref) | Foreign Key | Foreign Key | Foreign Key |
| User (Many) | Array of ObjectId (refs) | Foreign Key (multiple) | Foreign Key (multiple) | Foreign Key (multiple) |
| Files | Binary | BYTEA | BLOB | BLOB |
| Images | Binary | BYTEA | BLOB | BLOB |
| JSON | Object | JSON | JSON | JSON |