Why is this unexpected? Removing one side detroys relationships, hence, foreign keys are set to null.
That's not what would happen in SQL. The whole idea is that you are PREVENTED from doing certain things so that the integrity of your DB is maintained.
I interpret unidirectional CMR as you can navigate a relationship only in one direction. Not that I can't remove the blind side if relationship still exists.
I implement CMP spec, not SQL.
I think while creating the FK constraint you can specify 3 categories like
a) ON DELETE NO ACTION
b) ON DELETE CASCADE
c) ON DELETE RESTRICT.
Defualt is : ON DELETE NO ACTION. So in that case it will remove the ONE and set the fk to null in MANY.
In your case you can set that to ON DELETE RESTRICT.
Ex: ALTER TABLE MYTABLE ADD CONSTRAINT FK_MANY_ONE FOREIGN KEY (ONE_FK) REFERENCES ONE (ID) ON UPDATE NO ACTION ON DELETE RESTRICT.
I think that I have the same problem. But I am using MySql DB, instead. And I have my constraints defined as ON UPDATE RESTRICT ON DELETE RESTRICT.
Do you actually know how to solve this problem?