"There are circumstances in which the deletion of data representing certain facts
necessitates the deletion of data representing completely different facts. The
"Faculty and Their Courses" table described in the previous example suffers
from this type of anomaly, for if a faculty member temporarily ceases to be
assigned to any courses, we must delete the last of the records on which that
faculty member appears, effectively also deleting the faculty member. This
phenomenon is known as a deletion anomaly."
How should deletion anomalies be approached in relational database management systems? Are there any alternatives to "soft-delete"?