내 문제는 대형 웹 응용 프로그램에서 많은 이벤트가 발생하고 있으며 지금은 (감사 목적으로) 무슨 일이 있었는지보고 싶거나 통계보고를 위해 데이터를 집계하고 싶습니다.감사 및 통계 데이터 수집
한 가지 해결책은 각 이벤트 유형에 대해 DB에 테이블을 만들고 거기에 기록하는 것입니다. 예 : 암호가 변경되고 날짜, 사용자, IP 등을 기록하십시오. 필요한 감사 정보를 제공하고 테이블에 대해 보고서를 실행하여이 기능이 얼마나 자주 사용되는지 확인할 수 있습니다. 단점은 캡처하려는 각 유형의 이벤트에 대해 새 테이블을 만들어야한다는 것입니다.
이상적인 솔루션은 XML 필드와 같이 유연한 구조를 가진 단일 테이블을 사용하는 것이지만 테이블의 xml 필드가 좋지는 않습니다.
내 질문 : 내 문제를 해결하는 잘 사용되는 패턴이 있습니까?
이Event Type
Event Type Id (PK)
Name
Number of parameters (useful - not essential)
Event
Event Id (PK)
Event Type Id (FK)
Timestamp
Event Attribute
Event Attribute Id (PK)
Event Id (FK)
Name
Value (as string in all cases)
Sequence Number (within Event. this may well not be needed, but can be a convenience)
내가이 명명 된 생각하지 않는다 :
감사합니다. Chris - 스키마와 설명에 감사드립니다. – Guy