Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Three levels of modeling #1

Open
suntong opened this issue Jan 2, 2023 · 3 comments
Open

Three levels of modeling #1

suntong opened this issue Jan 2, 2023 · 3 comments
Labels
enhancement New feature or request

Comments

@suntong
Copy link

suntong commented Jan 2, 2023

There are three different levels of modeling, like below. The most helpful one is obviously the Physical one, but when the database is huge, a couple of hundreds of tables is just so normal these day, the more abstracted forms will be more preferable, as the number of tables grow.

Machine generated diagrams are the perfect solution for such problem, and hope erdiagram can support different levels of diagrams someday.

Thanks

Conceptual

ClipCapIt-140625-111749.PNG

  • the most abstract form of data model
  • simplified, helpful for communicating ideas to a wide range of stakeholders

Logical

ClipCapIt-140625-112254.PNG

  • contains a bit more details than the almost-empty conceptual one, which will include all key structure data elements for the relationships (for table joining; and no more further details than that, unlike the borrowed image above)

Physical

ClipCapIt-140625-112702.PNG

  • this is only a borrowed image; The key is to contain all fields, which has already been implemented. IF the PK/FK can be marked out, then that'd be super.
@nestorrente
Copy link
Owner

Hi @suntong! Thanks a lot for being interested in this project 🙂

Currently, ERDiagram supports only logical diagrams, but it will be super easy to add support for conceptual ones. Regarding physical ones, that will require a bit of refactoring, because now the diagram generators are receiving the ER model, and they will need to use the database model.

I'm quite busy right now, but I will try to add support for at least conceptual diagrams during this month (not only to the ERDiagram library but also to the playground and CLI).

Thank you so much for the idea! 😀

@suntong
Copy link
Author

suntong commented Jan 12, 2023

Oh, thanks for the reply.

I refined my OP to make it more clear about the end goal.

As for the physical one, the is image is only a borrowed one -- the key point is to contain all fields, which has already been implemented. But feel free to add anything else at much later time.

@nestorrente
Copy link
Owner

Hello @suntong!

I added a new diagramLevel option to both PlantUML and Nomnoml diagrams. Currently, it's only possible to choose between conceptual and logical, and the only difference is that the first one doesn't include any field of the entities.

As I said before, at the moment it's not possible to create physical diagrams, as the diagram generation components don't have any DB-related information. I will keep this issue open, as this is something that I'd like to include someday in the future 🙂.

I made the change in both the library and the playground, and I will add it to the CLI as soon as possible (even when the CLI is kind of experimental and I'm pretty sure that nobody is using it 😅).

Thank you again for your interest!

@nestorrente nestorrente added the enhancement New feature or request label Jan 13, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants