• First, if you created a foreign key on father_id you wouldn't be able to insert the null son record.

    Second, since -255 is your default value for 'no father' in the Father table why not remove the isnull() from the view and use -255 as the value for 'no father' in the son table? Then everything works fine with an inner join and foreign key?

    Edit: Oh yeah, the table name says [Family] on the create index statements.