내 사이트 중 각 사용자의 고유 사용자 아이디, 전자 메일 주소, 비밀번호 등으로 기본 사용자 테이블이 있습니다.각 사용자의 "바이너리 플래그"를 기본 Users 테이블 또는 자체 "바이너리 플래그"테이블에 배치해야합니까?
각 사용자와 관련된 많은 이진 플래그를 추적해야합니다. 메일을 확인했는지 여부, 계정을 업그레이드했는지 여부, Y를했는지 여부, Y를했는지 여부 등
이러한 플래그는 각각 간단한 "0"(거짓) 또는 "1"(참)이며,이 플래그를 기반으로 내 사이트는 사용자를 보여 주거나 다른 일을합니다.
제 질문은이 이진 플래그를 주 Users 테이블에 추가하거나 이진 플래그 또는 다른 것에 대해 별도의 테이블을 만드는 것이 합리적입니까?
당신이 어디에서 왔는지 이해할 수 있도록 추론 (그리고 접근법의 장점)을 설명해주십시오.
입력 해 주셔서 감사합니다. 그래서 내가 올바르게 이해한다면 상대적으로 "정적 인"플래그가 자주 변경되지 않고 Users 테이블에 저장되어야하며 자주 변경되는 플래그는 즉석에서 계산되어야합니다. 맞습니까? 또한 "런타임 유연성"이란 무엇을 의미합니까? – ProgrammerGirl
@Programmer 의미 : 데이터베이스 모델을 설계 할 때 사전에 알고 있습니까? ** 예 ** 인 경우 데이터베이스에 이미있는 다른 데이터에서 파생 될 수 없으면 단순 필드로 저장하십시오. ** 예 **이지만 성능과 데이터 무결성 사이의 올바른 균형이 무엇인지 결정할 때 파생되거나 저장하거나 저장하지 않을 수 있습니다. ** no **를 별도의 테이블에 행으로 저장하면 데이터베이스 구조를 변경하지 않고 (즉, 새로운 열 추가) 런타임에 필요에 따라 쉽게 추가 할 수 있습니다. 즉, "run- 시간 유연성 ". –
@Programmer 이것은 특정 플래그의 _value_ 빈도와 관련이 없습니다. –