본문 바로가기

CS/데이터베이스2

[DB] 데이터베이스 트랜잭션 정리 트랜잭션? 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업단위이다. 여기서 작업단위라는 말은 사람이 정하는 기준에 따라 달라질 수 있을것이다. 예를들어 A가 B에게 10000원을 송금하는 상황이라고 한다면 A의 계좌에서 -10000만큼 update해준 다음 B의 계좌에서 +10000을 update해줘야 하므로 총 2번의 연산이 필요하다. 이를 통틀어서 하나의 트랜잭션(송금)이라고 하며 두번의 update가 정상적으로 완료되면 트랜잭션을 commit한다고 말하며, 중간에 오류가 발생해서 update가 제대로 수행되지 않았다면 Commit 하지 못하고 이전상태로 돌려놓는다는 뜻의 rollback을 한다고 말한다. Commit연산이 실행되면 트랜잭션의 수행결과가 데이터베이스에 반영되어.. 2022. 5. 1.
[DB] 데이터베이스 정규화 개념정리 정규화(Normalization)란? 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라고 한다. 중복된 데이터를 없앰으로써 무결성을 유지할 수 있으며, 이상현상(Anomaly)을 방지할 수 있다. 이상현상에는 다음 3가지가 있다. 삽입 이상(Insertion Anomaly): 새로운 데이터를 하나 삽입할 때, 테이블의 필요하지 않은 필드들 때문에 원치 않는 필드의 값도 삽입해야 하는 경우에 데이터의 불일치가 발생한다. 갱신 이상(Modification Anomaly): 중복된 데이터 중에 일부를 갱신 할 시 데이터의 불일치가 발생한다. 삭제 이상(Deletion Anomaly): 데이터를 삭제할 때 의도치 않은 데이터까지 삭제되서 데이터의 불일치가 발생한다. 데이터베.. 2022. 4. 30.