https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Database
* 삽입 이상(insertion anomalies) 원하지 않는 자료가 삽입된다든지, 삽입하는데 자료가 부족해 삽입이 되지 않아 발생하는 문제점
* 삭제 이상(deletion anomalies) 하나의 자료만 삭제하고 싶지만, 그 자료가 포함된 튜플 전체가 삭제됨으로 원하지 않는 정보 손실이 발생하는 문제점
* 수정(갱신)이상(modification anomalies) 정확하지 않거나 일부의 튜플만 갱신되어 정보가 모호해지거나 일관성이 없어져 정확한 정보 파악이 되지 않는 문제점
* 릴레이션: 테이블과 같은 의미로 데이터의 집합을 의미한다. 튜플과 어트리뷰트로 구성되어있다.
1NF : 원자값 구성
2NF : 부분함수 종속 제거
3NF : 이행함수 종속 제거
BCNF : 결정자 함수 종속
4NF : 다치 종속성 제거
5NF : 조인 종속성 제거
참고
https://yaboong.github.io/database/2018/03/09/database-normalization-1/
원자성(Atomicity)
트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
일관성(Consistency)
트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태와 동일하게 데이터의 일관성을 보장해야 한다.
고립성(Isolation)
수행중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없다.
지속성(Durability)
트랜잭션이 정상적으로 종료된 다음에는 영구적으로 데이터베이스에 작업의 결과가 저장되어야 한다.
Commit연산
트랜잭션의 작업이 성공적으로 수행되고 데이터베이스가 일관된 상태에 있을 때 트랜잭션이 행한 갱신 연산이 완료된 것을 알려주는 연산
Rollback연산
하나의 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션의 원자성이 깨진경우, 트랜잭션이 수행한 결과를 원래의 상태로 원상 복귀시키는 연산