• I'd have agreed if the updates required additional work (e.g. manually updating grandparent key in both parent and child table) but the schema I demonstrated does that via ON UPDATE CASCADE and UNIQUE constraint on the parent table and therefore requires no additional coding. Since this is pure SQL with no triggers or other manual coding, I'm less than sure that this is a clear-cut case of "bad" denormalizing, which is why I asked.

    Can you demonstrate where data integrity will be broken in this schema?