Visual DynamoDB Design and Documentation with DbSchema



Amazon DynamoDB is fast and scalable, but designing and managing its structure can be challenging - especially when you can’t see the schema visually. DbSchema brings a new perspective: you can design DynamoDB visually, edit data directly, and even generate HTML5 documentation or work in teams using Git.

DynamoDB Diagram
Virtual Foreign Key
DynamoDB Diagram

Reverse Engineer or Design Your DynamoDB Structure

Connect DbSchema to your AWS DynamoDB account, and it automatically reads your existing tables, showing them as clear diagrams with key icons and attribute types. You can also start from scratch, creating new tables visually without writing any JSON.

Here’s an example database for a small online shop:

TablePrimary KeyDescription
UsersUserId (String)Stores user information
ProductsProductId (String)Product catalog
OrdersOrderId (String)Customer orders
OrderItemsOrderId + ProductId (Composite)Items inside each order
ReviewsReviewId (String)Customer feedback for products

Tip: In DynamoDB, the primary key must always be defined first. Only after that can you add other attributes or nested JSON fields.


Creating Tables in DbSchema

In DbSchema’s diagram, you can right-click and create a new table visually - no JSON required. For example:

AttributeTypeKey Type
UserIdVARCHARPartition Key
NameJSON-
AgeJSON-

DynamoDB Table
Define the Primary Key
Created after INSERT

Once the UserId key is defined, DbSchema lets you add the rest automatically. You can also adjust names, reorder columns, or edit data types from the GUI.


Insert Data

DbSchema lets you add data directly in the Data Explorer.

DynamoDB Table
Insert Data Visually

You can also use SQL-like commands - even though DynamoDB itself uses JSON. For example:

INSERT INTO Users VALUE {'UserId': 'u123a', 'Name': 'Alice', 'Age': 30}
INSERT INTO Users VALUE {'UserId': 'u124b', 'Name': 'John', 'Age': 25}

INSERT INTO Products VALUE {'ProductId': 'p101', 'Product': 'Wireless Mouse', 'Price': 29.99}
INSERT INTO Products VALUE {'ProductId': 'p102', 'Product': 'Mechanical Keyboard', 'Price': 79.50}

Visual Relationships Using Virtual Foreign Keys

In DynamoDB, there are no real foreign keys, since the database is schema-less and doesn’t enforce relationships. However, in DbSchema, you can create virtual foreign keys to visualize logical connections between tables, just like you would in a relational model.

These virtual lines help you and your team understand how data is related, even if DynamoDB doesn’t enforce it.

DynamoDB Table
Virtual Foreign Key

For example, in our e-commerce design:

  • Orders.UserId → Users.UserId Each order belongs to a specific user.
  • OrderItems.OrderId → Orders.OrderId Each order item links back to its order.

How to Create a Virtual Foreign Key in DbSchema

  1. Open your diagram containing the DynamoDB tables.
  2. Hover over the column name in one table (for example, Orders.UserId).
  3. Click and drag the small key icon onto the matching column in another table (Users.UserId).
  4. Release the mouse button - DbSchema will draw a relationship line between the two tables.
  5. Optionally, right-click the line to set cardinality (one-to-many, etc.) or to rename the virtual key.

These virtual links do not affect your DynamoDB data, but they make your schema easier to read and document.

Generate Interactive HTML5 Documentation

Once your design is ready, DbSchema can export your entire DynamoDB structure as interactive HTML5 documentation.

DynamoDB Table
Interactive docs with mouse-over details.

This documentation includes:

  • Table diagrams with attributes and key icons
  • Tooltips and descriptions for each field
  • Navigation between tables and attributes

You can publish the documentation on your internal wiki or share it with your team - no installation required. It’s a great way to keep your DynamoDB structure always up to date and easy to understand.

Collaborate Using Git

When your project is saved as a .dbs model file, DbSchema can store it in a Git repository.

DynamoDB Table
pull/push the changes
work on different branches

This allows you to:

  • Track changes in your DynamoDB schema
  • Merge updates from multiple team members
  • Roll back to previous versions when needed

It’s ideal for teams that design or test DynamoDB schemas together, maintaining a full version history and avoiding conflicts.


Why Use DbSchema with DynamoDB

  • Reverse engineer existing tables
  • Visually design new structures
  • Insert and modify data easily
  • Generate HTML5 documentation
  • Work in teams using Git integration

DbSchema turns DynamoDB into a visual, collaborative, and well-documented environment - all without touching raw JSON.


Try DbSchema for free and explore your DynamoDB visually. Download DbSchema

DbSchema Database Design Tool

The Art of Keeping the Data Together
Desktop app for
DbSchema ER Diagram Features Overview
Visual Design & Schema Diagram

➤ Create and manage your database schema visually through a user-friendly graphical interface.

➤ Easily arrange tables, columns, and foreign keys to simplify complex database structures, ensuring clarity and accessibility.

GIT & Collaboration
Version Control & Collaboration

➤ Manage schema changes through version control with built-in Git integration, ensuring every update is tracked and backed up.

➤ Collaborate efficiently with your team to maintain data integrity and streamline your workflow for accurate, consistent results.

Data Explorer & Query Builder
Relational Data & Query Builder

➤ Seamlessly navigate and visually explore your database, inspecting tables and their relationships.

➤ Build complex SQL queries using an intuitive drag-and-drop interface, providing instant results for quick, actionable insights.

Interactive Documentation & Reporting
HTML5 Documentation & Reporting

➤ Generate HTML5 documentation that provides an interactive view of your database schema.

➤ Include comments for columns, use tags for better organization, and create visually reports.