TTIS
id scope_id user_id value
1 2 3 value
Somedata
id | scope_id | user_id | value
----+----------+---------+--------------------
1 | 3 | 3 | Запись в области 3
2 | 1 | 1 | Запись в области 1
3 | 2 | 2 | Запись в области 2
Somedata
id | scope_id | user_id | value
----+----------+---------+--------------------
1 | 3 | 3 | Запись в области 3
2 | 1 | 1 | Запись в области 1
3 | 2 | 2 | Запись в области 2
Somedata
id| ... | value
--+-----+----------------
2 | ... |Запись в области 1
3 | ... |Запись в области 2
V_Somedata (для user1)
id|scope_id|user_id| value
--+--------+-------+------------------
1 | 3 | 3 |Запись в области 3
2 | 1 | 1 |Запись в области 1
3 | 2 | 2 |Запись в области 2
Somedata table
id|scope_id|user_id| value
--+--------+-------+------------------
1 | 3 | 3 |Запись в области 3
2 | 1 | 1 |Запись в области 1
3 | 2 | 2 |Запись в области 2
V_Somedata (user=tisuser1)
id| ... | value
--+-----+----------------
2 | ... |Запись в области 1
3 | ... |Запись в области 2
V_Somedata (для user2)
id| ... | value
--+-----+----------------
1 | ... |Запись в области 3
V_Somedata (для user3)
id| ... | value
--+-----+----------------
1 | ... |Запись в области 3
2 | ... |Запись в области 1
3 | ... |Запись в области 2
V_Somedata (tisuser1)
id| ... | value
--+-----+----------------
1 | ... |Запись в области 3
2 | ... |Запись в области 1
3 | ... |Запись в области 2
user_id|scope_id|read_allowed|write_allowed
-------+--------+------------+-------------
1 | 1 | Y | Y
1 | 2 | Y | N
2 | 2 | Y | Y
2 | 1 | Y | N
3 | 3 | Y | Y
SAMACL table
id | db_user | name
----+----------+------------------
1 | tisuser1 | user1
2 | tisuser2 | user2
3 | tis | user3
SAMUsers table
TIS schema
CREATE VIEW tis.V_Somedata as
select * from tis.Somedata where exists
(select user_id from tis.SAMACL
where user_id = tis.sam_get_user()
and Somedata.scope_id = scope_id
and read_allowed = 'Y');
V_Somedata view
FUNCTION tis.sam_get_user() RETURNS integer
FUNCTIONS and PROCEDUERS
FUNCTION tis.create_Somedata(scope_id int, value varchar(32)) RETURNS retstatus
FUNCTIONS and PROCEDUERS
область СРД
область прикладных данных
Область клиентского доступа к системе, вид от имени трех пользователей системы