@ForeignKey
房间到底是用来做什么的?
我知道它用于链接两个表,因此每当父表发生某些更新时,它也会更新子表。例如,
onDelete = ForeignKey.CASCADE
我想这不过是我给出的定义(第二段),对吧?
我问这个问题的原因是在OrmLite中,例如,当您定义foreign = true
时,您就可以拥有join数据库,并且可以用数据填充外部值。这你不能用@ForeignKey
的房间。以下是涉外在OrmLite中所做工作的详细说明。
我说的对吗?
发布于 2018-10-24 20:11:30
FKs (外键)是一个关系数据库概念。一个FK说表子行在其他地方唯一地出现。等价地,FK表示参与关系(Ship)/association的实体唯一地参与另一种关系。这些语句是等价的,因为在关系数据库中,表表示每个关系(Ship)/关联--因此是“关系模型”&“实体-关系模型”--共同参与的实体/值。
FK图可用于方便/速记:默认连接条件;防止对无效状态的更新;级联更新;获取与另一个关系(Ship)/association中的实体关联的唯一值;同时在一个关系(Ship)/association和另一个关系(Ship)中设置值。FKs被错误地称为“关系”,不需要询问。必须知道它们需要一个与实体关联的值,但是我们总是可以只要求一组值,不管它是否总是只有一个元素。
FKs、CKs (候选键)、PKs (主键)和超级键(唯一的列/字段集)是约束的特殊情况,这些约束条件在每个数据库状态和(等效)业务情况下都是正确的。它们是由关系(船)s/协会决定的&可能出现的有效业务情况。当我们告诉DBMS有关它们的信息时,它可以防止更新到必须无效的状态,因为它违反了它们。
https://stackoverflow.com/questions/52980038
复制相似问题