in reply to (OT) Database design: omitted partially filled fields.

Some databases (for example, postgress) support table inheritance, so you can make a base table containing all the columns that are always filled, and have other tables inherit from it and add their own columns. This can be useful if you can split up your rows into seperate "classes" with an inheritance relationship.

Personally I'd go for your options 1, though. I've used some of the other schemes (and table inheritance too), but I found them slow and complicated and they only give you real benefits in very specific cases.

updated: spelling

  • Comment on Re: (OT) Database design: omitted partially filled fields.