Comment by solids

2 days ago

Mermaid is also great

https://docs.mermaidchart.com/blog/posts/7-er-diagram-exampl...

I use it in my project to document the schema. We keep the markdown file in source control so that we update it whenever we make database changes. We also have an extension that allows viewing it as the diagram in vscode in our .vscode\extensions.json file.

There are some disadvantages however:

1. The foreign key relationships aren't completely clear

2. The diagram became difficult to navigate in vscode as our schema grew in size

I found out about mermaid recently and have been using it to make diagrams. How do you use it for data modeling though?

  • Did you follow the link that the parent poster posted? It's exactly about how to do data modeling with Mermaid.

    • I think most people would mean something like using the foreign key constraints information schema views to understand the relationships, print out the columns, etc - its really a pretty trivial SQL query to create mermaid relations (though your engine of choice may not have all the metadata you want) but its actually difficult to find the right level of granularity - its very easy to make a lot of visual noise in mermaid.

  • What do you mean by data modelling? Which UML part? You start the diagram with a `erDiagram`

        ---
        title: Order example
        ---
        erDiagram
            CUSTOMER ||--o{ ORDER : places