약 15 개의 체크 박스가있는 웹 폼이 있는데, 사용자는 체크 박스와 그 사이의 수량을 모두 체크 할 수 있습니다. 양식 데이터를 저장할 데이터베이스는 MySQL이지만 보고서는 MySQL ODBC 연결을 사용하여 MS Access의 데이터에서 생성됩니다. 이 문제를 처리하기위한 세 가지 옵션이 있습니다.내 체크 박스 데이터를 데이터베이스에 저장하기위한 정상적인 방법은 무엇입니까?
스프레드 시트 방법 :
모든 확인란에 대한 부울 칼럼에 대한 텍스트 상자 하나 개의 테이블이 "기타"
정규화 방법 :
두 테이블을 가지고, 하나는 체크 박스 정보가 아닌 다른 양식 데이터입니다. 그런 다음 폼 데이터의 FK와 일대 다 관계의 체크 박스 값을 포함하는 두 번째 테이블. 양식이 처리 될 때 일부 루핑으로 양식 데이터를 삽입하는 것과는 별도로 확인란 값을 삽입하는 것을 처리하십시오.
단문 방법 :
체크 박스 데이터에 대한 텍스트 필드 하나 개의 테이블이 있습니다. 양식을 처리 할 때 체크 상자 값을 쉼표로 분리 된 문자열로 연결하고이를 다른 데이터와 함께 텍스트 필드에 넣습니다.
액세스 방법과 짧은 방법은 모두 보고서를 생성하는 데 사용하기 쉽기 때문에 매력적입니다. 특히 짧은 방법. 안타깝게도 정규화 된 방식을 선호하는 반면 Access 구성 요소를 개발하는 조직에서는 정규화 된 데이터를 적절하게 사용하는 보고서를 생성하는 방법을 알지 못합니다. 액세스 방법과 짧은 방법 모두 체크 박스 값 (액세스 방법이 더 그렇습니다)으로 필터링 할 때 문제가 될 수 있습니다.
어떻게해야합니까? 제가 정상화 된 방식으로 간다면 보고서를 작성하는 도구를 개발해야 할 책임이 있습니다. 이는 몇 발가락에 발을 디디 며 정치적 논쟁이 될 수 있습니다. 나는 그들이 이미 사용하고있는 것을 고수한다. (접근 방법) 즉각적인 작업 부하를 증가시키고 프로그래밍 문제를 혼란에 빠뜨리는 것이지만, 어떤 사무실 정치도 피한다. 또는 현재 약간의 프로그래밍 비용과 나중에 불편을 겪고있는 하이브리드 방식은 다른 프로젝트 참여자에게 몇 가지 장애물이 있습니까?
비정규 화 된 접근 방식은 액세스 방식이 아닙니다. 접근은 절대로 적절한 테이블 구조를 사용하는 것을 금지합니다. 그것이 "스프레드 시트 방법"을 읽으려면 그것을 바꾸십시오. 왜냐하면 그것이 그것을 설명하는 더 합리적인 방법이기 때문입니다. 이 문구를 사용하여 질문을 투표하고 내 downvote를 수정하면 문제를 해결할 수 있습니다. –
"액세스 방법"으로 설정 한 이유는 일반적으로이 패턴을 볼 수있는 장소이기 때문에 코딩을하지 않고도 양식을 올바르게 작동시킬 수있는 가장 쉬운 방법이기 때문입니다. 그것을 변경해 주셔서 감사합니다, 그것은 더 적절한 설명 것 같습니다. –