Lewis Cunningham wrote:
--- vladimir konrad <vk@xxxxxxxxxxxxx> wrote:
I think that I understand basic relational theory but then I had an
idea.
Basically, instead of adding field to a table every time there is a
need for it, have a table split in two: one holds identity (id) and
one holds the attributes (linked to this id).
Basically, if in the future user decides that the subject should
have a new attribute, he can simply add "attribute definition" and
attribute_definition_set (if any) and the application would handle
Basically, you would be creating your own data dictionary (i.e.
system catalog) on top of the db data dictionary. The database
already comes with a way to easily add columns: ddl.
If you have some part of your app that needs to "select" the list of
columns in a table you should look at
http://www.postgresql.org/docs/8.2/interactive/catalogs.html
particularly pg_class and pg_attribute
--
Shane Ambler
pgSQL (at) Sheeky (dot) Biz
Get Sheeky @ http://Sheeky.Biz
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match