我已经阅读了Bill Karwin关于单表继承的一些答案,并认为这种方法对我正在考虑的设置很有用:
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选项都设置为在删除DELETEa 时可以正常工作Playlist,但是,如果 a UserorTeam被删除会发生什么?
IE。如果 aUser被删除,则 in 中的行将被删除,但 in和UserPlaylist中的引用行将保留。我考虑过强制执行此操作,但无法知道删除请求是因为被删除还是被删除而产生的。PlaylistPlaylistVideoTRIGGER AFTER DELETEPlaylistUser
在这种情况下执行完整性的最佳方法是什么?
编辑(提供 ERD)
