Dia is roughly inspired by the commercial Windows program ‘Visio,’ though more geared towards informal diagrams for casual use. It can be used to draw many different kinds of diagrams. It currently has special objects to help draw entity relationship diagrams, UML diagrams, flowcharts, network diagrams, and many other diagrams.
Another free alternative to Visio is Openoffice draw. Read more here: https://chase-seibert.github.io/blog/2009/03/26/openoffice-draw-vs-visio.html#