关于上下级结构数据库表设计
社区表,社区结构3级 root->parent->child
CREATE TABLE `community` (
`id` varchar(10) NOT NULL,
`name` varchar(1000) NOT NULL DEFAULT '' COMMENT '社区名',
`parent_id` varchar(100) NOT NULL DEFAULT 'root' COMMENT '父节点Id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='社区表';
子社区可以更改父社区,比如原来的一个3级社区换了父社区
管理员可以管理不同的社区,比如超级管 可以管理全部社区,二级管理员可以管他下属的3级社区
CREATE TABLE `admin` (
`id` varchar(100) NOT NULL,
`password` varchar(50) NOT NULL DEFAULT '' COMMENT '密码',
`username` varchar(255) NOT NULL DEFAULT '' COMMENT '用户名',
`community_id` varchar(100) DEFAULT NULL COMMENT '社区Id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理员表';
活动表,活动关联到社区
CREATE TABLE `activity` (
`id` varchar(100) NOT NULL,
`tag` varchar(255) DEFAULT '' COMMENT '标签',
`title` varchar(255) DEFAULT '' COMMENT '活动标题',
`community_id` varchar(100) NOT NULL DEFAULT '' COMMENT '社区id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='活动表';
管理员查询活动,2级管理员可以查询它全部管理到社区活动信息,
我想到的方案是使用in
select * from activity where communitu_id in('1','2')
想请问各位大佬,如果社区很多的话,这中方式效率很低吧,有其它方案吗,比如数据库表结构设计
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在数据库中存储一棵树,实现无限级分类