Even simple cases need help
In the simplest case, a program object of class A has fields x,
y, z and a table B has columns x, y, z
Each instance of A has a row in B and vice versa, via ORM
Are we done?
If x is a unique id, and x, y, and z are simple types, yes.
--Or some unique id in (x, y, z), possibly composite
If no unique id in (x, y, z), the object still has its innate
identity, but corresponding rows involve duplicate rows,
against relational model rules
So in practice, we add a unique id in this case:
has id, x, y, z and table B
has id, x, y, z