목록CS/Database (3)
개발자 블로그
인덱스라는 말은 실생활에서 책 앞단에서 많이 볼 수 있다. 목차라는 영어이다. 책으로 공부를 하면서 원하는 부분을 다시 보고 싶을 때가 있다. 그럴 때 목차를 통해 원하는 부분을 빠르게 볼 수 있다. 그렇다면, DBMS에서 인덱스는 어떤 기능을 하고 언제 어떻게 사용하면 좋을지 개념 위주로 살펴보자! 책과 DBMS에서 인덱스와의 공통점은 '정렬'이라는 것이다. 알파벳, 글자, 숫자 등 기준이 되는 것에 정렬이 되어 있다는 것이다. 바로 정렬이라는 것이 인덱스의 핵심이고 정렬을 통해 인덱스의 장점과 단점을 파악해볼 수 있다. 그럼 자료구조와 비교해서 설명을 하면 인덱스는 SortedList 자료 구조이고, 데이터 파일은 ArrayList와 빗대어 볼 수 있다. 두 가지 차이는 정렬을 한다. 안한다의 차이이..

우선 데이터 베이스에서의 조인을 집합과 비교해서 설명을 많이 하지만, 완전 같다고 볼 순 없다. 물론 이해하기 편하게 가시적으로 표현하기엔 집합에 비유가 찰떡이긴하다. 결론은 관계형 디비에서 연결이 되는 키를 갖고 테이블을 이어붙인다. 연결이 되는 n개의 테이블, 연결이 되는 키가 필요하고 기준이 되는 테이블에 따라 조인되어 반환이 된 테이블이 달라진다. 1. LEFT JOIN 가장 많이 쓰이며, 흔히 접하는 조인이다. A 테이블을 기준으로 연결이 되는 A의 키와 B의 키로 B 테이블을 합친 테이블을 반환! 단, B 테이블에 없는 값은 Null로 표현이 되어 A테이블에 연결이 된다. 왜냐면 A 테이블 기준이니까! 2. INNER JOIN 그림과 같이 교집합과 같은 부분이다. 두 테이블이 공통으로 갖고 있..

트랜잭션이란? 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 트랜잭션의 특징 1. 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다. 2. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위이다. 3. 하나의 트랜잭션은 Commit되거나 Rollback된다. 트랜잭션의 성질 Atomicity(원자성) 1. 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. 2. 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느하나라도 오류..