我一直在寻找通过谈论从数据库中选择的层级内容的帖子,但我仍然对我怎么能实现以下疑点: 我有三个表:层次数据库菜单
- 位置:我在这里存储一个位置和它的代理商家长(例如欧洲 - >英国 - >伦敦)。
- 建筑物:在这里我存储建筑物。一座建筑物必须位于同一个位置。
- 用户位置:在这里我存储特定用户将能够看到的位置。
- 用户建筑物:在这里,我存储了特定用户将能够看到的建筑物。
请注意,管理员可以这样说:“用户1将看到来自日本的所有建筑物,并且他将能够从法国看到那个特定建筑物,但只有那一个”。
有了这一切,我想建立一个菜单(特定用户),将是这样的:
- 建筑
- 欧洲
- 德国
- 慕尼黑
- Building_1
- Building_2
- 慕尼黑
- 英国
- 伦敦
- Building_3
- 伦敦
- 德国
- 欧洲
我对如何获取该信息有所疑虑,我将不胜感激。
编辑:
表结构:
1)建筑
- ID(主键)
- 名称,描述,...
- LOCATION_ID(外键位置表)
- Company_ID(公司表的外键..建筑物必须属于j一家公司)。
2)地点
- ID(主键)
- 名称
- 父ID(外键表本身..如:伦敦条目将有一个外键进入英国。
3)公司
- ID(主键)
- 名称,说明...
4)用户
- ID(主键)
- COMPANY_ID(外键公司该用户(一个用户只属于一个公司)。
5)用户建筑物
- Id_User(外键,用户表)
- Id_Building(外键,建筑表)
6)用户位置
- Id_User(用户表的外键)
- Id_Location(位置表的外键)
这个想法是公司可以分配用户可以看到的建筑物。公司可以分配特定的建筑物(不依赖于位置),这就是为什么存在用户建筑物表格,并且他们也可以分配一个位置,以便用户可以看到属于该位置的所有建筑物。
感谢您的意见,我希望我已经澄清了一点。
谢谢。
关于在MySql中存储分层数据,请参阅http://dev.mysql.com/tech-resources/articles/hierarchical-data。html – 2011-02-16 07:43:55
你可以告诉我们你的表格结构,也许可以组成一些演示数据吗? 这个问题只是关于存储和检索数据。 – Bajrang 2011-02-21 17:36:44