CS

CS/DB

DB 면접 대비 - 트랜잭션(Transaction)

트랜잭션(Transaction)이란? 트랜잭션이란, 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 모두 수행되어야 할 일련의 연산들을 의미한다. 트랜잭션의 특징 1. 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다. 2. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 3. 하나의 트랜잭션은 Commit되거나 Rollback 된다. 트랜잭션의 상태 1. 활동(Active) : 트랜잭션이 수행되기 시작하여 현재 수행중인 상태 2. 실패(Failed) : 하드웨어나 소프트웨어의 문제, 트랜잭션 내부의 오류 등 여러 이유로 인하여 트랜잭션 수행이 중단된 상태 3. 철회(Aborted) : 트랜잭션을 ..

CS/DB

DB 면접 대비 - 정규화 & 이상현상 (Normalization & Anomaly)

정규화(Normalization)란? 정규화란, 하나의 릴레이션(Relation)에 하나의 의미만 존재하도록 릴레이션을 분해하는 과정이다. 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법이다. 정규화의 목적 (1) 불필요한 데이터를 제거해 불필요한 중복을 최소화한다. (2) 삽입/갱신/삭제 시 발생할 수 있는 이상 현상(Anomaly)를 방지하기 위해, 테이블의 구성을 논리적이고 직관적으로 한다. 정규화의 원칙 (1) 정보의 무손실 : 분해된 릴레이션이 표현하는 정보는 분해하기 전의 정보를 모두 포함해야 한다. (2) 최소 데이터 중복 : 이상 현상을 제거, 데이터 중복을 최소화 (3) 분리의 원칙 : 하나의 독립된 관계성은 하나의 독립된 릴레이션으로 분리해서 표현 정규화의 ..

CS/DB

DB 면접 대비 - 인덱스(index)

인덱스(Index)란? 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 DB 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 데이터베이스의 index 는 책의 색인과 같다. 인덱스의 장점과 단점 장점 테이블을 조회하는 속도와 그에 따른 성능을 향상시킬 수 있다. 전반적인 시스템의 부하를 줄일 수 있다. 단점 인덱스를 관리하기 위해 DB의 약 10%에 해당하는 저장공간이 필요하다. 인덱스를 잘못 사용할 경우 오히려 성능이 저하되는 역효과가 발생한다(*). (*) CREATE, DELETE, UPDATE의 발생이 빈번한 속성에 인덱스를 걸게 되면, 인덱스의 크기가 비대해져서 성능히 오히려 저하되는 역효과가 발생할 수 있다. 인덱스를 사용하면 좋은 경우 규모가 큰 테이블에서 소량의 데이터를 검색 INS..

CS/DB

DB 면접 대비 - 프로시저(Procedure)

프로시저 (Procedure) 프로시저(Procedure)란, DB에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한 것 -> (Stored Procedure) 라고도 불림 어떠한 업무를 수행하기 위한 절차를 의미 절차형 SQL을 활용하여 특정 기능을 수행할 수 있는 트랜잭션 언어(TCL) 함수란? 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합 함수가 작업을 위한 기능이라면, 프로시저는 작업을 정리한 절차 프로시저 생성 CREATE PROCEDURE 프로시저_명 ( 파라미터_명 MODE 데이터_타입 ) IS 변수 선언 CREATE OR REPLACE PROCEDURE 프로시저_명 ( 파라미터_명 MODE 데이터_타입 ) AS 변수 선언 # 주의 (1)..

CS/DB

DB 면접 대비 - 트리거(Trigger)

트리거(Trigger)에 대해 설명해주세요 트리거(Trigger)란, 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업을 의미한다. 특정 테이블에 INSERT, DELETE, UPDATE 같은 DML 문이 수행될 때, 데이터베이스에서 자동으로 동작하도록 작성된 프로그램이다. ※ 트리거 유형 (1) 행 트리거 : 테이블 안의 영향을 받은 행 각각에 대해 실행(변화가 생길 때마다). 변경 전의 행은 OLD, 변경 후의 행은 NEW라는 가상 줄 변수를 사용하여 읽을 수 있다. (2) 문장 트리거 : INSERT, UPDATE, DELETE 문에 대해 한 번만 실행된다. ※ 트리거 장점 데이터 무결성 강화(참조 무결성) 업무 규칙의 설정 검사 기능의 확장 ※ 트리거 단점 유지보수의 어려움 예상치 못한 오류..

koreankdj
'CS' 카테고리의 글 목록