by Dinesh Thakur Category: DBMS & RDBMS

The entity set which does not have sufficient attributes to form a primary key is called as Weak entity set. An entity set that has a primary key is called as Strong entity set. Consider an entity set Payment which has three attributes: payment_number, payment_date and payment_amount. Although each payment entity is distinct but payment for different loans may share the same payment number. Thus, this entity set does not have a primary key and it is an entity set. Each weak set must be a part of one-to-many relationship set.

A member of a strong entity set is called dominant entity and member of weak entity set is called as subordinate entity. A weak entity set does not have a primary key but we need a means of distinguishing among all those entries in the entity set that depend on one particular strong entity set. The discriminator of a weak entity set is a set of attributes that allows this distinction be made. For example, payment_number acts as discriminator for payment entity set. It is also called as the Partial key of the entity set.

The primary key of a weak entity set is formed by the primary key of the strong entity set on which the weak entity set is existence dependent plus the weak entity sets discriminator. In the above example {loan_number, payment_number} acts as primary key for payment entity set.

The relationship between weak entity and strong entity set is called as Identifying Relationship. In example, loan-payment is the identifying relationship for payment entity. A weak entity set is represented by doubly outlined box .and corresponding identifying relation by a doubly outlined diamond as shown in figure. Here double lines indicate total participation of weak entity in strong entity set it means that every payment must be related via loan-payment to some account. The arrow from loan-payment to loan indicates that each payment is for a single loan. The discriminator of a weak entity set is underlined with dashed lines rather than solid line.

                          Relation Between strong and weak entity set

Let us consider another scenario, where we want to store the information of employees and their dependents. The every employee may have zero to n number of dependents. Every dependent has an id number and name.

Now let us consider the following data base:

There are three employees having E# as 1, 2, and 3 respectively.

Employee having E# 1, has two dependents as 1, Rahat and 2, Chahat.

Employee having E# 2, has no dependents.

Employee having E# 3, has three dependents as 1, Raju; 2, Ruhi; 3 Raja.

Now, in case of Dependent entity id cannot act as primary key because it is not unique.

Thus, Dependent is a weak entity set having id as a discriminator. It has a total participation with the relationship "has" because no dependent can exist without the employees (the company is concerned with employees). The E-R diagram for the employee-dependent database is shown.

There are two tables need to created above e-r diagram. These are Employee having E# as single column which acts as primary key. The other table will be of Dependent having E#, id and name columns where primary key is the combination of (E# and id).

The tabular comparison between Strong Entity Set and Weak Entity Set is as follows:

                            Comparision Between Strong and Weak entity

About Dinesh Thakur

Dinesh ThakurDinesh Thakur holds an B.C.A, MCSE, MCDBA, CCNA, CCNP, A+, SCJP certifications. Dinesh authors the hugely popular blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps. For any type of query or something that you think is missing, please feel free to Contact us.

Related Articles