database

B-Tree 인덱스 - (1)
이번 글과 다음 글을 통해서 B-Tree 인덱스에 대해서 자세히 알아보자. 📙 1. 인덱스 개념 🧰 1. 책과 인덱스 인덱스란 책의 맨 끝에 있는 찾아보기(= 색인)에 비유할 수 있다. '찾아보기'를 인덱스라고 한다면, '책의 내용'은 데이터 파일에 해당하고, '페이지 번호'는 데이터 파일에 저장된 레코드의 주소라고 할 수 있다. DBMS에서 데이터베이스 테이블의 모든 데이터를 검색해서 원하는 결과를 가져오려면 시간이 오래 걸린다. 그래서 칼럼(또는 칼럼들)의 값과 해당 레코드가 저장된 주소를 키와 값의 쌍(key-value)으로 삼아 인덱스를 만들어 두는 것이다. 책의 '찾아보기'와 DBMS의 인덱스의 중요한 공통점은 '정렬'이다. '찾아보기'는 'ㄱ, ㄴ, ㄷ, ㄹ,...'과 같은 순서로 정렬되어 있..

트랜잭션(Transaction)
📙 1. 개념 트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말한다. 작업의 단위는 쿼리 한 줄이 될 수 도 있고, 여러 개의 쿼리들이 될 수 도 있다. 📙 2. 트랜잭션 연산 트랜잭션에는 2가지 연산이 있다. 📌 1. 커밋(COMMIT) 커밋이란 모든 작업들을 정상 처리하겠다고 확정하는 명령어이다. 트랜잭션 단위로 수행되며 변경된 내용이 모두 영구적으로 저장되는 것을 말한다. 커밋을 수행하면 하나의 트랜잭션 과정이 종료되는 것이다. 📌 2. 롤백(ROLLBACK) 롤백이란 트랜잭션으로 인한 하나의 묶음 처리가 시작되기 이전의 상태도 돌리는 일(취소)을 말한다. 즉, 마지막 커밋을 완료한 시점으로 돌아간다는 말과 동일하다. 📙 3. 트랜잭션 상태 다음..

[DB] 데이터베이스 키(Key) 개념 & 키(Key) 종류
📙 1. 키(Key) 데이터베이스에서 키(Key)란 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 기준이 되는 속성이다. 테이블 간의 관계를 조금 더 명확하게 하고 테이블 자체의 인덱스를 위해 설정된 장치이기도 하다. 📙 2. 유일성 & 최소성 키의 종류를 알아보기에 앞서서 키들을 구분하는 성질인 '유일성'과 '최소성'에 대해서 먼저 알아보자. 📌 1. 유일성 유일성이란 하나의 키를 이용하여 튜플을 유일하게 식별할 수 있는 성질을 말한다. '학번, 주민번호, 이름'으로 구성된 테이블이 있다고 하자. 유일성을 만족하는 키를 만든다면 {학번}, {주민번호}, {학번, 주민번호}, {학번, 주민번호, 이름}으로 이루어진 키를 만들 수 있다. 키를 이용해서 각각의 튜플을 구분할..