Re: Another constant in foreign key problem. - Mailing list pgsql-sql

From Gary Stainburn
Subject Re: Another constant in foreign key problem.
Date
Msg-id 201202221125.15486.gary.stainburn@ringways.co.uk
Whole thread Raw
In response to Re: Another constant in foreign key problem.  ("Oliveiros d'Azevedo Cristina" <oliveiros.cristina@marktest.pt>)
List pgsql-sql
Sorry,

I missed one table.  The users_facility_levels table is used to link the three 
tables listed below to give the lever per user/facility.


On Wednesday 22 February 2012 11:18:23 Oliveiros d'Azevedo Cristina wrote:
> Hi, Gary,
>
> I'm answering by editing your e-mail
> ______
>
> >I have three tables,
> >
> > users - all users of my web site
> > facilities - facilities available on my web site
> > facility_levels - access levels per user/facility.
> >
> > One of my facilities is a document library (f_id = 22)
> > For this facility I have the levels
> >
> > select * from facility_levels where fl_f_id=22 order by fl_level;
> > fl_f_id | fl_level |   fl_desc
> > ---------+----------+--------------
> >      22 |        1 | Read Only
> >      22 |        2 | Add Versions
> >      22 |        3 | Amend
> > (3 rows)
> >
> >
> > This sets the global access level for the Document Library per user.
>
> * It is not clear for me how this sets the global access level per user.
> Shouldnt the facility_levels table have a u_id field, foreign key from
> users table? And thus becoming an associative table between users and
> facilities?
>
> > I now want to add authentication control on a document or folder level.
> > For
> > this I need to create a table library_document_user_level
> >
> > u_id - user id
> > ld_id - library document id
> > fl_level - level
> >
> > The foreign key constraint on fl_level needs to check facility_levels for
> > fl_f_id = 22 as well as fl_level existing.
>
> * I may not be fully understanding your problem, but
> library_document_user_level shouldn't have a field named  fl_f_id, to
> identify which facility the document/folder belongs to?
> Had it such a field, you could do something like
> FOREIGN_KEY (fl_f_id,fl_level)  REFERENCES facility_levels (fl_f_id,
> fl_level)
>
>
> Just my two cents
>
> Best,
> Oliveiros
>
> > I've googled this but can't find a suitable solution. Can anyone help
> > please.
> > --
> > Gary Stainburn
> > Group I.T. Manager
> > Ringways Garages
> > http://www.ringways.co.uk
> >
> > --
> > Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/pgsql-sql



-- 
Gary Stainburn
Group I.T. Manager
Ringways Garages
http://www.ringways.co.uk 


pgsql-sql by date:

Previous
From: Jasen Betts
Date:
Subject: Re: How to split up phone numbers?
Next
From: John Fabiani
Date:
Subject: crosstab help