DB/Oracle
데이터베이스 기본 개념
쟌쥰
2019. 11. 28. 02:36
테이블 기본 명칭
스키마 : DB메타데이터(entity, attribute, reationship 등) 들의 집합
entity : 데이터로 관리하려고 하는 객체
Attribute : 연관된 객체의 특성
키의 종류
- 후보키(Candidate key) : 테이블에서 유일성과 최소성을 만족하는 키
- 기본키(Primary key) : 후보키 중에서 선정되어 사용되는 키
- 대체키(Alternate Key) : 후보키 중 기본키로 선택되지 않은 나머지 키
- 슈퍼키(Super Key) : 복합키(Composite key) 또는 연결키 -> 2개 이상의 컬럼을 묶어 식별 가능하다면 key 로 쓴다.
- 외래키(Foreign key) : 어떤 열이 다른 참조 테이블의 기본키
정규화
- 1NF : 컬럼의 중복 값 분리
- 2NF : 기본키에 종속적이지 않은 컬럼 분리
- 3NF : 기본키를 제외한 나머지 컬럼들 간의 종속 불가
- BCNF : 기본키가 여러 개 존재할 경우, 복합키로
- 4NF : 다치종속 제거. (컬럼 A -> B + C : A -> B / A -> C)
- 5NF : 조인 종속성 이용. 조인이 후보키를 통해서만 성립이 되도록
트랜잭션
트랜잭션은 DB를 변화시키기 위한 최소한의 작업 단위를 말한다.
한 트랜잭션에는 여러 작업이 존재할 수 있는데, 이 여러 작업중에 하나에 오류가 난다면 이 트랜잭션에서 수행한 작업을 모두 원래대로 되돌려 놓아야 한다. ROLLBACK
한 트랜잭션 안에 여러 작업이 전부 성공해야 COMMIT
특징
- 원자성 : 모두 반영, 아니면 이전 상태 (all or nothing)
- 일관성 : 실행 이전과 실행 이후가 일관적이어야 한다
- 고립성 : 실행 도중 다른 트랜잭션의 영향을 받으면 안된다
- 지속성 : 성공하면 결과가 영구적 반영