假设你有一个对象,User
来自一个名为user
的表,该对象有一个名为primaryAddress
的属性。 primaryAddress
是Address
表中引用表或地址列表的外键。
构建User
对象时,可以根据外键/主键关系关联地址的属性。例如,我可以将属性streetAddress
,city
,state
,postalCode
等关联起来。仅仅因为我可以将User
中的数据加入Address
。
在关系数据库中,您通常通过INNER JOIN
或OUTER JOIN
等连接获取此数据。但是,当一个对象从另一个对象“获取”数据时,我不确定在面向对象编程(OOP)中调用这种类型的关系。
在OOP / OOD中,你最接近的东西可能是aggregation or composition - 你不会通过ID引用地址,而是拥有非拥有引用(如果特定地址可以由多个人使用,例如家庭),或拥有引用(如果一个人与他们在数据库中的特定地址之间始终存在1-1关系)。