--- title: 'Data' description: 'Define, query, and control your data with ease.' --- Data is the lifeblood of any application, and **bknd** provides the tools to handle it effortlessly. From defining entities to executing complex queries, bknd offers a developer-friendly, intuitive, and powerful data management experience. ### **Define Your Data** Model entities with **fields** and **relationships**, automatically synced to your database. - Supported field types: `primary`, `text`, `number`, `date`, `boolean`, `enum`, `json`, and `jsonschema`. - Relationship types: `many-to-one`, `one-to-one`, `many-to-many`, and `polymorphic`. - Add **indices** to enhance database performance: single, compound, and unique indices. ### **Entity Management** Use the **EntityManager** to simplify handling your entities. Access data efficiently with the **Repository**: - Select specific properties to return. - Define sort directions, limits, and offsets. - Include or join relational data seamlessly within a single query using `with` and joins. - Apply robust filtering with an extensive `where` object: `$eq`, `$ne`, `$isnull`, `$notnull`, `$in`, `$notin`, `$gt`, `$gte`, `$lt`, `$lte`, `$between`. ### **Seamless Data Manipulation with Mutators** Create, update, and delete entity data with confidence. - Validates data against the entity schema. - (coming soon) Supports relational data with flexible syntax: `$create`, `$set`, `$attach`, `$detach`. ### **Powerful Event System** Hook into critical lifecycle events for fine-grained control: - Repository events: `find-one-before`, `find-one-after`, `find-many-before`, `find-many-after`. - Mutator events: `insert-before`, `insert-after`, `update-before`, `update-after`, `delete-before`, `delete-after`. ### **Enhanced Database Communication** The **Connection** class communicates with the database. It's based on kysely, so that it generally supports multiple database dialects (but currently only SQLite/LibSQL is supported). Whether you're modeling simple data structures or managing complex relationships, bknd's data tools empower you to build applications with confidence and scalability.