Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 Site Related Forums
 The Yak Corral
 Conceptual

Author  Topic 

elwoos
Master Smack Fu Yak Hacker

2052 Posts

Posted - 2005-05-11 : 03:25:22
This is a serious one it may need a thinking head - you have been warned!!

I'm wondering if it's feasible (and if so how) to implement a concept (lets call it for arguments sake - knowledge) in a database. I'm not talking about digital rights (or whatever MS are putting into office) though it may be sufficiently near to satisfy my requirement.

Succintly what I need to know is who knows what data about whom.

Lets say my database has data on three people A,B and C and a group of people D

A knows all the data on B.
A doesn't even know there is data on C and C wants it to stay that way (because C doesn't like A!).
B knows half the data on A
B knows none of the data on C but knows there is data on C.
C Doesn't want to know the data on A even if A says she can have it
C will let anyone (except A) have whatever data of hers they want but she doesn't want to know some of her own data

Group D know all the data on C and B which means that they know half the data on A (obtained from B) BUT Group D aren't permitted to let anyone have information that they don't already know (whether they are allowed to know it or not). Anyone can give group D whatever information they choose

This is a pretty simplistic model of the situation but I think it covers the main points and reading it back it may not make any sense to anybody so I can try to elucidate if required.

I'm not sure where I would start with this sort of thing really as at first glance it appears to me to be too complex, any pointers would be appreciated. Has anyone done anything like this, or perhaps more importantly, have they been able to incorporate it into an existing database. I'm sort of thinking that it would be a bit like a directed graph (I think that's what they were called) where each vertex is actually a series of vertices mapping to each data point at the node, but can this be implemented?

Many thanks

steve

A sarcasm detector, what a great idea.

X002548
Not Just a Number

15586 Posts

Posted - 2005-05-11 : 09:09:59
See, and I read the title, and I thought this was about sex......

Sounds like you want more trees and hierarchies..or wait to 2005...in any case...stuff like "knows half" really should understand quantitatively how much..then sum.....

In any case, I would think this is a general concept question...not one for the corral...as much as I try to drag the topic in to the gutter...

Is it 5:00 yet?



Brett

8-)
Go to Top of Page

AndrewMurphy
Master Smack Fu Yak Hacker

2916 Posts

Posted - 2005-05-11 : 12:12:41
"Is it 5:00 yet?"....yup..5.10pm In Ireland. Off now for a football match. Enjoy yourselves!!!
Go to Top of Page

Michael Valentine Jones
Yak DBA Kernel (pronounced Colonel)

7020 Posts

Posted - 2005-05-11 : 17:23:06
I can imagine some table structures that define the knowledge relationships between the different people and groups, but it sounds like these could be very complex. For example, could a group include some of these people, and if it can, what would be the rules for combining the relationships?

One concept that is a little fuzzy is knowing half the data. It sounds like you would have to break the data into pieces, and say that A knows all of data piece 1 and doesn't know data piece 2.

I am having a hard time understanding what this would be used for, so maybe if you could describe that a little more, it would be easier to know how to attack it.




CODO ERGO SUM
Go to Top of Page

elwoos
Master Smack Fu Yak Hacker

2052 Posts

Posted - 2005-05-12 : 14:23:35
It would be used to hold information on families (in the loosest sense) and as I'm sure we all know there are occasional disagreements which is where the "I don't want so and so to know about this" comes from.

The familial relationships are important to the people making use of the data but they are also compelled to NOT divulge information (particularly, but not exclusively, without consent) to another family member.

Does that help at all?

steve

A sarcasm detector, what a great idea.
Go to Top of Page

Seventhnight
Master Smack Fu Yak Hacker

2878 Posts

Posted - 2005-05-12 : 14:54:15
The easiest method I would think would set 'properties' on the data and the familymember and the family group.

Using a tree structure type arrangement of family-member-data, you could use determine who could see what with a little work.

ie.
if A,B are familygroups
and A1,A2,B1,B2 are familymembers
and A1a,A1b,B1a,B1b,B1c,B2a are data

then
you could use properties like:
A1 inherits A permissions
A2 has access to B
B1 inherits from B
B1c inherits from B1
B1a is allowed only to A1
etc.

table structure...?

objects
objectId int, parentId int, inherets bit

access:
fromObjectId, toObjectId, allow bit

just some quick thoughts.

Corey

Secret Service Agent: Mr. President, you're urinating on me.
President Lyndon Johnson: I know I am. It's my prerogative.
Go to Top of Page

Kristen
Test

22859 Posts

Posted - 2005-05-13 : 02:52:22
"See, and I read the title, and I thought this was about sex......"

Consensual?

Kristen
Go to Top of Page

elwoos
Master Smack Fu Yak Hacker

2052 Posts

Posted - 2005-05-13 : 03:11:48
Thanks guys. I like the idea of inherits/allow. I'm not certain a tree structure i.e. like a directory structure will work due to consanguinous marriages i.e. marrying your cousin/neice/uncle etc. There is certainly something to think about there though if anyone has any other suggestions I would be interested

cheers

steve

A sarcasm detector, what a great idea.
Go to Top of Page

Seventhnight
Master Smack Fu Yak Hacker

2878 Posts

Posted - 2005-05-13 : 08:23:26
my article on tree structures does not assume that every object has only one parent. This may address the problem of marrying cousin/neice/uncle...

The problem then becomes inheriting, if there are two different paths with different rights which one do you inherit?

If you had an example of the marrying your cousin/.../uncle, and could show why it is a problem in a tree structure, I'm sure it could be worked out.

Corey

Secret Service Agent: Mr. President, you're urinating on me.
President Lyndon Johnson: I know I am. It's my prerogative.
Go to Top of Page

AndrewMurphy
Master Smack Fu Yak Hacker

2916 Posts

Posted - 2005-05-13 : 09:07:40
"I like the idea of inherits/allow"....a bit like the SQL Server Security model then???
Go to Top of Page
   

- Advertisement -