안녕하세요.. 활기찬 월요일 되시기 바랍니다. 디비 설계를 함에 있어서 막히는 부분이 있어 이렇게 질문 드립니다. 1. 고유아이디가 부여되어 있는 각각의 회원이 있으며 2. 회원당 1,2,3,4 의 큰 권한과 3. 큰권한인 1,2,3,4 에는 각 9개의 작은 속성을 가지고 있습니다. 4. 고유아이디 마다 큰권한과 작은권한이 모두 있을수 도 있지만 아닌경우도 있는 또는 큰권한도 1~2가지 작은권한도 몇가지 밖에 없을 수도 있는 불규칙입니다. 정리하자면 id : zbcd 큰권한 : 1,2,4 작은권한 : 1 - 1,2,3,4,5,7 2 - 1,4,6 4 - 1,2,3,4,5,6,7,8,9 id : qwer 큰권한 : 1,4 작은권한 : 1 - 1,2,3,4,5,6,7,8,9 4 - 2,4,6,7 이런식입니다. 권한종류에 대한 테이블은 없어도 상관없이 클라이언트에서 해결하면 되는데요 각 고유회원이 가지고 있는 권한종류는 테이블이 있어야 해서요.. 큰권한의 종류는 늘어날수도 있는 여지가 있습니다. 고유아이디가 권한을 획득할때마다 일일히 히스토리로 쌓아볼까 했지만 그건 능사가 아닌거 같아서 이렇게 질문 드립니다. 도움 부탁드립니다.. 감사합니다.
Comment 4
-
군고구마
2014.09.22 16:40
-
군고구마
2014.09.22 16:41
smallGrant 테이블에 biggrantnumber 컬럼이 있는것은 큰 권한과의 작은권한 매칭 때문이 입니다.
-
액션팝콘
2014.09.23 14:22
상세한 설명 감사합니다. 많은 도움이 되었습니다. ^^
-
건우아빠
2014.09.22 21:42
히스토리라 표현 하셨는데 그게 권한 테이블이라고 보시면 될듯 합니다.
권한 테이블을 가지고 어떤 처리를 하시느냐에 따라 달라 질수도 있지만 군고구마님 말씀처럼 권한 테이블을 가져가시는게 좋을듯 합니다.
로깅이나 작업시 권한 체크만하시다면 권한 테이블에 컬러을 id , 큰권한 , 작은권한 xml방식으로 저장,하시는것도 ...
유저 정보 테이블을 만들고, key를 생성 한뒤에
권한 테이블을 큰권한 ,작은권한 테이블을 만든 다음에 key 값과 매칭 시켜서 정보를 보면 될 듯 합니다.
예를 들면
UserTable (id , key)
bigGrant(key,grantnumber)
smallGrant(key,biggrantnumber,grantnumber)
이렇게 만들어서 매핑 시키면 뒬 듯 합니다.
select * from UserTable as U
inner join bigGrant as B
on U.key = B.key
inner join smallGrant as S
on B.key = S.key and B.grantnumber = S.biggrantnumber
이렇게 하면 위의 보여지는 것 처럼 보여 질 수 있을 듯한데, 어떨까요?
저도 좋은 실력은 아닌지라, ^^;