2010-06-04 2 views
1

사용자 설정을 저장하기위한 테이블을 추가해야합니다. 처음으로 사용자는 약 10 가지 설정을 갖지만 더 많은 설정이있을 것이라고 확신합니다.사용자 설정을위한 데이터베이스 테이블 구조

사용자 설정을 저장할 수있는 데이터베이스 테이블의 확장 가능한 구조는 무엇입니까?

도움을 주시면 감사하겠습니다.

감사합니다.

답변

4

설정 테이블 열 - : setting_id | setting_code | setting_name | setting_description

사용자 테이블 열 - : user_id | user_name | user_password | etcetera

사용자 설정 테이블 열 - : user_setting_id | user_id_fk | setting_code_fk | 그래서 같은 setting_value

구조 :

사용자 -> 사용자 설정 < ----이 도움이

희망을 설정.

+2

모든 setting_value가 동일한 데이터 유형 인 경우 작동합니다. 유형이 다른 경우 각 열을 작성하는 것이 좋습니다. 또한 각 설정에 대한 열이있는 경우 3 개 대신 하나의 표만 필요합니다. – sqlvogel

+2

이것은 종종 핵심 가치 패턴에 싫은가요? – tstyle

+0

@sqlvogel 각 설정을 열로 포함하면 사용자 테이블이 너무 넓어 질 것이라고 생각합니다. 내가 생각하기에 2 개의 테이블이 최선의 방법 일 것입니다. – user3308043

2

설정에 따라 다릅니다.
플래그 일 경우 비트 마스크를 사용할 수 있습니다.

문자열 인 경우 별도의 입력란을 만드십시오.
"확장 가능"하지 마십시오. 데이터베이스는 너비가 아니라 길이가 확장 가능해야합니다.
코드를 시작하기 전에 데이터베이스 구조를 계획하십시오.

좋지 않은 계획이라면 OK를 입력하고 나중에 몇 개의 입력란을 추가 할 수 있습니다. 그러나 정기적으로하지 마십시오. 데이터베이스 디자인이 좋지 않다는 신호입니다.

관련 문제