최종 사용자가 사용자 지정할 수있는 생활용 데이터베이스 응용 프로그램을 작성합니다.사용자 정의 테이블의 잘 알려진 행에 대한 최선의 접근법은 무엇입니까?
종종 이것은 데이터베이스를 잠시 제쳐두고 떠날 것을 의미합니다. 내 생각 엔티티 유형 중 일부는 무한한 우주 또는 도메인을 가지고 있습니다.
이름 유형을 지정하십시오. 이름, 성, 결혼 이름, 법적 이름, 인사말 이름 등을 가질 수 있습니다. 나는이 우주에 상한을 두지 않을 것이다.
그러나 잘 알려진 특정 이름 유형을 찾아 사용해야합니다. 표시 이름과 정렬 이름을 간단하게 유지한다고 가정 해 보겠습니다.
모든 이름 유형 (즉, 전체 유니버스)을 쿼리하고 잘 알려진 이름 유형도 반환 할 수 있기를 바랍니다.
- 는 id 컬럼 및 코드 열이 하나 개 name_type 테이블 유무 :
은 데이터베이스 내에서이 작업을 수행하기위한 몇 가지 전략이있다. 특정 금액보다 작은 ID 값은 시스템에서 사용하기 위해 "예약 됨"입니다. 이보다 높은 ID 값은 사용자 유형으로 간주됩니다.
- ID/코드 쌍에 어떤 유형의 행 (예 : 사용자 정의 또는 시스템)을 나타내는 부울 또는 int 유형의 표현 인 열을 추가하십시오. 똑같은, 정말로; 단지 다른 열을 사용하여 정보를 ID에서 오버로드하는 대신 명시 적으로 분리합니다.
- 이름 지정 규칙이 아마도 name_type 및 name_type_system 인 두 개의 테이블이 있어야합니다. name_type_system은 사용자에게 제한이 없다는 것이 이해되거나 시행됩니다. name_type은 도메인입니다. 쿼리는 이러한 테이블에서 UNION을 수행하고 응용 프로그램은 시스템 테이블을 절대 업데이트하지 못하도록합니다.
사람들은 어떤 전략을 사용합니까? 어떤 전쟁 이야기? 다른 하나를 선택하는 특별한 이유가 있습니까? 내가 못 보는 거대한 함정들? 첫 번째는 종종 나쁜 일) 매직 번호, http://en.wikipedia.org/wiki/Magic_number_(programming라고하고 있습니다 귀하의 세 가지 아이디어의
감사합니다; 훌륭한 대답. 제 경우에는 옵션 2가이 논리를 따라 가야합니다. –