Hello again -
I recently asked people what their favorite CASE tool was for defining
PostgreSQL databases and have gotten almost no answers - except one
person who said they don't *use* PostgreSQL for databases over 60 tables
precisely because of the lack of such support.
I'm new to the Linux world and I'm unsure what kinds of stuff people are
doing in it.
One the one hand it sounds like Linux users are highly capable because
they seem to be more aware of the "inner workings" of their computers
and code. One the other hand, I sometimes worry that Linux users might
be less productive than people in other OSes because you might more
willing to put up with a lack of support tools, maybe as part of some
kind of do-it-yourself or roll-your-own or command-line-mode ethic.
CASE tools are not a luxury for database design - just because they're
usually visual and work at a "higher level" (linguistically) than
implementation-level database design tools (an example of a lower,
"implementation-level" tool would be what I dread you're all defining
your databases in - a raw text editor where you key in your SQL DDL
statements) - just because high-level design tools are often easier and
more visual to use doesn't mean they're somehow "bad" - it just means
they're part of a great tradition in mathematics and computer science -
the development of ever higher-level (ie more compact and expressive)
languages and the corresponding compilers that translate them down to
the lower-level (lengthy, repetitive, error-prone, machine-writable)
languages... like SQL.
I'm not trying to flame here, but I *am* trying to light a fire under
people... Does the word "data dictionary" mean anything to PostgreSQL
users? Does this thing exist in some other form than what I'm used to?
Can anybody out there please tell me their convenient real-world
methodology for creating PostgreSQL databases? (Everyone who's just
raw-coding SQL in a text-editor please raise your hands.)
Everything about Linux and PostgreSQL is so open I'd be very surprised
if there weren't some kind of simple (ie, visual) tool for defining
tables, columns and relationships on a Linux machine and then pushing a
button and having the tool spit out a complete SQL script in the pgsql
version of your choice defining the database you just "drew".
I mean, such a data-modeling tool could be written quite quickly in tcl
it seems like, and distributed as open-source. And since I'm a
Linux/PostgreSQL/tcl newbie, I'm hoping someone's written something that
already so I can roll up my sleeves and start defining syntactically
correct PostgreSQL databases right off the bat. Or is defining a
Linux-based visual data-modeling and
SQL-generating(-and-reverse-engineering) tool going to have to be my
first task as a Linux database programmer? At the very least, is there a
data-modeling tool that runs under Unix(/Linux?) that permits some
degree of end-user parameterization over target SQL dialects, so that we
could just define PostgreSQL as a target dialect for it?
- Scott Alexander