请问怎么样设计数据库才能让程序更具有扩展性

我想让自己的程序和用户即将扩展的程序共用一个会员,应该怎么设计数据库和程序呢,怎么才能达到这样呢。
问题补充:
这是一个好友给我的建议

映射表只有两列,第一列存原先用户的id,第二列存论坛用户的id,同一行说明是一个用户,上论坛,通过论坛id再去查论坛表

你那个是多对多关系

所以要搞张中间表!

我跟你说的是,以后好扩展的表怎么设计~

有统一的外键字段
状态用来表示 关联不同表的类型。
不同的状态表示关联不同的表。

比如 一个人属于 那种生物种类
下次你想 扩展到
一个人属于那个部门 你就可以用状态了表示关联不同的表
或者
一个人属于那个论坛 通用可以扩展

表里除了 主键! 不要设置任何外键。

但要预留外键的字段,在加一个状态字段(不同的字段表示不同的含义)