Hi,
I am planning an authentication system that is structured much like the
system Windows uses:
I have "users" and "groups". Groups can either contain users directly or can
contain other groups (which can again contain groups etc).
Now I am thinking on how to store and efficiently read those definitions. At
first, I thought about the this table structure (leaving out the "users"
table, which at the moment contains nothing but a userid):
CREATE TABLE groups (
id_group INT UNSIGNED NOT NULL,
id_target INT UNSIGNED NOT NULL,
is_group ENUM('yes', 'no')
)
Note that id_target may both reference a user or a group, as determined by
the setting of is_group.
I don't think I can work very efficiently with this "mixed" storage, but I
haven't come up with something better yet.
Also, how would I write a query that gets me all users contained in a given
group, while at the same time dereferencing groups to the user ids contained
in them.
An example to make myself more clear:
- User ids are 1, 2, 3, 4
- Group 1 contains users 1, 2 and 3
- Group 2 contains user 4 and group 1
When I now query for group 2, I want just the user ids, i.e. 1,2,3,4
returned.
Any ideas?
Jens
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php