Насколько я помню, не существует коммерческих продуктов, которые "защищают" их схемы. От чего вы хотите защитить схему?
Рассмотрим следующие моменты:
В конце концов, единственный человек, который может защитить что-либо в СУБД, - это администратор сервера базы данных. И вы хотите, чтобы схема была защищена от этого человека?
Если бы я был заказчиком и у меня были мои данные внутри вашей схемы, я бы не только хотел, но и ожидал, что смог бы увидеть и использовать их напрямую.
Вам действительно нужно защищать свой реляционный дизайн? Это действительно так интересно? Вы изобрели что-то, что стоит скрывать? Я действительно так не думаю. И я прошу прощения заранее, если у вас есть.
РЕДАКТИРОВАТЬ: Дополнительный комментарий:
Меня не волнует большинство внутренних компонентов базы данных для продуктов, которые я использую. Это еще одна причина, я думаю, что большинство из них не предпринимает никаких действий, чтобы защитить их. Большинство из них не такие интересные.
С одной стороны, я твердо верю, что пользователям не нужно знать или заботиться о внутренностях базы данных. Но на том же уровне, как разработчик, я не думаю, что стоит пытаться защитить их. Скрывать их от пользователя, да. Защищать их от прямого доступа в большинстве случаев нет. И не потому, что я считаю неправильным защищать вашу схему. Это потому, что я думаю, что это очень трудная вещь, и она не стоит вашего времени как разработчика.
Но в конце, как и в любой другой теме, связанной с безопасностью, единственный правильный ответ - о том, какие риски связаны с затратами на реализацию меры безопасности.
Современные механизмы баз данных, встроенные или серверные, не предназначены для простого скрытия схемы базы данных, и, следовательно, стоимость разработки для нее намного выше, чем связанный с ней риск, для большинства людей.
Но ваш случай может быть другим.