Someone has given you a logical model with over 500 tables to implement it in PostgreSQL, where to begin? Should I cry first? Should I just start typing create table statements like there is no tomorrow? No! I present you pgModeler!
pgModeler is a modelling open software developed by Raphael Araújo e Silva and it allows you to build a database just using a nice graphical interface and after you finish your design, you can just deploy it and there you go! Your database is ready!
For instance, suppose you have a table called road with an text attribute “name”, geometry column “geom” with type MultiLinestring, with epsg 4326. To implement this table you just have to click around and there you go, you have the following table:
To deploy this, just go to export and choose between .png, sql or direct deploy into postgres. The sql for the table above is:
CREATE TABLE public.road( id serial NOT NULL, name text, geom geometry(MULTILINESTRING, 4326) NOT NULL, CONSTRAINT road_pk PRIMARY KEY (id) );
Another great feature of pgModeler is reverse engineering! Just define a database connection and it shows you all tables and relationships.
By the way, I was the guy that was given the huge database to implement and if wasn’t by pgModeler, I think I’d still be crying… =]