Näide: Oletame, et kontseptuaalses andmemudelis on ülatüüp Isik ja selle alamtüüp on Töötaja.

Nende alusel luuakse andmebaasis tabelid Isik ja Tootaja. Tabelis Isik on surrogaatvõti (isik_id), mis läheb primaarvõtmeks ja välisvõtmeks tabelisse Tootaja.

Millised kompenseerivad tegevused (ON UPDATE ... ja ON DELETE ...) peaks olema määratud sellel välisvõtme kitsendusel?

Kustutamise puhul on kaskaadne tegevus ehk ON DELETE CASCADE igati põhjendatud, kuna tegemist on üldistusseosega, kus Töötaja on Isiku alamtüüp. See tähendab, et iga töötaja on süsteemis ka isik. Kuna alamtüübi eksamplar ei saa eksisteerida ilma oma ülatüübi eksemplarita, siis olukorras, kus me kustutame isiku andmed tabelist Isik, ei tohi süsteemi jääda ripakile töötaja rida, millel puudub seos reaalse inimesega. Seetõttu peab isiku kustutamine automaatselt kaasa tooma ka tema töötaja-rolli kustutamise alamtüübi tabelist.

Muutmise puhul on olukord aga teistsugune, sest tabeli Isik primaarvõti (isik_id) on defineeritud olema automaatselt genereeritud täisarv. Tegemist on süsteemi poolt automaatselt genereeritud surrogaatvõtmega, millel puudub seos isiku reaalsete andmetega. Andmebaasidisaini üks kuldreegleid on see, et surrogaatvõtmete väärtuseid ei muudeta kunagi. Kuna primaarvõtme väärtust ei uuendata, siis pole andmebaasis vaja ka muudatuste edasikandmist alamtüübile. Selle asemel kasutatakse reeglit ON UPDATE NO ACTION, mis toimib turvalukuna. See ütleb andmebaasile, et kui keegi peaks mingil põhjusel või eksituse tõttu üritama isiku unikaalset identifikaatorit muuta, peab andmebaas selle tegevuse blokeerima ja veateate andma.

Kui meil oleks tabelis Isik tegu olnud naturaalse võtmega – näiteks meiliaadressiga, mida võib olla vaja käsitsi parandada, kui sisestamisel tehti viga, siis oleks olnud põhjendatud ON UPDATE CASCADE. Kuna aga võti on süsteemne ID, siis seda ei muudeta.