Computer Science/데이터베이스 (3) 썸네일형 리스트형 [데이터베이스] 트랜잭션 트랜잭션이란? 트랜잭션이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위이다. 트랜잭션은 작업의 완전성을 보장해주는 것이다. 즉, 논리적인 작업 셋을 모두 완벽하게 처리하거나 또는 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상이 발생하지 않도록 만들어주는 기능이다. 사용자의 입장에서는 작업의 논리적 단위로 이해를 할 수 있고, 시스템의 입장에서는 데이터들을 접근 또는 변경하려는 프로그램의 단위가 된다. [트랜잭션의 특징 - ACID] 트랜잭션은 다음의 4 가지 특성을 만족해야 한다. 원자성 (Atomicity) All or Nothing. 만약 트랜잭션 중간에 어떠한 문제가 발생한다면 트랜잭션에 해당하는 어떠한 작업 내용도 수행되어서는 안되며, 아무런 문제가 발생되지.. [데이터베이스] 인덱스 인덱스는 말 그대로 책의 맨 처음 또는 맨 마지막에 있는 색인이라고 할 수 있다. 이 비유를 그대로 가져와서 인덱스를 살펴본다면, 데이터는 책의 내용이고 데이터가 저장된 레코드의 주소는 인덱스 목록에 있는 페이지 번호가 될 것이다. DBMS도 데이터베이스 테이블의 모든 데이터를 검색해서 원하는 결과를 가져 오려면 시간이 오래 걸린다. 그래서 칼럼의 값과 해당 레코드가 저장된 주소를 키와 값의 쌍으로 인덱스를 만들어 두는 것이다. DBMS의 인덱스는 항상 정렬된 상태를 유지해야 하기 때문에 원하는 값을 탐색하는데는 빠르지만 새로운 값을 추가하거나 삭제, 수정하는 경우에는 쿼리문 실행 속도가 느려진다. 결론적으로 DBMS에서 인덱스는 데이터의 저장 성능을 희생하고, 그 대신 데이터의 읽기 속도를 높이는 기능.. [데이터베이스] 정규화 (Normalization) 데이터베이스 정규화란, 관계형 데이터베이스의 설계에서 중복을 최소화하고 무결성을 향상시키는 증 여러 목적을 달성하기 위해 데이터를 구조화하는 프로세스를 말한다. 좀 더 이론적으로 접근해보면 함수적 종속성을 이용해서 연관성있는 속성들을 분류하고, 각 릴레이션들에서 이상 현상(Anomaly) 이 생기지 않도록 하는 과정을 말한다. [그럼 데이터베이스를 정규화하는 이유는 무엇일까?] 한 릴레이션(테이블)에서 여럴 엔티티의 애트리뷰트들을 혼합하게 되면 정보가 중복 저장되며, 저장 공간을 낭비하게 된다. 또한, 중복된 정보로 인해 이상 현상(Anomaly)이 발생하게 된다. 동일한 정보를 한 릴레이션에서는 변경하고, 나머지 릴레이션에서는 변경하지 않는 경우 어느 것이 정확한 값인지 알 수 없게 되는 것이다. 이러.. 이전 1 다음