Ideon Logo
Ideon

Database Block Guide

The Database block in Ideon provides a spreadsheet-style table for structured data management, analysis, and cross-referencing. This guide covers creating database blocks, configuring column types, managing rows, sorting and filtering, linking to other blocks via relation columns, and exporting data.

Creating a Database Block

To add a Database block to your canvas:

  1. Open the block library (click the "+" icon or use the canvas context menu).
  2. Select Database from the block gallery.
  3. The block appears on the canvas with two default columns ("Name" and "Tags").

Column Types

Database blocks support six column types:

TypeDescriptionValue Format
TextFree-form text"string"
NumberNumeric values for sorting and math42
EnumPredefined options (dropdown selection)"option-id" (resolved to label on export)
URLClickable hyperlinks"https://…"
RelationLinks to another block on the canvas{ "blockId": "target-uuid" }
CheckboxBoolean toggletrue / false

Enum Columns

Enum columns let you restrict cell values to a fixed set of options. When you create an enum column, two default options are provided. You can add more or rename existing ones through the column settings menu.

On CSV and Markdown export, enum option IDs are resolved to their display labels automatically.

Checkbox Columns

Checkbox cells render as toggle inputs. Click to toggle between checked and unchecked. The aggregation row shows a count of checked items out of total (e.g. 2/3).

Relation Columns

Relation columns create hyperlinks between blocks. When you enter a relation value, a picker shows all blocks on the current canvas. Selecting a block stores its UUID as the cell value. On the canvas, relation cells render as clickable links that jump to the referenced block.

Managing Rows

Rows are the data records in your table. Each row has a unique ID (auto-generated on creation).

  • Add a row: Click the "+" button at the bottom of the table or press Enter in the last row.
  • Delete a row: Click the row menu (⋯) and select Delete Row, or right-click the row number.
  • Reorder rows: Drag the row handle (⋮⋮) on the left edge of any row.

Column Management

Global Search

Use the search input in the toolbar to filter rows across all text columns. The filter is case-insensitive and matches substrings.

Aggregation Row

The bottom row of the table shows aggregate values per column:

  • Number columns: Sum of all visible values
  • Checkbox columns: Count of checked items out of total (e.g. 2/3)
  • Text columns: Count of non-empty cells

Sorting and Filtering

Sorting

Click any column header to sort by that column. Click again to toggle between ascending and descending order. The active sort column is indicated by an arrow icon. Sort state is persisted with the block.

  • Text columns: sorted alphabetically
  • Number columns: sorted numerically
  • Enum columns: sorted by option label alphabetically
  • Relation columns: sorted by the referenced block's title

Filtering

Click the filter icon ( funnel ) in a column header to open the filter menu. Type text to filter rows where the cell value contains the search string. Clear the filter to show all rows. Filter state is persisted with the block.

Exporting Data

Database blocks support two export formats:

CSV Export

Click the export button and select Export CSV to download a .csv file. Enum values are resolved to their labels. Relation cells export the referenced block's ID.

Markdown Export

Click the export button and select Export Markdown to copy a GitHub-flavored Markdown table to your clipboard. Useful for embedding table data in notes, documentation, or pull requests.

MCP Integration

Database blocks are fully accessible via the MCP Server. The following MCP tools are available:

  • list_table_rows — list rows with optional sorting and filtering
  • get_table_metadata — retrieve column definitions, sort, and filter configuration
  • add_table_column — add a new column with a specified type
  • update_table_column — rename, change type, or update enum options
  • delete_table_column — remove a column and all its data
  • add_table_row — append a new row
  • update_table_row — update cell values in an existing row
  • delete_table_row — remove a row
  • export_table_csv — export the table as CSV text
  • export_table_markdown — export the table as Markdown

All tools operate on a block UUID and return NotFoundError if the block doesn't exist or isn't a database block, and ValidationError for invalid column or row IDs.