pawelsalawa / sqlitestudio

A free, open source, multi-platform SQLite database manager.
https://sqlitestudio.pl
Other
4.62k stars 571 forks source link

ER diagram capability for database schema #2865

Open pawelsalawa opened 6 years ago

pawelsalawa commented 6 years ago

(This issue was migrated from the old bug tracker of SQLiteStudio)

Original ID from old bug tracker: 2977 Originally created at: Thu Nov 19 17:34:47 2015 Originally last updated at: Thu Nov 19 17:34:47 2015

Hi Support

Lovely software, it would be a good feature if you could view all tables and relationships between tables, similar to MSSQL.

Being able to view the tables is a nice feature, also move and re-arrange the relationship links, it's very useful to be able to print the diagram.

I know this must be loads of work, however many users would benefit from an improved set of features like this.

Thanks.

Best Regards Steve

fastlater commented 5 years ago

@pawelsalawa Any update about the feature or a good free tool where we can design the diagram and then maybe import it into sqlitestudio? I found dbdiagram.io (free but not super friendly) and dbdesigner.net (free for small projects only)

pawelsalawa commented 5 years ago

No update. I'm short of time so currently I don't do major features.

fastlater commented 5 years ago

@pawelsalawa no worries.

JimCallahanOrlando commented 2 years ago

Some sample code DB/ER Diagrams:

  1. sqlite3todot.c (C) C-language implementation of ER diagrams in less than 200 lines of code -- creates .dot files for graphviz https://github.com/chunky/sqlite3todot/blob/master/sqlite3todot.c

  2. ERAlchemy (Python) Python program generates Entity Relation (ER) diagram from databases. The database is specified as a SQLAlchemy database url. ERAlchemy requires GraphViz to generate the graphs and Python. https://github.com/Alexis-benoist/eralchemy

creativecat commented 1 year ago

Would be a great feature! As a teacher, I'd like to make things clearer to my students and it would be cool having everything in one tool. Currently I'm using mermaid.live to create diagrams, but I/my students can't check (graphically) whether tables are correct implemented.

pawelsalawa commented 1 year ago

Keeping this here just for reference: https://doc.qt.io/qt-5/qtwidgets-graphicsview-diagramscene-example.html

pawelsalawa commented 1 year ago

Another one for reference: https://ogdf.uos.de/

pawelsalawa commented 1 year ago

Yet another useful reference: https://github.com/ArsMasiuk/qvge

pawelsalawa commented 1 year ago

Update on work in progress.

What's left:

Here's short recording of playing with real schema (I've used sample schema from tutorial I found online: https://www.sqlitetutorial.net/sqlite-sample-database/ ) parsed and rendered: Recording 2023-05-02 at 23 44 02

deborah86 commented 1 year ago

I like the implementation so far. I am excited for this feature to release.

I would like to see:

Here is an image showing the same feature that is in another program.

image

Here is another image image

pawelsalawa commented 1 year ago

As mentioned in my previous post, there are already 2 buttons to organize diagram automatically - each button for different algorithm used to organize (FDB and NEATO). You can see them used on my recording.

Column type representation is planned. Also constraint icons are planned.

What is color coding? I mean is it like you apply a color of your choice to a table header and that's it?

deborah86 commented 1 year ago

What is color coding? I mean is it like you apply a color of your choice to a table header and that's it?Yes, that is exactly it. I am happy those features are planned. -------- Original message --------From: Paweł Salawa @.> Date: 5/11/23 12:42 PM (GMT-08:00) To: pawelsalawa/sqlitestudio @.> Cc: deborah86 @.>, Comment @.> Subject: Re: [pawelsalawa/sqlitestudio] ER diagram capability for database schema (#2865) As mentioned in my previous post, there are already 2 buttons to organize diagram automatically - each button for different algorithm used to organize (FDB and NEATO). Column type representation is planned. Also constraint icons are planned. What is color coding? I mean is it like you apply a color of your choice to a table header and that's it?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>