Два неравноправных отдела

Рассмотрим БД организации, имеющей в своем составе 2 отдела, каждый из которых имеет свои таблицы. Сотрудники каждого из этих отделов имеют полный доступ к таблицам своего отдела. Кроме того, сотрудники отдела №1 имеют право читать таблицы отдела №2.

Для каждого отдела создается роль, которой назначается привилегия All (полный доступ) на таблицы, с которыми необходимо работать в данном отделе.

        CREATE ROLE Sect_N1;
        GRANT ALL ON Table1_Sect_N1 TO Sect_N1;
        GRANT ALL ON Table2_Sect_N1 TO Sect_N1;
        GRANT ALL ON Table3_Sect_N1 TO Sect_N1;
        CREATE ROLE Sect_N2;
        GRANT ALL ON Table1_Sect_N2 TO Sect_N2;
        GRANT ALL ON Table2_Sect_N2 TO Sect_N2;
        GRANT ALL ON Table3_Sect_N2 TO Sect_N2;
                

Затем для роли отдела №1 добавляется возможность чтения таблиц отдела №2.

        GRANT SELECT ON Table1_Sect_N2 TO Sect_N1;
        GRANT SELECT ON Table2_Sect_N2 TO Sect_N1;
        GRANT SELECT ON Table3_Sect_N2 TO Sect_N1;
                

Далее каждому пользователю назначается роль в зависимости от отдела, в котором он работает.

Владельцем всех таблиц является администратор. Только он может создавать новые таблицы и вводить новых пользователей.