Hii,
I am new to database thing so I am trying to wrap my head around it.
-
many2one: so in this relationship you will have more than one record in one table which matches to only one record in another table. something like A <-- B. where (<–) is foreign key relationship. so B will have a column which will be mapped to more than one record of A.
-
one2many: same as many2one but instead now the foreign key constrain will look something like A --> B.
-
many2many: this one is interesting because this relationship doesn’t make use of foreign key directly. to have this relationship between A and B you have to make a third database something like AB_rel. AB_rel will hold values of primary key of A and also primary key of B. so that way we can map those two using AB_rel table.
tell me if I got something wrong :) give me some suggestion <3
many2one: so in this relationship you will have more than one record in one table which matches to only one record in another table. something like A <-- B. where (<–) is foreign key relationship. so B will have a column which will be mapped to more than one record of A.
no, the other way around
When B has a foreign key to A, many B records may relate to one A record. That’s the many2one part.
The fact that different B records can point to different A records is irrelevant to that.
one2many: same as many2one but instead now the foreign key constrain will look something like A --> B.
It’s the same, mirrored. Or mirrored interpretation / representation to be more specific. (No logical change.)
If you had B --> A for many2one, then the foreign key relationship is still B --> A. But if you want to represent it from A perspective, you can say one2many - even though A does not hold the foreign keys.
In relational database schemata, using foreign keys on a column means the definition order is always one to one, and only through querying for the shared id will you identify the many.
many2many: this one is interesting because this relationship doesn’t make use of foreign key directly. to have this relationship between A and B you have to make a third database something like AB_rel. AB_rel will hold values of primary key of A and also primary key of B. so that way we can map those two using AB_rel table.
Notably, we still make use of foreign keys. But because one record does not necessarily have only one FK value we don’t store it in a column but have to save it in a separate table.
This association table AB_rel will then hold the foreign keys to both sides.