Представления.
Весь доступ к "живым" данным должен быть через представления.Представления должны выбирать только те строки, которые были «авторизованы».Вы захотите управлять разрешениями (операторы SQL GRANT и REVOKE), чтобы код приложения не мог обойти представления, переходя непосредственно к таблицам.
Это может быть неочевидно, но это означает, что весь пользовательский интерфейсКод должен идти и к представлениям.Например, большинство пользовательских интерфейсов облегчит бремя выбора правильного внешнего ключа путем загрузки поля со списком или списка, появления модального диалога или чего-то подобного.Эти элементы интерфейса также должны получать свои данные из представлений «разрешенных» строк.