this post was submitted on 11 May 2024
32 points (94.4% liked)
Programming
16769 readers
128 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Conceptually, the benefit of a join table is to allow many-to-many relations. That's it.
If I understand you correctly, your relations are one-to-many, so a join table would just be needless complexity.
And to cover atomicity. Child records deleted when a parent record is, etc.
The list would still allow a many-to-many relationship. Let demonstrate:
entity A and entity B both have 2 members: A-1, A-2, B-1, and B-2.
we add a "relations" field to entity A, which is a list of IDs from B, describing the list of B's that A is related to.
A-1 has the relations field as:
[B-1, B-2]
and A-2 has[B-1, B-2]
.As you can see, this is a many-to-many relationship. Each of our entities is tied to multiple entities. So this is many on both sides, hence many to many
That's overly complicated to my eyes, and not really relevant. The point I was trying to make is just that a join table is unnecessary in the situation you originally described.
What I described in the comment above is the same thing I originally described, but expanded.
A dependency relation can still be many to many (and in my case, it is). The comment above gives an example to prove it.