> ## Documentation Index
> Fetch the complete documentation index at: https://shivamgoyal.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Database Configuration

> Set up your database models, relationships, and queries

# Database Configuration

The Database Dashboard in CodeNull allows you to visually design and manage your application's data models without writing complex database code. Our no-code tools help you create, relate, and query your data with ease.

## The Database Configuration Process

<Steps>
  <Step title="Design Data Models">
    Create your database schema:

    * Define entity types
    * Set up fields and properties
    * Configure data types and validation
    * Establish primary keys
  </Step>

  <Step title="Define Relationships">
    Connect your data models:

    * One-to-one relationships
    * One-to-many relationships
    * Many-to-many relationships
    * Self-referential relationships
  </Step>

  <Step title="Configure Indexes">
    Optimize database performance:

    * Create indexes for frequent queries
    * Set up unique constraints
    * Configure composite indexes
    * Plan index strategy
  </Step>

  <Step title="Set Up Validation Rules">
    Ensure data integrity:

    * Required fields
    * Field format validation
    * Value constraints
    * Custom validation rules
  </Step>

  <Step title="Create Initial Data">
    Prepare your database for use:

    * Default records
    * Seed data
    * Test data sets
    * Migration plans
  </Step>
</Steps>

## Database Dashboard Tools

CodeNull's Database Dashboard features several tools to make database management accessible:

### Schema Designer

The visual Schema Designer helps you create and visualize your data models:

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/shivamgoyal/images/schema-designer.png" alt="Schema Designer interface" />
</Frame>

Key features:

* Drag-and-drop model creation
* Visual relationship mapping
* Field type selection
* Validation rule builder

### Data Explorer

Browse and manage your database with the Data Explorer:

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/shivamgoyal/images/data-explorer.png" alt="Data Explorer interface" />
</Frame>

Features include:

* Browse collections/tables
* Filter and sort records
* Edit data directly
* Import/export functionality

### Query Builder

Create complex database queries without writing code:

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/shivamgoyal/images/query-builder.png" alt="Query Builder interface" />
</Frame>

Query capabilities:

* Visual condition building
* Join across collections
* Aggregation operations
* Projection controls

## Supported Database Types

CodeNull supports several database types to meet your application needs:

<CardGroup cols={2}>
  <Card title="MongoDB" icon="database">
    Document-based NoSQL database for flexible, schema-less data
  </Card>

  <Card title="PostgreSQL" icon="server">
    Powerful relational database with advanced features
  </Card>

  <Card title="MySQL" icon="table">
    Popular relational database for structured data
  </Card>

  <Card title="Excel Import" icon="file-excel">
    Import existing Excel data into your application
  </Card>

  <Card title="CSV Import" icon="file-csv">
    Use comma-separated value files as data sources
  </Card>

  <Card title="JSON Import" icon="file-code">
    Import JSON data structures into your database
  </Card>
</CardGroup>

## Best Practices

<Tip>
  Denormalize data (duplicate some information across collections) when using NoSQL databases to improve read performance for common queries.
</Tip>

* **Keep relationships simple**: Avoid overly complex relationship structures
* **Consider query patterns**: Design your schema based on how you'll query the data
* **Use appropriate field types**: Choose the right data type for each field
* **Plan for scale**: Consider how your data model will handle growth
* **Document your schema**: Keep clear documentation of your data model

## Data Security

CodeNull provides robust security features for your database:

<AccordionGroup>
  <Accordion title="Access Control">
    * Field-level access rules
    * Row-level security
    * Role-based permissions
    * API-level restrictions
  </Accordion>

  <Accordion title="Data Protection">
    * Encryption options
    * Personally identifiable information (PII) handling
    * GDPR compliance tools
    * Data redaction
  </Accordion>

  <Accordion title="Audit Trails">
    * Change tracking
    * User activity logs
    * Data access monitoring
    * Historical record keeping
  </Accordion>
</AccordionGroup>

## Next Steps

Once you've configured your database, you're ready to move on to [Deployment & Evaluation](/user-flow/deployment-dashboard) to deploy your application and monitor its performance.
