Data Views for Data Architecture
Use persistence mode Data Views to visualise conceptual, logical, and physical data models from a single central model. Assign database profiles from 13 vendor templates (including cloud and NoSQL databases) or create custom profiles. Click any node to open the Entity Overlay with the full property table.
Data Views in persistence mode replace traditional static ERD diagrams with an interactive, model-derived approach. Entities appear as nodes on a force-directed graph canvas with edges inferred from foreign key relationships. Click any node to open the Entity Overlay, a floating property table that shows key roles, field names, concrete database types, nullable flags, unique constraints, defaults, FK references, and comments. All entity data comes from the central model (model.neoarc); the view stores only layout positions and profile configuration.
Conceptual, Logical, and Physical Data Views
The same model entities produce different levels of detail depending on how the Data View is configured.
Multiple Data Views from One Model
A project typically maintains several Data Views derived from the same model, each targeting a different database vendor, a different subset of entities, or a different audience.
| View | Mode | Profile | Entities | Purpose |
|---|---|---|---|---|
| E-Commerce SQL Server | Persistence | SQL Server (PascalCase) | Customer, Order, OrderItem, Product, Category | Physical schema for SQL Server deployment |
| E-Commerce PostgreSQL | Persistence | PostgreSQL (snake_case) | Customer, Order, OrderItem, Product, Category | Physical schema for PostgreSQL deployment |
| Payment Domain | Persistence | SQL Server (PascalCase) | Payment, Invoice, Refund, Transaction | Focused view of the payment subdomain |
| Product Search | Search | Azure Cognitive Search | Customer, Product, Category | Search index configuration and drift detection |
| Logical Overview | Persistence | (Abstract Types) | All entities | Database-agnostic logical model for design review |
The Entity Overlay
Click any node on the graph canvas (or press Alt+Enter) to open the Entity Overlay. The overlay is a floating panel that shows the full property table for that entity, with columns determined by the view mode.
| Column | Persistence Mode | Search Mode |
|---|---|---|
| Key Role | PK, FK, NK, SK, CP indicators | Key field indicator |
| Field Name | Converted via profile naming convention | Search field name |
| Type | Concrete database type (e.g. NVARCHAR(100)) | Search field type (e.g. Edm.String) |
| Nullable | Yes/No | n/a |
| Unique | Yes/No | n/a |
| Default | Default value expression | n/a |
| FK Reference | Target entity and property | n/a |
| Behaviours | n/a | Searchable, filterable, sortable, facetable, retrievable |
Relationship pills on either side of the overlay let you navigate to connected entities. Pin an overlay to dock it below the canvas, then click another node to compare two entities side by side.
Example: E-Commerce Data Model with Two Profiles
Consider an e-commerce model with Customer, Order, OrderItem, Product, and Category entities. Creating two persistence mode Data Views with different database profiles produces vendor-specific physical representations from the same source data. The Entity Overlay for each view shows the resolved types.
| Property | Abstract Type | SQL Server | PostgreSQL |
|---|---|---|---|
| customerId | uuid | UNIQUEIDENTIFIER | UUID |
| firstName | string (maxLength: 100) | NVARCHAR(100) | VARCHAR(100) |
| string (maxLength: 255) | NVARCHAR(255) | VARCHAR(255) | |
| isActive | boolean | BIT | BOOLEAN |
| createdAt | datetime | DATETIME2 | TIMESTAMP WITH TIME ZONE |
| metadata | json | NVARCHAR(MAX) | JSONB |
| orderTotal | decimal | DECIMAL(10,2) | NUMERIC(10,2) |
Graph Canvas Features
The Data View graph canvas provides interactive tools for exploring the data model.
| Feature | Description |
|---|---|
| Force-directed layout | D3 physics simulation positions nodes automatically based on relationships |
| Spacing slider | Adjust graph density in real time via the bottom-right slider |
| Node search (Ctrl+F) | Fuzzy search with ranked results - exact, prefix, then fuzzy matches |
| Semantic zoom | Node detail increases as you zoom in; zoomed-out shows labels only |
| Group hulls | Coloured boundaries around entity groups defined in the model |
| Minimap | Overview panel for navigating large graphs |
| Pinning | Fix important nodes in place while the simulation runs around them |
Fidelity Considerations
Not all abstract types map equally across vendors. When switching a view from one database profile to another, the system checks for fidelity loss and shows a confirmation dialog listing any warnings.
| Abstract Type | Fidelity Concern | Affected Vendors |
|---|---|---|
| uuid | Stored as text (CHAR(36)) rather than native binary | MySQL |
| json | Stored as text (NVARCHAR(MAX)) without native validation | SQL Server |
| boolean | Emulated with TINYINT(1) | MySQL |
| enum | No native enum type, requires CHECK constraint | SQL Server, Oracle |
Naming Conventions Across Profiles
Each database profile includes a naming convention that controls how entity and property names are displayed in the Data View. The model stores names in their original format; conversion is applied at display time only.
| Model Name | SQL Server (PascalCase) | PostgreSQL (snake_case) | Oracle (SCREAMING_SNAKE_CASE) | MongoDB (camelCase) |
|---|---|---|---|---|
| CustomerOrder | CustomerOrder | customer_order | CUSTOMER_ORDER | customerOrder |
| firstName | FirstName | first_name | FIRST_NAME | firstName |
| orderTotal | OrderTotal | order_total | ORDER_TOTAL | orderTotal |
Using Groups to Organise Views
When the model defines groups (subdomains), the entity picker provides group filtering. This simplifies creating views that focus on a specific domain area. For example, an e-commerce model might have groups for Core Commerce, Product Catalogue, and Logistics, each with a corresponding focused Data View.
SQL DDL Import
The SQL DDL import reads existing database scripts and populates the central model with entities, properties, key roles, and relationships. Paste or upload DDL text from 6 dialects (PostgreSQL, MySQL, SQL Server, Snowflake, Oracle, and DBML). From the imported model, Data Views can be created to visualise the schema interactively.