SchemaGraphos User Guide
Everything you need to design, document, and export professional database models.
Overview
SchemaGraphos is a professional visual database modeling tool that supports Relational (SQL), Analytical (Data Warehouse), and NoSQL (Document) databases. You can design models visually on an interactive canvas, document business rules, control versions, and export to multiple formats.
Visual Modeling
Drag-and-drop canvas with nodes and edges.
Multi-Format Export
XMI, SQL, JSON, Markdown, PNG, JPEG, SVG.
Version Control
Snapshots, restore, and diff comparison.
Objects Library
Reusable entity and field templates.
An active license is required to save models, create versions, and use the Objects Library. You can create and edit models locally without a license.
Interface
The application is divided into four main areas:
| Area | Description |
|---|---|
| Top Toolbar | Model name, save, export, version, layout, tools and user menu. |
| Left Sidebar | Entity palette (drag to canvas) and model type selector. Collapsible. |
| Canvas | Interactive modeling area. Zoom, pan, select and connect entities. |
| Right Properties Panel | Edit selected entity or relationship properties, fields, indexes and business rules. |
Model Management
Model Types
| Type | Use Case | Available Entities |
|---|---|---|
| Relational (SQL) | Traditional relational databases | Table, View, Text Note |
| Analytical | Data warehouses and dimensional modeling | Fact Table, Dimension, View, Text Note |
| NoSQL | Document-oriented databases | Collection, Text Note |
Actions
| Action | How to | License |
|---|---|---|
| Create Model | Toolbar → New Model. | — |
| Load Model | Toolbar → Load Model. | Yes |
| Save Model | Toolbar → Save. | Yes |
| Rename Model | Load Model → edit icon. | Yes |
| Copy Model | Load Model → copy icon. | Yes |
| Delete Model | Load Model → delete icon. | Yes |
Entity Types
Drag any entity type from the left sidebar onto the canvas to create it.
| Entity | Models | Description |
|---|---|---|
| Table | Relational | Standard SQL table with typed columns, primary keys, and relationships. |
| View | Relational, Analytical | Virtual table defined by a SQL query. |
| Collection | NoSQL | MongoDB-style document collection. |
| Fact Table | Analytical | Central table in a star schema. Stores quantitative data. |
| Dimension | Analytical | Descriptive table in a star schema. |
| Text Note | All | Free-form Markdown note. |
Right-click any entity on the canvas to access quick actions: Duplicate, Delete, or open Properties.
Fields & Attributes
Open the Properties Panel by clicking an entity. Use the Fields tab to add, edit, reorder (drag), and delete fields.
| Property | Description |
|---|---|
| Name | Field identifier. Must be unique within the entity. |
| Type | Data type. Varies by model type (see below). |
| Primary Key | Marks the field as primary key. Forces NOT NULL. |
| Auto Increment | Auto-generated value by the database. |
| Nullable | Whether the field accepts NULL. |
| Foreign Key | Automatically set when a relationship is created. |
| Description | Optional description. Included in Data Dictionary export. |
| Business Rules | Markdown rules at the field level. |
Data Types by Model
| Model | Available Types |
|---|---|
| Relational | INTEGER BIGINT SMALLINT DECIMAL FLOAT REAL VARCHAR CHAR TEXT DATE TIME TIMESTAMP DATETIME BOOLEAN BLOB JSON JSONB XML UUID GEOMETRY GEOGRAPHY |
| NoSQL | String Number Boolean Date Object Array ObjectId Binary Mixed |
| Analytical | INTEGER BIGINT DECIMAL FLOAT VARCHAR DATE TIMESTAMP BOOLEAN |
Relationships
Relationships connect entities and represent referential integrity.
Creating a Relationship
- Hover over the source entity until connection handles appear on its borders.
- Click and drag from a handle to the target entity.
- A modal appears. Choose the cardinality and optionally a label.
- Click Confirm. The FK field is automatically added to the target entity.
The source entity must have at least one Primary Key. Cardinality cannot be changed after creation.
| Cardinality | Relational | Analytical | NoSQL |
|---|---|---|---|
| 1:1 | ✓ | — | ✓ |
| 1:N | ✓ | ✓ | ✓ |
| N:1 | ✓ | — | ✓ |
| N:N | ✓ | ✓ | ✓ |
Indexes
Indexes improve query performance. Manage them from the Indexes tab in the entity's Properties Panel.
| Type | Description |
|---|---|
| Clustered | Physically sorts table data. Only one per table. |
| Non-Clustered | Separate structure pointing to data rows. |
| Unique | Enforces uniqueness in the indexed columns. |
| Composite | Index on multiple columns with direction. |
| Hash | Optimized for equality comparisons. |
| Geospatial | For geographic data types. |
| Full-Text | For full-text search on text columns. |
FK fields from incoming relationships appear in the index column selector.
Navigation & Zoom
| Action | How to |
|---|---|
| Zoom In / Out | Mouse wheel. Range: 10% to 200%. |
| Fit View | Canvas controls → Fit icon. |
| Pan Canvas | Drag on an empty area of the canvas. |
| Select Entity | Click any entity or relationship. |
| Multi-Select | Enable Multi-Select mode → Ctrl+drag. |
| Move Entity | Drag any entity. Snaps to 15px grid. |
| Minimap | Bottom-left. Color-coded by type or tag. |
Auto-Layout
Access from Toolbar → Layout menu.
| Algorithm | Best For |
|---|---|
| Hierarchical (BFS) | Schemas with clear parent–child relationships. |
| Sugiyama (Layered) | Complex schemas. Minimises edge crossings. |
| Force-Directed | Small models. Organic, force-balanced layout. |
| Grid | Uniform overview. |
| Circular | Many interconnected entities. |
| Radial Tree | Tree-like schemas with a central root. |
Export
Access from Toolbar → Export. Choose a format and click Export.
Data Formats
| Format | Ext. | Description | Compatible With |
|---|---|---|---|
| XMI | .xmi | UML 2.5 model interchange. Recommended. | Enterprise Architect, StarUML |
| SQL DDL | .sql | ANSI SQL script. Tables, indexes, FKs. | PostgreSQL, MySQL, SQL Server, Oracle |
| JSON | .json | Native SchemaGraphos format. | SchemaGraphos, custom scripts |
| Data Dictionary | .md | Markdown with entities, fields, indexes, and business rules. | Any Markdown viewer |
Image Formats
| Format | Description | Best For |
|---|---|---|
| PNG | Lossless raster at 2× resolution. | Documentation, presentations. |
| JPEG | Compressed raster. Smaller file. | Web embedding, email. |
| SVG | Vector. Scales without quality loss. | Print, large diagrams. |
Image exports automatically fit all entities and remove blank space.
Import
Access from Toolbar → Import.
| Format | Source | What is Imported |
|---|---|---|
| XMI | Enterprise Architect, StarUML | Classes, attributes, and associations. |
| JSON | SchemaGraphos | Complete model: entities, fields, relationships, and indexes. |
| SQL DDL | PostgreSQL scripts | CREATE TABLE, VIEW, and FK statements. |
Imported entities are added to the current canvas without overwriting existing entities.
Version Control
Version Control lets you save named snapshots of your model and restore them at any time.
| Action | How to |
|---|---|
| Create Version | Toolbar → Versions → Save Version. Model must be saved first. |
| View History | Toolbar → Versions → Version History. |
| Restore Version | Version History → Restore. Current state is saved automatically. |
| Delete Version | Version History → Delete icon. |
Create a version before major changes so you can safely restore if needed.
Version Comparison
Compare any historical version against the current model.
How to Compare
- Open Version History.
- Click the Compare button next to the desired version.
- The Comparison modal opens, grouped by entity.
What is Compared
| Category | Details |
|---|---|
| Added Entities | In current model but not in historical version. Shown in green. |
| Removed Entities | In historical version but removed. Shown in red. |
| Modified Entities | Name, description, color, type, tags. |
| Field Changes | Added, removed, or modified fields. |
| Index Changes | Added, removed, or modified indexes. |
| Relationship Changes | Added or removed relationships. |
Objects Library
Objects Library lets you save entities and fields as reusable templates.
| Action | How to |
|---|---|
| Save Entity as Object | Right-click entity → Save to Library. |
| Save Field as Object | Properties Panel → Fields → field menu → Save to Library. |
| Insert Entity from Library | Toolbar → Library → entity card → Insert. |
| Insert Field from Library | Select target entity → Library → field → Insert Field. |
| Filter Library | By type, model type, or name search. |
| Rename / Delete | Library → hover → edit or delete icon. |
Objects are stored per user and available across all models.
Naming Convention
Automatically convert entity or field names to a consistent case convention.
Always preview before confirming. Changes are difficult to reverse.
| Convention | Example |
|---|---|
snake_case | customer_order_id |
camelCase | customerOrderId |
PascalCase | CustomerOrderId |
kebab-case | customer-order-id |
UPPERCASE | CUSTOMER_ORDER_ID |
lowercase | customerorderid |
Options
| Option | Description |
|---|---|
| Apply To | Entity names, field names, or both. |
| Scope | All entities, or only the selected entity. |
| Preview | Shows before/after names before applying. |
Model Quality
Model Quality analyses your model and produces a score with actionable recommendations.
| Check | Severity | Description |
|---|---|---|
| Duplicate entity names | Critical | Two or more entities share the same name. |
| Unnamed entities | Critical | An entity has no name defined. |
| No primary key | Critical | An entity has no field marked as PK. |
| No fields | Critical | An entity has no fields defined. |
| Fields without type | Critical | A field has no data type assigned. |
| Duplicate indexes | Critical | Two indexes cover the same columns. |
| Similar entity names | Warning | Semantically similar names. |
| No entity description | Warning | An entity has no description. |
| Relationship without cardinality | Warning | A relationship was not assigned a cardinality. |
| Orphaned entities | Warning | Entities not connected to any other entity. |
| No tags | Info | An entity has no tags assigned. |
| Fields without description | Info | Fields missing individual descriptions. |
Search & Replace
Find and replace field names across the entire model.
- Open with Ctrl+K or Toolbar → Search.
- Type the search term. Matching entities and fields are highlighted.
- Enter replacement text and click Replace All.
| Option | Description |
|---|---|
| Case Sensitive | Matches exact case. |
| Exact Match | Only matches the full field name, not substrings. |
Account & License
Login
Uses Auth0. Supported: Google, Microsoft, Apple, Facebook, and email/password.
License Status
| Status | Badge | Effect |
|---|---|---|
| Active | Green | Full access. |
| Expiring (≤30 days) | Orange | Full access with a warning. |
| Expired | Red | Read-only. Saving disabled. |
| No License | — | Local-only. Cannot save to server. |
Session Rules
| Rule | Limit |
|---|---|
| Maximum session duration | 24 hours from login |
| Inactivity timeout | 1 hour without interaction |
Session timers persist across page reloads. Save frequently to avoid losing work.
Obtaining a License
License plans start at US$ 2 for 1 week. Visit our pricing page to see all available plans:
SchemaGraphos