2012-10-29 2 views
0

등록 된 사용자가 다른 등록 된 사용자가 편집 할 수있는 페이지를 만들 수있는 응용 프로그램에서 일반 사용자와 페이지 작성자를 구별하는 올바른 방법은 무엇입니까? UML과 SQL 모두. UML에서 UML과 SQL에서 클래스의 특별한 경우 실현하기

, 난이 올바른 UML 생각하지 않습니다 지금

-------- accesible by -------- 
| Page | ------------ |User | 
--------    -------- 
    |created by   /\ 
    |      | 
    |      | 
--------- is a   | 
|Creator|------------------ 
--------- 

있습니다. 그래서, 내가 표현하려고하는 것의 정확한 UML 표현이 될 것입니다. 그리고 결국, 나는 같은 것을 위해 SQL 데이터베이스를 만들고 싶습니다. 이 경우 데이터베이스 스키마는 어떤 모양입니까?

+0

등록 된 다른 사용자에게 도움이되기를 바랍니다 또는 그들이 권한을 부여하는? – amitesh

+0

@amitesh 모든 사용자가 페이지를 만들 수 있습니다. 그러나 사용자가 페이지를 만들면 다른 사용자가 페이지를 편집 할 수있는 것과 같은 페이지에 대한 관리 권한을 가지게됩니다. – Ankit

답변

0

언제나 그렇듯이 모델 (UML) 및 코드 (SQL 등)에 대해 여러 가지 가능성이 있습니다.

모델 A) 위에 묘사 된 것처럼 모델 B) 사용자 클래스 만 생성자가 없습니다. 사용자가 페이지의 '액세스 할 수있는 사람'및 '만든 사람'의 두 연관의 대상입니다.

모델의 차이점은 페이지를 만들 수있는 사용자와 모델 A에 들어 있지 않은 사용자를 구별 할 수 있다는 것입니다. 이미 페이지를 작성한 사용자와 그렇지 않은 사용자를 구별 할 수 있습니다.

두 모델 모두 두 가지 구현으로 구현 될 수 있습니다.

코드 1) 5 표 사용 페이지, 사용자, 창조주, PageToUser, PageToCreator을 코드 2) 4 개 테이블을 사용하여 페이지, 사용자, PageToUserAccessible, PageToUserCreated을 (그리고 아마도 플래그 사용자의 '창조자') 코드 3) PageToUser에서 페이지, 사용자, PageToUser 및 플래그를 "만든"3 개의 테이블을 사용하십시오 (사용자의 플레시 "작성자"도 가능)

알아요? 모든 것이 '정확함'입니다. - 당신에게 달렸습니다 :)

0

이 경우 귀하의 역할은 각기 다른 접근 방식에 따라 역할이 달라야합니다. 각 역할에 대해 세 명의 사용자가 다른 액세스 권한을 가지고 있다고 가정합니다. 1 관리자 2 관리자 3 사용자 이 경우 관리자는 페이지를 생성하고 페이지 및 사용자의 모든 세부 정보를 편집 할 수 있습니다. 관리자는 액세스 권한에 따라 페이지를 만들고 액세스 할 수 있습니다. 사용자는 페이지의 세부 정보를 편집하지 않도록 페이지를 만들고 볼 수만 있습니다. 데이터베이스에 액세스 수준을 정의해야합니다. 단지 세부 사항을 편집 할 수

나는이 또한 페이지를 만들 수 있습니다 당신에게

관련 문제