집 >데이터 베이스 >MySQL 튜토리얼 >DBMS의 감사 추적
트랜잭션 로그라고도 하는 감사 추적은 데이터베이스에 대한 모든 변경 사항을 데이터베이스 관리 시스템(DBMS)에 기록하는 것입니다. 이는 데이터베이스 활동을 추적 및 모니터링하고, 문제를 식별 및 해결하며, 데이터 무결성 및 보안을 보장하는 데 사용됩니다. 이 기사에서는 DBMS에서 감사 추적의 목적과 이점, 작동 방식을 살펴보고 구현 및 사용을 설명하기 위한 실제 및 SQL 코드 예제를 제공합니다.
감사 추적은 삽입, 업데이트, 삭제를 포함한 모든 데이터베이스 트랜잭션을 시간순으로 기록합니다. 수정된 데이터의 이전 값과 새 값은 물론 변경에 책임이 있는 사용자나 애플리케이션, 변경 날짜 및 시간, 변경 유형(예: 삽입, 업데이트, 삭제) 등의 메타데이터를 캡처합니다. ).
감사 추적은 데이터베이스 활동을 추적 및 모니터링하고, 문제를 식별 및 해결하며, 데이터 무결성 및 보안을 보장하는 데 사용할 수 있습니다. 예를 들어, 사용자가 실수로 데이터베이스에서 중요한 데이터를 삭제한 경우 감사 추적을 사용하여 책임 있는 사용자를 식별하고 삭제된 데이터를 복구할 수 있습니다. 마찬가지로 데이터가 무단으로 손상되거나 수정된 경우 감사 추적을 통해 원인을 식별하고 수정 조치를 취할 수 있습니다.
DBMS(데이터베이스 관리 시스템)에서 감사 추적은 데이터베이스 변경 사항을 기록하는 것입니다. DBMS의 변경 사항을 추적하는 데 사용할 수 있는 여러 유형의 감사 추적이 있습니다. 감사 추적의 세 가지 주요 유형은 내부, 외부 및 IRS(미국 국세청) 감사 추적입니다.
내부 감사 추적 − 이러한 감사 추적은 조직에서 자체 데이터베이스에 대한 변경 사항을 추적하는 데 사용됩니다. 이는 데이터 무결성을 보장하고 오류를 감지 및 수정하며 규제 요구 사항을 충족하는 데 자주 사용됩니다.
예 − 회사는 내부 감사 추적을 사용하여 재무 기록이나 고객 데이터베이스의 변경 사항을 추적할 수 있습니다.
외부 감사 추적 − 이러한 감사 추적은 외부 조직이나 감사자가 데이터베이스의 데이터를 검토하는 데 사용되며 규제 또는 규정 준수 목적으로 데이터의 정확성과 신뢰성을 확인하는 데 자주 사용됩니다.
− 외부 감사자는 회계 표준 준수 여부를 확인하기 위해 외부 감사 추적을 사용하여 회사의 재무 기록을 검토할 수 있습니다.
- 이 감사 추적은 국세청(IRS)에서 세금 기록 변경 사항을 추적하는 데 사용됩니다. 이는 세금 정보의 정확성과 완전성을 보장하고 세금 사기를 탐지 및 예방하는 데 사용됩니다.
− IRS는 IRS 감사를 사용하여 소득 또는 공제 변경과 같은 개인의 세금 기록 변경 사항을 추적할 수 있습니다.
기타 중요한 감사 추적 유형과 해당 예는 아래에 설명되어 있습니다.
− 이 감사 추적은 로그 파일을 사용하여 데이터베이스에 대한 변경 사항을 기록합니다. 로그 파일에는 변경 시간, 변경한 사용자, 및 변경 유형(예: 삽입, 업데이트, 삭제).
- 금융 데이터베이스에서는 로그 기반 감사 추적을 사용하여 계정 잔액이나 거래의 변경 사항을 추적할 수 있습니다.
− 이러한 감사 추적은 특정 이벤트가 발생할 때(예: 행이 삽입되거나 업데이트될 때) 활성화되는 특별한 유형의 데이터베이스 개체인 트리거를 사용하여 변경 사항을 기록할 수 있습니다. 감사 테이블의 데이터베이스에 추가됩니다.
- 의료 데이터베이스에서 트리거 기반 감사 추적을 사용하여 약물 목록이나 활력 징후의 변경과 같은 환자 기록의 변경 사항을 추적할 수 있습니다.
− 이러한 감사 추적은 버전 제어를 사용하여 데이터베이스 변경 사항을 추적합니다. 데이터베이스의 행이 변경될 때마다 업데이트된 데이터를 사용하여 행의 새 버전이 생성됩니다. 행의 이전 버전이 유지되므로 행에 대한 변경 내역을 볼 수 있습니다.
- 프로젝트 관리 데이터베이스에서 버전 기반 감사 추적을 사용하여 마감일 변경 또는 완료 상태 변경과 같은 프로젝트 작업 변경 사항을 추적할 수 있습니다.
- 이 테이블은 기본 테이블에서 업데이트될 때 행의 복사본을 저장하는 데 사용됩니다. 섀도우 테이블에는 행의 이전 버전과 새 버전이 포함되어 있어 행에 대한 변경 내역을 볼 수 있습니다.
− CRM(고객 관계 관리) 데이터베이스에서는 연락처 정보나 구매 내역 변경과 같은 고객 프로필 변경 사항을 추적하는 데 섀도우 테이블을 사용할 수 있습니다.
SQL 예제이 SQL 코드는 "employees_audit"라는 감사 테이블과 "audit_employee_changes"라는 트리거를 생성합니다. 트리거는 "employees" 테이블에 행이 삽입, 업데이트 또는 삭제될 때 활성화됩니다.
트리거가 활성화되면 변경 사항에 대한 정보가 포함된 새 행이 "employees_audit" 테이블에 삽입됩니다. "action" 열은 변경 유형(INSERT, UPDATE 또는 DELETE)을 지정하고 "change_time" 열은 변경 시간을 기록하며 "old_data" 및 "new_data" 열은 변경 전후의 데이터를 포함합니다. , 각각.
예를 들어 "employees" 테이블에서 행이 업데이트되면 트리거는 "UPDATE" 작업, 현재 시간, 업데이트 전 행의 이전 데이터, 업데이트 후 행의 새 데이터입니다. 이를 통해 시간 경과에 따른 "직원" 테이블의 변경 사항을 추적할 수 있습니다.
DBMS에 감사 추적을 구현하면 여러 가지 이점이 있습니다 −
데이터 무결성 및 보안 − 감사 추적은 모든 데이터베이스 활동을 추적하고 모니터링하여 데이터의 무결성과 보안을 보장하는 데 도움이 됩니다. 이는 데이터의 무단 액세스, 수정 또는 삭제를 방지하고 오류나 손상을 감지하고 수정하는 데 도움이 될 수 있습니다.
합동성 − 더 많은 여행을 할 수 있는 방법이 있습니다.条例(GDPR)은 미국의 医疗数据保险可移植性与责任法案( HIPAA).式处리。
ㅋㅋㅋ了所有数据库活动的详细记录,可用于识别和跟踪可疑活动。
위 내용은 DBMS의 감사 추적의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!