2014-03-24 3 views
0

외래 키에 관해서는 멍청한 놈입니다. 그래서 도움이 될 수있는 좋은/설명적인 학습 자료를 가르쳐주십시오. 기본 사용자/역할 시스템을 구축하려고한다고 가정 해 봅시다. 나는 두 개의 테이블을 가지고 있습니다 :테이블과 외래 키를 어떻게 구성해야합니까?

user_role : id, role 
user: id, role_id, name 

두 테이블 모두에서 사용하는 외래 키 제약 조건의 유형은 무엇입니까? 한 사용자에게 할당 된 역할을 사용자가 다른 역할로 이동할 때까지 삭제할 수 없도록하려고합니다.

나는 phpMyadmin을 사용하고 있기 때문에 방향을 제시 할 수 있다면 가장 좋아할 것입니다. 다음과 같이 될 것이다 사용자 테이블에 외래 키 제약 조건을 추가하기위한

+0

제안 된 스키마에서 사용자는 주어진 시간에 단 하나의 역할에 속할 수 있습니다. 그게 네가 원하는거야? 또한 역할이 본질적으로 계층 적 (예 : "Employee", "Manager", "Executive") 인 경우는 매우 일반적입니다. –

+0

예, 한 사용자는 하나의 역할 만 가질 수 있습니다. 또한 역할은 내 시스템에서 분리되어 있다고 가정하지만 호기심에서 벗어나 어떻게 계층 적 모델을 구현할 수 있습니까? role_parent와 링크하면됩니까? – Aoi

답변

0

간단한 질문 : 당신이해야 할 밖으로 설정하는 것을 달성 할

ALTER TABLE `user` 
ADD CONSTRAINT FK_User_Role 
FOREIGN KEY (`role_id`) 
REFERENCES `user_role` (`id`) 

.

관련 문제