Ну, SYS особый , он владеет базой данных и может делать все что угодно.
Если вы захотите сделать то же самое с другим пользователем (например, SCOTT и позволить ему попытаться создать ограничение для таблицы EXAMPLE_USER), вы потерпите неудачу, если привилегированный пользователь не предоставит системную привилегию SCOTT ALTER ANY TABLE
.Таким образом, этот пользователь сможет изменять любую таблицу (принадлежащую любому пользователю), включая создание ограничений.
Если вы хотите создать ограничение первичного ключа,этой привилегии будет недостаточно - вам понадобится также привилегия CREATE ANY INDEX
(поскольку первичный ключ также создает индекс).
Так же, как CREATE ANY TABLE
системная привилегия, которая позволяет создавать таблицу всхема любого другого пользователя, но эта таблица будет принадлежать владельцу схемы, то же самое относится и к ограничению - да, вы создали ее от имени другого пользователя, но ограничение по-прежнему принадлежит владельцу таблицыа не создатель.
Следовательно, словарь не обманывает, это вы неправильно поняли, как он работает.