あなたの要求は意味がありません
エンティティとしてのドライバーは、Carsとは別に存在します。車は多くのドライバーが運転でき、ドライバーは多くの車を運転できます。これが、多数のテーブルがある理由です。
「ドライバーは多くの車を運転できる」ビットに注意してください。つまり、Drivers行を削除する場合は、CarDriversの他の行を削除する必要があります。
まだ これを実行するには、CarDriversでトリガーが必要です。 DriversからCarDriversへのCASCADEは、他のCarDrivers行を削除します。トリガー再帰のデフォルトの動作も思い出せません。
なんてめちゃくちゃだ。
注:これはほぼ 多くのテーブルの列の1つに一意性がある場合は、CarsとDriversの間の外部キーである必要があります(Unique on Carは、「車ごとに最大1人のドライバー」はCarsのNULL可能FK列を意味します)