2017-03-10 8 views
2

빠른 확인을했는데 내가 물어볼 질문과 비슷한 질문을 찾을 수 없었습니다. 나는 그것이 단지 백만 번 부끄러워 답변되었습니다 질문처럼 보이는대로 내가 제목에 더 구체적 수 있었으면 좋겠어. 나는 현재 웹 응용 프로그램에 대해 다음 문제에 대한 스키마를 설치하는 방법을 알고하지의 딜레마 데동적 양식 및 데이터베이스 스키마

:

나는 사용자가 온라인 양식을 다음 필드로 정의 티셔츠를 주문 : 크기, 색상 , 포켓.

시스템의 각 사용자는 처음부터 다른 옵션을 가질 수 있고 필드를 동적으로

예 생성됩니다 사용자 1 : 크기 [중소], 컬러 [그레이 나 블랙, 포켓 [광장 또는 사각형]

사용자 2 : 크기 [중간 또는 큰], 컬러 [블루 또는 레드, 포켓 [광장 또는 삼각형]

모든 사용자가 완전히 다른 옵션과 크기, 색상과 포켓에 대한 옵션을 가질 수

서로 독립적입니다.

이 문제에 대한 가능한 해결책이 있습니까?

테이블 :

id | user_id | 크기 | Size_options | 색상 | Color_options | 포켓 | Pocket_options

나는 이것들을 더 잘 깨는 더 좋은 방법이 있으며, 옵션 값을위한 필드를 갖는 것이 좋을 것이라고 느낍니다.

나는 MySQL 데이터베이스를 사용하게 될 것이다.

이것은 내 문제의 작은 예일 뿐이며 50 개 이상의 필드가있는 양식이 있습니다. 모두 이처럼 상호 교환해야하지만 텍스트 상자, 체크 박스, 라디오 버튼 및 드롭 다운 선택이 있습니다.

독서와 조언을 주신 것에 대해 진심으로 감사 드리며 그 기간 동안 사과드립니다. 나는 해결하려고하는 이슈에 대해 명확히하고 싶었다. 당신이 필요로하는 무엇

답변

1

여기에 간다 무엇 속성

Properties 
id 
property name 
property description 

를 저장하는 별도의 테이블? 포켓 모양, 포켓 색상, 셔츠 색상, 칼라 타입 등과 같은 상황이

그런 다음 당신이 당신이 할 수

cloth_properties 
user_id (or more likely order id) 
property_id (foreign key properties) 
property_value 

사용자에 의해 주문 의류의 특정 항목과 위를 연결하는 다른 테이블이 필요 사용자가 어떤 속성을 설정하거나 변경하는지 완전히 제어 할 수 있으며 또한 새 속성을 동적으로 추가 할 수 있습니다.

+0

고맙습니다! 나는 완전히 이해할 수 있을지 모르겠다. 용서 해주시는 것이 좋았으나 용서해 주시길 바랍니다. 그러나 나는 올바르게 이해하고 싶습니다. 파란색이 셔츠 색상이라면 어디로 갔을까요? 속성 테이블에서이 열이 단독으로 나타 납니까? – likwidmonster

+0

cloth_properties 테이블에 셔츠 색상에 해당하는 property_id가있는 항목이 있습니다. 속성 값 열은 파란색으로 표시됩니다 (실제 색상 코드는 여기에서 사용하고 싶을 것입니다). – e4c5

+0

감사합니다! 마지막 질문 하나.이 양식은 약 50 개의 동적 필드를 가지므로 이것이 (50 * 사용자 수) 항목을 의미하지는 않습니까? 그게 낭비입니까 아니면 너무 많습니까? – likwidmonster