我在数据库中有这样的列:
User
- int Id
- string Name
Flat
- int Id
- string Describe
该公寓有一个管理公寓的人和其他居民
我考虑这个解决方案:
这是ManyToMany与附加列的关系。如果他是管理人,则在此列中将提供信息
UserFlat
- int UserId
- int FlatId
- bool Creator
这是正确的方法吗?
我应该如何准确实现它?
它是直接作为ManyToMany关系还是作为手动创建和管理的表?
障碍是用户只能属于一间公寓(将来,管理者将可以属于几间公寓),而其余人员只能属于一间公寓
还是完全不同且更好的解决方案?
答案 0 :(得分:1)
如果一个用户只能有一个单位,而一个单位只能有一个经理,则不需要单独的表。即使一个用户可以是多个单位的管理员,这也足够并且可以正常工作:
User
- int Id
- string Name
- int FlatId > FK to a Flat
Flat
- int Id
- string Describe
- int ManagerId > FK to a User