Database Modeller

dbmodel2Several times I needed a tool to play with database models on Linux and I haven’t found anything decent, so I’ve decided to write one myself. I’ve been using Visio’s entity-relational diagram features a lot and I like it, so this is where I got ideas for the diagram look and editing UI design from. It’s far from complete, but it already does most of the things I needed it to do.

Release 0.3 (2010-01-24)

Download

Changes

  • PDF export
  • Support for printing
  • Opening of files passed through the command line arguments (Bug #401595)
  • The recently used files list now always uses absolute paths
  • Implemented auto-scrolling in the diagram view (Bug #420324)
  • The “Close” menu item will now only close the document, not the window (Bug #420322)
  • Use the selected file format in the export dialog, instead of relying only on the extension (Bug #396056)

Development

You can get the development version of the source code using Bazaar:

bzr branch http://bzr.oxygene.sk/dbmodel/trunk dbmodel

You need to have Qt4 installed, then you can run qmake followed by make to build it.

Roadmap

As I mentioned, this is a personal tool and not a very high-priority project, but there are a few things I’d like to implement in near feature:

  • Extend the model to be able to fully represent a physical database schema (at least for PostgreSQL).
  • Use QtScript to allow users to export the schema into SQL scripts, ORM mapping classes, etc.
  • Allow users to manually edit connections in the diagram. Doing this automatically is a very complex problem (even the simplest approximation I could think of), for which I don’t have enough time.

Links

9 Responses to Database Modeller

  1. Pingback: Lukáš Lalinský | Database Modeller 0.3

  2. Palo says:

    Hi Lukas, what about writing module for SQuirreL SQL. Just kind of view. Anyway nice tool and looking forward to use it – specially with PostgreSQL.

  3. Vaclav Hajek says:

    Hi Lukas,

    can I bring the feature request? When I’m doing some relations, two thing are missing to me. Firts, relation arrow may start and finish on the accurate positions of the table columns which are in relationship. Second, can you add cardinality “value” above the arrow (maybe just only during mouseover event)?

    Thank you, greeting from the neighbourhood :) Vaclav.

  4. I need an arrow like this

    >

    Can you add it? please!

  5. Frank says:

    A dumb question but… what do I do now that I’ve downloaded the source code tar ball? I’m running SUSE11.3.
    Very nice looking application, I’m eager to try it.

  6. The README file in the tarball contains some information, but probably not detailed enough. You will need to install Qt development tools (seem to be in a package called libqt4-devel). The run qmake, make and make install (as root) in the unpacked source code directory. After the last command you should be able to use dbmodel to start the application.

  7. Many thanks, after googling for various alternatives, this was a refreshing find, a quick, easy to use application, just wanted to say thanks, I can crack on with what im doing!

  8. ink says:

    Just two things I miss:
    1) Relations should be redrawn after table position was changed with dragging
    2) Column types should be displayed just next to the column names (name : type)

  9. Danilo says:

    Hi Lukáš,
    thanks for your useful tool! Just a quick note:
    I’d like to import SQL script(starting from Sqlite and only the CREATE TABLE statement) to aim to a fast diagram creation, so do you think to continue your develop? if yes, should it be a new feature?
    Thanks in advance, Danilo

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>