상당히 복잡한 데이터 캡처 및 관리 사이트와 관련된 잠재적 인 작업을보고 있으며 최선의 접근 방법이 궁금합니다. 나는 램프 아키텍처를 사용할 것이다.데이터 캡처 관리 시스템에 대한 조언
백엔드가 포함됩니다 : 사용자가 업로드 한 csv 파일을 통해
대량 사용자 생성 - 그래서이 부분에 대한 확신하기 전에이 작업을 완료했다.
등록되면 사용자는 기밀 정보를 정기적으로 제출합니다. 데이터는 기밀 사항이지만 정기적으로 백업하는 MySQL 데이터베이스에이 데이터를 저장하기 만하면됩니다.
관리자, 사용자 활동을 모니터링하고 필요한 경우 새로운 역할과 사용자 계정을 만들 것입니다 :
관련된 다른 역할이있을 것입니다.
최종 사용자 - 단순히 자신의 프로필을 편집 할 수있는 기능, 형태를 통해 정보를 제공 할 것입니다, 이전 제출하고
관리 사용자와 같은 다른 기본적인 물건을 볼 수 - 누가 전 시리즈를 실행할 수 있습니다 데이터에 대해 정의 된 보고서를 작성하고 브라우저에서이 정보를 표시합니다. 선택한 결과를 스프레드 시트로 추출 할뿐만 아니라 데이터에서 "자유 형식 쿼리"를 수행 할 수도 있습니다. 이러한 표준 보고서는 웹 서비스/피드로도 제공됩니다. 자유 형식 쿼리 부분은
입니다. 데이터가 실제로 무엇인지 아직 모르기 때문에 새로운 질문이 시간이 지남에 따라 데이터 캡처 양식에 동적으로 추가 될 가능성이 큽니다. 이를 수용하기 위해서는 데이터베이스 구조가 유연해야하며, 이전에 해 본 적이없는 자유 형식 쿼리에이 용량을 제공해야합니다. 누구나 이것에 현명한 접근을 제안 할 수 있습니까?
또한, 버전의 형태가 될 것이다 그래서 사용자 업데이트/특정 데이터를 개정하는 경우, 변경 추적 할 것이며 이전 기록 (들)을 계속 사용할 수있을 것이라고. 나는 데이터베이스 설계에 이것을 통합하여 데이터베이스의 데이터를 업데이트하고 겹쳐 쓰는 대신 새로운 레코드가 항상 생성되고 "덮어 쓴"레코드는 단순히 아카이브 된 것으로 표시됩니다. 이렇게하면 항상 라이브 데이터 행과 아카이브 된 행 (날짜순으로 정리)을 검색 할 수 있다고 생각합니다. 말이 돼?
미리 알려 주셔서 감사합니다. 이것은 이전에 작업 한 것 (주로 표준 CMS)보다 조금 복잡합니다. 위의 처리 방법을 알고 있지만 조언이 필요한 경우 더 감사하게 생각합니다. 숙련 된 개발자가 제공 할 수 있습니다.
답장을 보내 주셔서 감사합니다. 나는 트리거를 지원하는 MySQL 5를 사용할 것입니다. 트리거를 사용하지는 않았지만이 애플리케이션에서는 데이터 변경을 처리하는 좋은 방법 인 것처럼 보입니다. 내가 올바르게 이해한다면, 내 경우에는 방아쇠가 레코드에 대한 UPDATE에서 활성화 될 가능성이 높습니다. db 끝에서만 독점적으로 db 이벤트 체인을 처리하므로 PHP 응용 프로그램 코드가 이러한 이벤트를 처리 할 수 없게됩니다. 또한, 감사 테이블의 개념은 로깅 날짜 등을위한 추가 열과 함께 합리적으로 들립니다. – kenny99