単一テーブル継承に関する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
たときに正しく機能するように設定されていますが、またはが削除された場合はどうなりますか?Playlist
User
Team
すなわち。aUser
が削除されると、の行は削除さUserPlaylist
れますが、の参照された行Playlist
はPlaylistVideo
残ります。これを強制することを考えましたが、が削除されたために削除要求が発生したのか、それとも削除されたのかTRIGGER AFTER DELETE
を知る方法がありません。Playlist
User
この状況で整合性を強制するための最良の方法は何ですか?
編集(提供されたERD)