"Len Morgan" <len-morgan@crcom.net> writes:
> >So how is this useful for anything beyond a toy database?
> >
> >This inability to drop a column makes it hard to follow an "extreme
> >programming" style of development, where one designs only as much into
> >the database schema as is needed at the moment (DTSTTCPW, YAGNI).
> >When I do that I often find that I need to drop columns (in favor of
> >other columns of different types) as I evolve the schema to support
> >ever more complex applications. PostgreSQL makes this a bit harder
> >than it needs to be.
>
> I would content that any moderately complex database design that starts at
> the keyboard instead of a pad of paper (i.e., DESIGNED) is going to have
> more problems than a "toy" database. Postgres is used in many "real"
> applications but more than likely they were thought out and designed before
> committing to tables.
For me, who has developed a few databases with web interfaces, this
isn't very easy, because the end user isn't always (read: almost
never) very good at explaining exactly what he/she wants, or they come
up with things they want later, after they've used the system for a
while. They, as users, don't realise that what seems to be small
changes to them, might need some redesigning of the database. As a
programmer, I can't tell the users that we can't make the change,
because they should've thought of it from the start.
Tomas