Table: object (generic object) ------------------------------ id type_id status parent_id creator_id created last_modified Table: notice (adds notice specific fields to the object table) --------------------------------------------------------------- id (1 to 1 relationship with object.id) notice_type (ie wedding, funeral, birth etc) title content etc Table: charity (adds charity specific fields to the object table) ----------------------------------------------------------------- id (1 to 1 relationship with object.id) name description url etc #### Table: members (link table) ---------------------------- set_id (in this example, the notice ID) member_id (in this example, the charity ID) #### $set = Set->new({ set_id => $notice->id, name => 'imagelist', # combined with set_id to provide an ID for caching selectors => { type => 'image' }, });