Schema3D - Interactive SQL schema visualization

Hi everyone! :waving_hand:

I’m excited to introduce a project I’ve created called Schema3D. It’s an interactive 3D visualization tool designed to parse SQL and T-SQL scripts and render them in an intuitive way.

Demo link: Schema3D

:light_bulb: The Motivation

If you are familiar with SQL schema design, you know the traditional ERD (Entity Relationship Diagram). While standard, they often become unreadable “spaghetti” when dealing with complex databases containing dozens of tables.

I wanted to see if adding the Z-axis via Three.js could alleviate the crowding problem. By moving to 3D, we can:

  • Utilize depth to separate distinct table clusters

  • Interact with the schema more naturally (zoom, orbit, pan)

  • Illustrate relationships without line-crossing chaos

:test_tube: Request for Feedback

I am looking for feedback from this community, specifically those who work with SQL databases (engineering or design):

  1. Utility vs. Gimmick: Does the 3D aspect genuinely help you explore the table relationships better than a 2D view, or does it feel more like a novelty?

  2. Navigation: How do the controls feel? Is it intuitive to inspect the details of a specific table or relationship?

  3. Enhancements: This is a first pass - if you see a path for this to become a practical tool, I would love to hear your thoughts.

Thank you for checking this out, I look forward to your feedback!

3 Likes

I think it’s very well done.

Between 1995 and 2013, I worked with SQL databases, among other things. At first, SQLWindows from GUPTA was a great thing. Then I also worked with MySQL and the low-code method by Scopeland ( https://www.scopeland.com/ )

But I could have really used a visualization like that.

2 Likes

menu:

  1. Left, active
    1.1 Prokurutku parameters, do not enter the screen. Or not so freely, I just don’t see all the parameters with a notebook.
    1.2 Lower menu with saved export. Either hide or hide if we see. Now he’s under and doesn’t look very good.
  2. Rounding buttons. Sometimes they are square, and the pads are rounded

–3d—

  1. Orange hexagons have no top and bottom.
  2. When the granite is compressed, the edges of the torn geometry are visible. Put a kurg in there.
  3. When moving the object in 3d, it either moves away or the other way around, that is, I move it and it stands still.

–xz–

  1. button remove unnecessary. (axes and stars, possibly changeable background)
  2. Grouping of objects, that is, it would be possible to collapse a group.
  3. Minimization, text cleaning when removed from cameras. (if you have 100 cells, it will start glitching fps)
  4. csv export - it would be nice in both directions. I opened it and did not see the coordinates. And that’s how he opened it.
  5. when exporting 3D, you have boxes there, not what’s on the scene.

Yes, 3D is beautiful, you can reveal, hide, color, but 2D is easier to read)))))

good luck with the project.

1 Like

@vorodis2 thank you for the thorough review and feedback - I’ve already begun incorporating some of the items you mentioned.

This is just my immediate reaction, so conjectures, intuitions. As in pay no attention unless it is helpful. I’ve done bunches of sql, but certainly not an expert,

  1. A visualization should provide some insight. Although it helps to visualize it graphically, at least for me, I did not gain much insight.
  2. What kinds of things would be an insight? I don’t know, really.
  3. Joins are interesting, so maybe graphically build a join
  4. show how to simply, normalize the tables somehow. And if they are not?
  5. Add a column, reference it somewhere else, build a join for it

I think the direction is interesting, but 3D stuff has an inside & outside. Force diagrams?

but nice work!

@metaltab, thanks for the feedback. Your comments around insights are helpful - I hadn’t thought of it this way. I find the 3D visualization easier to digest than the traditional ERD style, but I can’t tell you that it yields any additional insights (at least, not yet).

Graphical modifications are an interesting idea as well. Currently it’s a one way street (SQL / T-SQL to visualization), but I’ll think about how GUI schema changes would work. In terms of priority, it probably makes sense for this to follow implementation of a user account creation flow so changes can be persisted beyond browser memory.

Thanks again for the review!

Hi Shane,

Thanks, very interesting ! Some notes - I talk from an enterprise standpoint (corporate datawarhouses, BI consulting etc) so might have bias. And I have been experimenting with 3d Vizs solutions, it’s a hard sell (hence some convictions ).

1)Is 3D Gimmick ?

Short answer yes (alas), but is that the right question ? It seems to me that the promise of Schema3D is to offer a better way to navigate / explore Database Schema, and if this is true, it should be convincing in 2D already. Unless you identified a dimension that would make a good candidate for the Z axis (I did nt see that), 3D should remain a marginal option - appealing but failing to bring such an advantage that it dislodges 2D.

You already have dimensionality in 2D using color and shape, plus the 2 spatial: to be realist, for the purpose of ERD, 4 analysis axes are probably enough.

Your choice of offering 2d and 3d is a good way out of the dilemma, of course. It has the drawback of asking the user to chose, something they don’t like to do and make them suspicious “our selling point is that we have 3D, but you can do 2D ” (subtext: … because we are still not sure 3D is that useful).

And a side note: you might meet the Bloomberg Terminal effect: the well-known story of Bloomberg trying to change its 80’s-style interface to something cleaner: users were dead against – the traders just loved the “badass” vibe of the interface, makes the job a more specialist affair. Likewise I bet that data engineers get some pride out of navigating awe-inspiring ERM. So, Schema3D might make schemas look too trivial !

  1. Navigation: Nice, no comments. I think you have / are above MVP.: Model selection, search…

  2. Enhancements / paths to a practical tool:
    I suppose that the way forward would be to show that to database vendors; I am dubious they would replace their existing ERM visualization tools, so the question becomes how that view and ERMs live together ?

Some features that might take this further:

  • Push on search / traverse, towards data lineage functions ?
  • I think it would be nice to be able to superpose a query to the schema .
  • Long-shot: security is a weird to model. I see most DB designers struggling to have a coherent mental model of it; maybe this is where this kind of representation could make a breakthrough ?

Will be happy to discuss further .

1 Like

Thank you for the thoughtful response!

In terms of usage / adoption, I agree that this would need to be integrated with whatever tools / platforms people use for it to gain widespread adoption; the need to upload or paste a SQL script in an external tool is a significant barrier. At least for now, Schema3D is more of a storytelling tool than a daily driver for experts.

On to the features you mentioned: can you clarify what you mean by the first bullet? The query superimposition seems like a fun visualization problem, I might take that one on soon.

I’d also like to get your thoughts on how to visualize security; the first thing that comes to my mind is reading GRANT statements, creating a clickable list of roles, and then visualizing the table-level permissions for each role. Is this aligned with what you were thinking?

  • What I meant by “search / traverse, towards data lineage “ : i think that one way this tool could be superior to ERDs, is in dynamic discovery: showing where the data originates: search for occurrences of a field , its synonyms, where it propagates, etc. Eg, illuminating the end-to-end web of relations from a field.

    This is somehow related to Query path visualization: show where the data comes form.

    Large organizations will have queries that feed from stacks of dozens of views, in cases of such complexity, this visualization might help. Adn this task (debugging queries for incident resolution) is a difficult, recurring task , therefore a good tool would be very valuable.

  • Security: yes, displaying the segregations by schemas, domains, and add roles indeed. To make apparent, using the viz dimensions, what is protected.

Got it - thanks for clarifying. I’ll experiment with a few approaches to the visualization for the query path & security items, as I have initial ideas for how to achieve these. The former may well evolve into something more complex (e.g. stored procedure visualization or some version of a semantic model). I’ll keep you updated - thanks again for the discussion!