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

Рассмотрим БД организации, имеющей в своем составе 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;
		

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

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