现在需要做一个类似于sns的网站,但是权限要求特别严格,对于所有的blog、图片、留言等一系列的东西都要求能够制定可见的好友。我想到了以下几个方案,大家一起讨论讨论。方案一:
使用联合主键,用一张总表控制所有的权限关系。表结构如下:create table 'premission' (
       'id'  int(15) unsigned NOT NULL,
       'type' int(2)  unsigned NOT NULL,       
       'uid' int(10) unsigned NOT NULL,       
       PRIMARY KEY  ('id', 'type', 'uid')
) ENGINE=MyISAM DEFAULT CHARSET=utf8;这张表主要字段就是这三个,用于控制一对多的权限。id为blog、图片等id,type为类型,比如blog为1,图片为2等。第三个就是允许可见的用户id。方案二:
就是用外键连接两张表,处理此关系。方案三:
使用拼接字符串的办法来控制,表结构如下:create table 'premission' (
       'id'  int(15) unsigned NOT NULL,
       'type' int(2)  unsigned NOT NULL,       
       'uids' int(10) unsigned NOT NULL,       
       PRIMARY KEY  ('id')
) ENGINE=MyISAM DEFAULT CHARSET=utf8;这样在uids中可以保存像“1, 2, 3, 6, 8, 14”这样的数组,到时候用php处理分割之后操作。大家看看那种方案可取呢?或者是还有另外更好的方案?可以的话追加分数哦~