1
2
你要找的是 relational division 不直接在SQL中实现,但可以实现。在谷歌搜索其他例子。 |
2
0
在快速查看模式之后,我认为您可以做的一件事是创建一个“to-be-u-certified”表。当产品被分配到座位时(当产品被填充时),用用户ID、产品ID和座位ID填充它。 在将记录添加到“认证”表中时,删除“待认证”表中的相应记录。这将使您能够方便地访问为用户认证的所有产品和未认证的产品。 要消除重复的产品ID,可以按产品ID分组。 |
3
0
您需要更改lessonstatus rtab表:
然后,您可以查询用户拥有座位的每个产品,他是否经过认证?这假定他所获得的课程数,比如说,50%或更高的课程数与产品所有模块中的课程数相同。
|
4
0
更新: 我进一步考虑了这个问题,并考虑了是否允许更好的工作,简单地删除用户座位表,然后使用等效的认证座位表(可能重命名)来保存有关用户座位状态的所有信息。这样,用户、他们的座位、座位内的每个产品以及用户是否已为特定产品和座位认证之间就建立了直接关系。 因此,我会将以下更改应用于随问题发布的模式:
进一步规范这种新结构的另一种方法是这样做:
我不太确定这是否能解决问题,或者在引入新问题的同时它是否会稍微改变问题的性质。那么,有人有其他的批评或建议吗? |
Davtho1983 · 在Django中查看ForiegnKey数据 6 年前 |
N_M · 主键和外键约束在配置单元中如何工作? 6 年前 |
Melolailo · 将约束与外键一起使用 6 年前 |
Alfred Balle · Postgresql,对唯一约束的引用 6 年前 |
yodabar Arkana · 更新|删除外键时的PgSQL默认操作 6 年前 |
Seba · 如何检查外键以限制软删除? 6 年前 |
dryhay · MySQL“多对多”关系错误 6 年前 |