Logo
NeoArc Studio

Data Views: Persistence Mode

Create Data Views in persistence mode to visualise entity-relationship schemas with database-profile-aware type resolution. Inspect entities via the Entity Overlay with ERD-style columns showing key roles, types, constraints, and foreign key references.

A persistence mode Data View is a force-directed graph projection of model entities, designed for database architects and developers. Entities appear as interactive nodes on a graph canvas. Click any node to open the Entity Overlay, which displays the full property table with ERD-style columns - key roles, field names, concrete database types, constraints, and foreign key references - all resolved through the selected database profile.

How Persistence Views Connect to the Model

A Data View file references the model via its modelFilePath field and selects a database profile via databaseProfileId. On load, the view host reads the model through the ModelViewService, resolves entities for the included set, and renders them as nodes on the force-directed graph canvas.

Entity Data from Model
Properties, types, key roles, constraints, foreign key resolutions, and relationship edges all come from the central model file.
Layout from View
Node positions (x, y), pinning state, style overrides, group assignments, and force simulation settings are stored in the view file.
Types from Profile
Abstract model types resolve to concrete database types through the selected database profile. Names are formatted according to the profile's naming convention.

Entity Overlay Columns

When you click a node (or press Alt+Enter), the Entity Overlay opens with a property table showing these columns.

ColumnContentSource
KeyPK, FK, NK, SK, CK badgeModel property key role
FieldProperty name (formatted by profile)Database profile naming convention
TypeConcrete database typeDatabase profile type mapping
NullableYES/NOModel property nullable flag
UniqueYES/NOModel property unique flag
DefaultDefault value expressionModel property default value
FK RefTarget entity.propertyModel FK relationship
ConstraintsCHECK, constraint listModel property constraints
IndexIndex nameModel property index
CommentsDescription textModel property description

Relationship Pills

The Entity Overlay shows relationship context alongside the property table.

SideShowsInteraction
Left (incoming)Entities that reference this entity via FKClick to navigate to that entity's overlay
Right (outgoing)Entities this entity references via FKClick to navigate to that entity's overlay
Info button (i)Relationship detail tooltipShows join columns, cardinality, constraint name

Database Profile Selection

The top bar contains a profile selector listing all database profiles registered in the project. Switching profiles triggers a full re-resolution of types and names across all entities. Built-in vendor templates are available for all major database engines, or create a custom profile for any other database.

Vendor TemplateExample TypesNaming Convention
(No profile)string, integer, booleanOriginal model names
SQL ServerNVARCHAR(255), INT, BITPascalCase
PostgreSQLVARCHAR(255), INTEGER, BOOLEANsnake_case
MySQLVARCHAR(255), INT, TINYINT(1)snake_case
OracleVARCHAR2(255), NUMBER(10), NUMBER(1)SCREAMING_SNAKE_CASE
MongoDBString, Int32, BooleancamelCase
SQLiteTEXT, INTEGER, REALsnake_case
SnowflakeVARCHAR, NUMBER(38,0), BOOLEANSCREAMING_SNAKE_CASE
MariaDBVARCHAR, INT, TINYINT(1)snake_case
CockroachDBSTRING, INT8, BOOLsnake_case
Azure Table StorageString, Int32, Boolean + PartitionKey/RowKeyPascalCase
Azure Cosmos DBstring, number, boolean + id/partitionKeycamelCase
Amazon DynamoDBS, N, BOOL + pk/skcamelCase
Apache Cassandratext, int, boolean + partitionKeysnake_case

Connections and Relationships

Edges between nodes on the graph canvas are inferred from relationships in the model. When both the source and target entities of a model edge are included in the view, an edge is drawn between their nodes with cardinality labels. Edges are not manually created - they follow the model's relationship definitions.

Side-by-Side Comparison

Pin an Entity Overlay to dock it below the canvas. Then click another node to open a second overlay. This lets you compare two entities' schemas side by side. When the docked overlays share a foreign key relationship, connecting lines are drawn between the relevant FK and PK rows, making it easy to trace joins across entities.

Entity Picker

The entity picker controls which model entities appear in the view.

FeatureDescription
Fuzzy searchType in the search field to filter entities by name with ranked results (exact, prefix, fuzzy)
Group filteringFilter to show only entities belonging to a specific model group or subdomain
Tag filteringFilter entities by tag to focus on specific categories
Bulk selectionSelect or deselect all visible entities with a single action
Entity countThe top bar displays the count of included entities vs. total available
50-node capEach view supports up to 50 entities for visual clarity and performance