title: In RDBMS, when a relation is one-to-one, does it help if both records point to each other, or is one pointing already enough (no need both pointing)?
body: <p>I was reading a book and it talks about a <code>User</code> has some more <code>UserDetail</code>, and so the <code>UserDetail</code> will have a <code>user_id</code> pointing back to the Users table.  I kind of forgot that, does it help at all to has a field in <code>Users</code> table to have a <code>user_detail_id</code> to point at the UserDetail record?</p>
  
  <p>This is so in Ruby on Rails too, that the <code>Users</code> table doesn't have a <code>user_detail_id</code>, but the <code>UserDetail</code> table has a <code>user_id</code>.  And the <code>User</code> model use <code>has_one :user_detail</code>, while the <code>UserDetail</code> model use <code>belongs_to :user</code>.</p>
  
  <p>It kind of makes sense that if it is a one-to-many relationship, then at the "Many" side, we have an <code>foreign_id</code> pointing back to the "One" side, but the "One" side doesn't need to point to the "Many" side, so it looks like a one-to-one doesn't need to have it pointing both ways too, as one side is enough.</p>