0

I am relatively new to (Relational) Data Base design. I am confused on the advice that

many, if not most 1:1 relations are signs of a poorly-design ERM, and that

the two entities in 1:1 relation should be merged into a single one unless there

is a strong reason to do otherwise. But I have not found clear advice on when

to do so. Any explanations, references appreciated.

EDIT: I think my situation is different because I have a different starting point: I am given a business situation in which I have to identify entities, their relations , etc. I am given two entities in a 1:1 relationship and I want to know when/if I should merge them into a single entity. I have not seen this point addressed in any other question. If someone does link me to a question that does address this, I may just delete my post, but I want to let it stand otherwise.

EDIT 2: To be more specific, I have a situation in which each employee manages one department and every department is managed by exactly one employee.

EDIT 3: I guess it comes down to distinguishing between an attribute and an entity. My thoughts are that , as a rule of thumb, given a description of a situation, a verb indicates a relationship . Another constraint I can think of is violation of "atomicity" or 1NF in which an attribute is many-valued, e.g., if we have "package" and there is mention of package contents, if there are many contents described, then "contents" is made into an entity, to avoid multiple entries. Maybe this is simpler than I first thought.

Thanks.;

gary
  • 129
  • 10
  • Possible duplicate of [What are advantages of using a one-to-one table relationship? (MySQL)](http://stackoverflow.com/questions/2521760/what-are-advantages-of-using-a-one-to-one-table-relationship-mysql) – Tomaso Albinoni Nov 08 '15 at 01:52

1 Answers1

1

"When do/should two Entities in 1:1 Relationship become a Single Entity?"

Almost always.

In fact the question should be "When should one Entity be split into two tables with 1:1 Relationship?" I can think of one possible reason.

The no of columns or the space needed for one row of the entity exceeds what is permitted.

There must be more reasons, but this is what comes to mind right away.

EDIT

Adding more reasons from here: http://solutioncenter.apexsql.com/how-to-split-a-table-in-sql/#sthash.VbXZVkxv.dpuf

By splitting a table and moving columns you want to protect you can assign different access rights to a table that contains sensitive data:

Having a table where most of the external applications access one set of data more often (e.g. persons name, SSN etc.) while other data (e.g. person’s picture) is required less often you can improve performance by splitting the table and move the less accessed columns into another table.

Andrew Lazarus
  • 18,205
  • 3
  • 35
  • 53
Adish
  • 709
  • 4
  • 12
  • Well, no, that is not my question, because I am trying to design an ERD when given business conditions and there happen to be entities in 1:1 relationship, and I want to know if I should merge them. So knowing when I need to split an entity does not help me here. – gary Nov 08 '15 at 02:41
  • I think the rule @Adish is suggesting is: merge them, unless once merged, you would want to split them. If there are large columns that are accessed infrequently, there can be a performance plus with split tables. However, I would not think of doing optimizations like this at a preliminary stage, and when I do them, I confine them to the physical model (not logical model). Note that in many 1:1 relationships, one side is optional. It's really 0..1:1. Those should probably remain separate tables. – Andrew Lazarus Nov 08 '15 at 04:47