ISA Relationship in DBMS

22,127

Solution 1

"Can't we use the existing ISA node to create this relationship?"

(Disclaimer : read all of this a bit tongue-in-cheek. ER was never really intended to be logically complete and precise in its expressive power, and moreover there are so many different ER dialects that it's hard to be absolutely certain of what some given dialect seeks to express, and how, and what it does not seek to express)

What you would lose is the characteristic of exclusiveness between the various IS_A "sub-entities". Your example design as given is presumably intended to explicitly document the notion that an employee can never be both hourly_emp and contract_emp.

If an employee can be both "senior" and "contract", there is no exclusiveness between them, and if the ER dialect's IS_A triangle intend to express exactly such exclusiveness, then your solution would be wrong.

But (to repeat) note that none of this is actually cast in stone. All depends on what the intended semantics are of the symbols used in your particular ER dialect.

Solution 2

In my opinion, the current ISA node (that is in the diagram above) determines how employees are paid, so simply add another one onto the current node doesn't make a whole lot of sense because SeniorEmployees can be either hourly or contract.

Does that make sense?

Share:
22,127
yrazlik
Author by

yrazlik

Updated on February 07, 2021

Comments

  • yrazlik
    yrazlik over 3 years

    I am reading Introduction to database managements system written by Ramakrishnan, and there i faced the following ER diagram:

    enter image description here

    There, it says,

    "For example, we might identify a subset of employees as Senior Emps. We can 
    modify Figure 2.12 to reflect this change by adding a second ISA node as a 
    child of Employees and making Senior Emps a child of this node."
    

    My question is, why do we need another ISA node? Why don't we just add this new entity to the current ISA node? Does that matter?

    Thanks

  • yrazlik
    yrazlik about 11 years
    Thanks, but actually that is not what i am asking. Let us say that SeniorEmployees have new attributes and we will create an ISA relationship. What i wonder is that, why do we need another ISA node? Can't we use the existing ISA node to create this relationship?