宁波网站推广软件哪家强些,个人网页模板关于爱国,设置网站解析,重庆承越网站建设公openfire中通过ofgroup/ofgroupprop/ofgroupuser实现组织结构中的分组#xff0c;通过ofroster/ofrostergroups实现好友关系中的分组。但是呢#xff0c;我们做二次开发的时候#xff0c;希望能够有自己的个人联系人及分组#xff0c;它没有确认过程#xff0c;也就是说通过ofroster/ofrostergroups实现好友关系中的分组。但是呢我们做二次开发的时候希望能够有自己的个人联系人及分组它没有确认过程也就是说只要我愿意我可以将任何组织结构中的用户添加到自己的任何联系人分组中。那么我们设计如下 两张表ofprivateuser/ofprivategroup前者记录联系人信息后者记录分组信息。 ofprivateuseruserid(primary key)(用户id), groupid(primary key)(组id), permission(组拥有者对用户的权限) ofprivategroupgroupid(primary key)(组id), name(组显示名称), owner(组拥有者) 备注userid一般为username可索引到ofuser表中的用户记录。owner表示分组是属于哪一个用户的。 对于如此设计大家可能会有如下疑问 1.一个联系人可以属于多个分组吗 答可以。比如ofprivateuser: (userid,groupid,permission)为(zhangsan,group001,1)以及(zhangsan,group002,1)。则表示zhangsan既属于group001又属于group002。 2.一个用户如何查询自己的全部分组及分组下的联系人 答通过owner字段在ofprivategroup中找到他名下的所有分组再通过groupid字段在ofprivateuser中找到每个分组下的所有用户。 3.ofprivateuser表中groupid是不是外键 答算是的外键的作用是让两张表形成关联且外键只能引用外表中指定列的值。但是我们也可以不将其设为外键groupid是不是外键对我们编程没有影响。外键是数据库一级的完整性约束就是书中说“参照完整性”的数据库实现方式。外键属性去掉后DBMS不会对录入的数据进行“参照完整性”检查仅此一点影响。 4.修改组名方便吗移动联系人的分组方便吗 答方便均只需要改动数据表中的一条记录。修改组名直接操作ofprivategroup中groupid对应的name移动联系人分组直接操作ofprivateuser中userid对应的groupid。 转载于:https://www.cnblogs.com/ErinCodeMM/archive/2012/03/06/2382312.html