Hmm, are the conditions correct?
The statements were:
Can’t update secondary table’s foreign key if there is no related row in primary table.
Hmm, the reference material states that I can NOT update the foreign key unless it is to a new valid primary key value OR i set the foreign key to NULL. The latter is only valid if I allow nulls on the column
If I allow nulls the above statement is invalid.
Breaking of relationships is prevented once referential integrity on a database is enforced.
If the above statement is invalid and I can set the foreign key to NULL, am I not breaking the referential integrity of these? Thus making this statement invalid? Unless of course you declare referential integrity to be "pointing to a valid primary or nothing".
Can delete a row from primary table if there are related rows in secondary table.
If statement 1 can be modified between true and false by changing settings (foreign key nullable), can this not be made true by allowing DELETE cascade?
Can’t update primary table’s primary key if row being modified has related rows in secondary table.
Again: Update cascade should be the difference between this statement being false or true.
Can insert a new row in secondary table if there are not related rows in primary table.
And again the nullability of the foreign key column defines whether this is wrong or right.
As far as I can enumerate, then you can make all statements above either true or false. Although perhaps not all at the same time.
Or where did my reasoning go astray?
I mainly got my guess wrong as we routinely disallow NULL on foreign keys and specify UPDATE and DELETE CASCADE options as ON. Which AFAICS will yield #1 and #5 false and 2-4 true.