SQL 배운 것 및 포인트 정리
Tutorial : SQLite3로 가볍게 배우는 데이터베이스: SQL 기초 실습
VARCHAR, CHAR 의 차이 및 크기 설정
() 에 붙는 숫자는 글자수를 의미한다.
CHAR
고정길이 문자열 저장 최대길이 255바이트 크기보다 작은 문자열 저장시 뒷부분은 공백
VARCHAR
가변길이 문자열 저장 최대길이 255바이트 length + 1 만큼 저장된다 VARCHAR은 CHAR 대비 같은 길이에 더 많은 공간이 소요된다.
트랜잭션
- Commit 과 Rollback
트랜잭션을 실행한 뒤 확정 신호(commit)을 보내야 데이터베이스에 반영이 된다.
지금까지는 auto-commit 기능이 켜져 있었기 때문에 확정 신호를 보내지 않아도 테이블 생성, 업데이트, 삭제가 이루어졌다. 이를 끌 수 있다.
Rollback 은 Commit과 반대되는 개념으로서, 변경될 작업에 대한 내용을 취소한다는 개념이다.
- 데이터베이스의 원칙 ACID:
A: Atomicity
원자성. 하나의 트랜잭션 작업은 전부 성공 혹은 전부 실패. 부분적 실행은 불허.
예) 1. 계좌 A에서 돈을 꺼냅니다 2. 계좌 B에 돈을 추가합니다.
둘중 하나만 성공하면 안되는 것이다.
C: Consistency
데이터베이스의 상태는 트랜잭선 이후에도 일관된 형태를 유지하여야 한다.
I: Isolation
하나의 트랜잭션은 다른 트랜잭션과 독립되어야 한다
즉 동시에 여러 개의 트랜잭션이 수행될 때도 독립적인 수행이기 때문에 연속으로 수행된 것과 동일한 결과를 나타내야 한다.
D: Durability
트랜잭션의 수행 기록은 영구적이어야 한다.
로그로 기록되기 전에 종료가 된다면 해당 이체 내역이 실패로 돌아가고 다시 이전 상태로 돌아가야 한다.