To be classified as a weak entity, two conditions must be met:
1. The entity must be existence-dependent on its parent entity.
2. The entity must inherit at least part of its primary key from its parent entity.
For example, the (strong) relationship depicted in the text’s Figure 4.10 shows a weak CLASS entity:
1. CLASS is clearly existence-dependent on COURSE. (You can’t have a database class unless a
database course exists.)
2. The CLASS entity’s PK is defined through the combination of CLASS_SECTION and
CRS_CODE. The CRS_CODE attribute is also the PK of COURSE.
The conditions that define a weak entity are the same as those for a strong relationship between an
entity and its parent. In short, the existence of a weak entity produces a strong relationship. And if the
entity is strong, its relationship to the other entity is weak. (Note the solid relationship line in the text’s
Figure 4.10.)
Keep in mind that whether or not an entity is weak usually depends on the database designer’s
decisions. For instance, if the database designer had decided to use a single-attribute as shown in the
text’s Figure 4.8, the CLASS entity would be strong. (The CLASS entity’s PK is CLASS_CODE,
which is not derived from the COURSE entity.) In this case, the relationship between COURSE and
CLASS is weak. (Note the dashed relationship line in the text’s Figure 4.8.)