Sharing data to other users?

Also, is it possible to do something like this:

Where is_shared is a stored procedure/function that checks if the user has access to the record based on record_id? Then I can have a table where I can enter relationships between records and users.

Regards,
Allen