Я думаю, что поле PK подтипа должно быть удалено (так как оно наследует его от своего супертипа).
Тем не менее, это не хороший кандидат на наследство. Наследование сущностей должно выполняться только в том случае, если тип не может измениться для сущности. Это скорее кандидат на роль, поэтому настоящие отношения 1: 1. Дело в том, что Пользователь может регулярно терять / приобретать роль Премиум, но вы не можете изменить тип существующего экземпляра сущности (== строк таблицы), даже если кажется, что вы можете просто изменить данные в база данных. Отображение наследования связано со строгими правилами, их нельзя согнуть, поскольку наследование в сущностях связано с интерпретацией данных в базе данных, поскольку реляционные модели не знают концепции наследования (хотя некоторые базы данных «обманывают», разрешая наследование в DDL SQL как postgresql)