내 데이터베이스에 다양한 유형의 사용자를 저장하는 가장 좋은 방법이 궁금합니다.데이터베이스에 사용자 저장
저는 4 개의 주요 사용자 유형 (관리자, 학교, 교사, 학생)이있는 응용 프로그램을 작성하고 있습니다. 현재 각 테이블을 가지고 있지만 사용자 정보를 저장하는 가장 좋은 방법은 아닌지 잘 모르겠습니다.
예를 들어 학생들이 다른 학생에게 PM을 허용하는 것은 간단하지만 (발신자 및 수신자 student_id 저장) 교사에게 PM 학생을 허용하려면 다른 테이블 (보낸 사람 teacher_id, 보낸 사람 student_id)이 필요합니다.
모든 사용자를 user_type 필드가있는 하나의 사용자 테이블에 저장해야합니까? 그렇다면 교사/학생 관련 정보는 여전히 다른 테이블에 저장해야합니다. 나는 USER_TYPE이있는 사용자를 중지하려면 어떻게
users
user_id, password_hash, user_type
students
user_id, student_specific_stuff...
teachers
user_id, teacher_specific_stuff...
는 = 실수되는 학생은 (둘 다 USER_ID을 가지고)
그냥 내가 전에 데이터베이스가 올바른 얻을 수 있는지 확인하려면 교사 테이블에 입력되는 나는 더 멀리 간다. 감사 ...
감사
또는 MySQL을의 사용자 테이블과 같은 매트릭스 스타일의 허가 시스템 같은 간단한 될 수 있습니다. 나는 계층 전략에 갈 것이라고 생각한다. 나는 당신이 질문의 두 번째 부분에 답변 한 사람이 없다는 것을 알아 차렸습니다 ... 학생 클래스가 "추가 관리자 정보"테이블에 실수로 입력되는 것을 방지하기 위해 어떻게해야합니까? MySQL에서 확인할 수있는 방법이 있습니까, 아니면 내 웹 서비스에서 확인해야합니까? – EMcKenna