単一テーブル継承に関するBillKarwinの回答のいくつかを読みましたが、このアプローチは、検討しているセットアップに適していると思います。
Playlist
--------
id AUTO_INCREMENT
title
TeamPlaylist
------------
id REFERENCES Playlist.id
teamId REFERENCES Team.id
UserPlaylist
------------
id REFERENCES Playlist.id
userId REFERENCES User.id
PlaylistVideo
-------------
id
playlistId REFERENCES Playlist.id
videoId REFERENCES Video.id
すべてのCASCADEオプションは、aが削除されDELETEたときに正しく機能するように設定されていますが、またはが削除された場合はどうなりますか?PlaylistUserTeam
すなわち。aUserが削除されると、の行は削除さUserPlaylistれますが、の参照された行PlaylistはPlaylistVideo残ります。これを強制することを考えましたが、が削除されたために削除要求が発生したのか、それとも削除されたのかTRIGGER AFTER DELETEを知る方法がありません。PlaylistUser
この状況で整合性を強制するための最良の方法は何ですか?
編集(提供されたERD)
