데이터베이스 트랜잭션의 네 가지 특성은 다음과 같습니다. 1. 원자성, 트랜잭션은 데이터베이스의 논리적 작업 단위이며 트랜잭션의 모든 작업이 수행되거나 수행되지 않아야 합니다. 2. 일관성, 트랜잭션은 특정 상태에 있어야 합니다. 실행 전후 일관성 상태 3. 격리 4. 내구성 트랜잭션이 제출되면 데이터베이스의 데이터 변경 사항이 영구적이어야 합니다.
(권장 튜토리얼: mysql 비디오 튜토리얼)
데이터베이스가 트랜잭션 작업을 지원한다고 주장하는 경우 데이터베이스는 다음 네 가지 특성을 가져야 합니다.
1 원자성
원자성은 모든 것을 의미합니다. 트랜잭션에 포함된 작업은 성공하거나 실패하여 롤백됩니다. 이는 이전 두 블로그에서 소개한 트랜잭션의 기능과 동일한 개념이므로 트랜잭션의 작업이 성공하면 데이터베이스에 완전히 적용되어야 합니다. . 작업 실패가 데이터베이스에 영향을 미치지 않는 경우.
2. 일관성
일관성은 트랜잭션이 데이터베이스를 하나의 일관성 상태에서 다른 일관성 상태로 변환해야 함을 의미합니다. 즉, 트랜잭션은 실행 전후에 일관성 상태에 있어야 합니다.
이체를 예로 들면, 사용자 A와 사용자 B의 총 돈이 5,000이라고 가정하면, A와 B 사이의 이체가 어떻게 이루어졌든, 이체가 몇 번 이루어졌든 상관없이, 이체한 돈의 합은 거래가 끝난 후 두 명의 사용자는 5000이어야 하며 이는 거래의 일관성입니다.
3. 격리
격리란 동일한 테이블을 운영하는 경우와 같이 여러 사용자가 동시에 데이터베이스에 액세스할 때 각 사용자에 대해 데이터베이스에서 열린 트랜잭션이 다른 여러 동시 트랜잭션의 작업에 의해 방해받을 수 없음을 의미합니다. 서로 격리되어야 합니다.
즉, 이러한 효과를 얻으려면 두 개의 동시 트랜잭션 T1과 T2에 대해 트랜잭션 T1의 관점에서 T2는 T1이 시작되기 전에 끝나거나 T1이 끝난 후에 시작됩니다. 따라서 각 트랜잭션은 서로 다른 트랜잭션이라는 의미가 없습니다. 트랜잭션이 동시에 실행되고 있습니다.
트랜잭션 격리 정보 데이터베이스는 나중에 소개될 여러 격리 수준을 제공합니다.
4. 내구성
내구성은 일단 트랜잭션이 제출되면 데이터베이스 시스템에 오류가 발생하더라도 데이터베이스의 데이터 변경 사항이 영구적이라는 것을 의미합니다.
예를 들어 JDBC를 사용하여 데이터베이스를 운영하는 경우 트랜잭션 메서드를 제출한 후 사용자에게 트랜잭션 작업이 완료되었다는 메시지가 표시됩니다. 메시지가 나타날 때까지 프로그램 실행이 완료되면 트랜잭션을 식별하고 제출할 수 있습니다. 현재 데이터베이스에 문제가 있더라도 올바르게 실행되어야 합니다. 트랜잭션도 완전히 실행되어야 합니다. 그렇지 않으면 트랜잭션을 완료하라는 주요 오류가 표시되지만 데이터베이스가 트랜잭션을 실행하지 못했습니다. 실패.
위 내용은 데이터베이스 트랜잭션의 네 가지 특성은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!