안녕하세요. IT 엘도라도 에 오신 것을 환영합니다.
글을 쓰는 것은 귀찮지만 다시 찾아보는 것은 더 귀찮습니다.
완전한 나만의 것으로 만들기 위해 지식을 차곡차곡 저장해 보아요.   포스팅 둘러보기 ▼

데이터베이스 (Database) (3)

[Database] 인덱스 (Index), B-Tree

1. 서론 인덱스(Index), 즉 색인이라는 말을 책에서 본 경험이 있을 것이다. 원하는 내용을 쉽게 찾을 수 있도록 책 뒤편에 마련해둔 테이블이 바로 그것이다. 여기에는 책에 서술되어 있는 내용들의 주요 키워드들이 사전 순서로 나열되어 있고, 각각의 키워드에 대하여 해당 내용이 서술되어 있는 페이지의 번호가 적혀 있다. 이를 통해 우리는 원하는 내용이 서술되어 있는 페이지로 단번에 찾아갈 수 있다. 데이터베이스에서의 인덱스도 개념적으로는 이것과 완전히 동일하다. 인덱스는 테이블의 레코드 개수가 많을 때도 효율적으로 검색을 수행할 수 있도록 도와주는 일종의 테이블이다. 이제 본격적으로 인덱스에 대해 한 번 알아보자. ▼ 일반적인 책의 인덱스 2. 인덱스의 개념 데이터베이스의 인덱스(Index)란 관계형..

[Database] 트랜잭션 (Transaction)

이런 상황을 상상해 보자. 친구에게 돈을 보내기 위해 ATM기를 찾아간 것이다. 카드를 넣고, 친구의 계좌번호를 누르고, 송금할 금액을 입력하였다. 그런데 송금이 되던 도중 갑자기 ATM기의 화면이 꺼져버렸다. 내 돈이 빠져나갔는지 확인하기 위해서 핸드폰을 보니 출금 알림이 와있었다. 이때 드는 생각은 무엇일까? 필자라면, "혹시 내 통장에서만 돈이 빠져나가고 친구에겐 송금이 안 됐으면 어떡하지?"라고 생각하면서 불안해할 것 같다. 하지만 아주 잘 갖춰진 은행의 데이터베이스 시스템은 그러한 현상을 웬만해서는 용납하지 않는다. 바로 트랜잭션(Transaction)이라는 것 때문이다. 이에 대해 한 번 알아보자. 1. 트랜잭션의 개념 트랜잭션(Transaction)이란 데이터베이스를 대상으로 수행하는 일련의..

[SQL] 서브쿼리 (Subquery)

1. 서브쿼리 (Subquery) SQL 쿼리문의 하부 절에 또 다른 SQL 쿼리문을 중첩하여 사용하는 기법을 말한다. 주의할 점은, 서브쿼리는 항상 연산자의 우측에 존재해야 하며 반드시 괄호로 묶어줘야 한다는 것이다. 서브쿼리는 다음과 같이 간단히 분류해볼 수 있다. 대분류 소분류 위치에 따른 분류 SELECT 문에 존재하는 서브쿼리 FROM 절에 존재하는 서브쿼리 WHERE 절에 존재하는 서브쿼리 반환 값에 따른 분류 단일 행 서브쿼리 (단일 행 + 단일 열) 다중 행 서브쿼리 (다중 행 + 단일 열) 다중 열 서브쿼리 (다중 행 + 다중 열) 2. 서브쿼리의 분류 2-1. 단일 행 서브쿼리 (Single Row Subquery) 단일 행 비교 연산자인 =, , = 등을 사용할 수 있다. EX) 이름..