Сделай связь один ко многим между таблицами где хранится инфа о файле и tags_data, при удалении файла удаление привязки тегов произойдет само, перед удалением файла вытащи привязанные теги, после удаления проверь вытащенный тег на наличие других привязанных файлах, если нет то закидывай айди(любой идентификатор сойдет) тега в массив, и после проверки
$empty_tags = array(1,2,3);//пример массива с пустыми тегами
$sql = 'DELETE FROM `tags_name` WHERE `id` IN ('. implode(',', $empty_tags).')';применяешь примерно такой запрос.