Question: According to Database Systems A Practical Approach to Design, Implementation, and Management SIXth edition, page 534, the relation of the subclass/ superclass for the logical

According to Database Systems A Practical Approach to Design, Implementation, and Management SIXth edition, page 534, the relation of the subclass/ superclass for the logical data model is as below:

PARTICIPATION CONSTRAINT

DISJOINT CONSTRAINT RELATIONS REQUIRED
Mandatory Or Many relations: one relation for each combined superclass/subclass

However, if the above condition is applied to the ERD diagram below,  According to Database Systems A Practical Approach to Design, Implementation, and

it will become

Alumni(Donor_ID, Alumni_ID, Alumni_Name, Type)

Primary Key(Donor_ID)

Company(Donor_ID, Company_ID, Company_Name, Type)

Primary Key(Donor_ID)

OtherDonor(Donor_ID, Other_Donor_ID, Other_Donor_Name, Type)

Primary Key(Donor_ID)

Donation(Donation_ID, Amount, Donor_ID)

Primary Key(Donation_ID)

Foreign Key(Donor_ID) references Alumni(Donor_ID) and Company(Donor_ID) and OtherDonor (Donor_ID)

In the oracle relational database, it will allow the user to have the same Donor_ID across multiple relations (Alumni, Company and OtherDonor). For example, in the Alumni relation, the alumni can have the Donor_ID: 1234 while the company in the company relation also can have the same Donor_ID:1234 which is not the desired case. Besides, the foreign key Donor_ID in the Donation relation also cannot refer to the Donor_ID in the Alumni, Company and OtherDonor relations at once. Therefore, how should I modify in order to have a unique Donor_ID for each of the tuples in Alumni, Company and Other Donor? Shall I create an additional table called Donor and proceed as below:

Alumni(Alumni_ID, Alumni_Name, Donor_ID)

Primary Key(Alumni_ID)

Foreign Key(Donor_ID) references Donor(Donor_ID)

Company(Company_ID, Company_Name, Donor_ID)

Primary Key(Company_ID)

Foreign Key(Donor_ID) references Donor(Donor_ID)

OtherDonor(Other_Donor_ID, Other_Donor_Name, Donor_ID)

Primary Key(Other_Donor_ID)

Foreign Key(Donor_ID) references Donor(Donor_ID)

Donation(Donation_ID, Amount, Donor_ID)

Primary Key(Donation_ID)

Foreign Key(Donor_ID) references Donor(Donor_ID)

Donor(Donor_ID, Type)

Primary Key(Donor_ID)

Or is there any other suitable modification that I can make?

Donation Donation ID {PK) Amount Donor ID FK) Provides 1..1 Donor Donor ID {PK) Iype (Mandatory,Or) Alumni Alumni ID Ahumni Name Company_ID Company Name Other_Donor_ID OtherDonorName

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!