개념이 연결되는 이론 학습
과목과 소분류를 선택해 핵심 개념을 찾아보세요. 모든 이론은 로그인 없이 읽을 수 있습니다.
SQL 명령 분류와 테이블·데이터·권한 제어
SQL 명령은 정보처리기사 학습에서 주로 DDL·DML·DCL로 구분하며, 일부 자료는 트랜잭션 제어를 TCL로 따로 분리한다. DDL은 테이블과 제약조건 같은 데이터베이스 객체의 구조를 정의하고, DML은 행을 조회·삽입·수정·삭제한다. DCL은 GRANT·REVOKE로 권한을 제어하며, 3분류 체계에서는 COMMIT·ROLLBACK 같은 트랜잭션 제어도 DCL에 포함한다. SELECT를 DML에 포함할지 DQL로 따로 부를지도 자료에 따라 다르므로 문제에서 제시한 분류 기준을 먼저 확인해야 한다. DELETE와 DROP, REVOKE와 ROLLBACK처럼 대상이 다른 명령을 구분하는 것이 핵심이다.
트랜잭션과 저장 프로그램·커서·예외 처리
트랜잭션은 함께 성공하거나 함께 취소해야 하는 논리적 작업 단위이며 COMMIT과 ROLLBACK으로 확정·취소한다. 저장 프로시저·함수·트리거는 호출 방식과 반환 목적이 다르다. 커서는 조회 결과를 한 행씩 처리하며 선언·열기·인출·닫기 순서를 따른다. 예외 처리는 오류의 제어 흐름을 다루므로 전체 트랜잭션 롤백과 같은 기능으로 보면 안 된다.
동적 SQL·SQL 테스트·실행계획·DBMS 방언
동적 SQL은 실행 시점에 SQL 텍스트를 구성·전달하여 처리하는 방식이며 문장 구조가 매번 바뀌어야 하는 것은 아니다. 값 바인딩은 문장 구조와 입력값을 분리한다. SQL 테스트는 기대 결과와 실제 값을 비교하고, 실행계획 분석은 접근 경로와 비용을 점검한다. 제품별 방언은 공통 SQL 개념과 구분해 해석한다.
SELECT 처리 순서·조건·NULL·집계·정렬
SELECT의 작성 순서와 논리적인 처리 순서는 다르다. WHERE는 개별 행을, HAVING은 집계된 그룹을 거르며 NULL 비교에는 UNKNOWN이 포함된다. COUNT·SUM·AVG의 NULL 처리와 GROUP BY·ROLLUP·CUBE의 집계 수준을 구분해야 한다. DISTINCT는 출력 열 조합의 중복을 제거하며 ORDER BY만이 결과 정렬을 요구한다.
JOIN: INNER·OUTER·SELF·CROSS
JOIN은 조인 조건에 맞는 행의 쌍을 만드는 연산이다. INNER JOIN은 일치 행만, OUTER JOIN은 지정한 쪽의 불일치 행도 보존한다. SELF JOIN은 같은 테이블의 역할을 별칭으로 구분하며 CROSS JOIN은 모든 조합을 만든다. 중복 키에 따른 행 수 증가, NULL 키, ON과 WHERE의 차이가 결과 계산의 핵심이다.
서브쿼리와 EXISTS·IN·ANY·ALL
서브쿼리는 상위 SQL에 한 값, 값 집합, 존재 여부 또는 테이블 형태의 결과를 제공한다. 상관 여부와 반환 행 수는 서로 다른 분류 기준이다. EXISTS는 행의 존재를, IN은 값의 포함을, ANY와 ALL은 비교의 일부·전체 성립을 판단한다. NULL과 빈 집합이 포함되면 3값 논리에 따라 결과를 확인해야 한다.
집합 연산·뷰·윈도 함수
집합 연산은 동일한 열 구조의 조회 결과를 행 방향으로 결합한다. 일반 뷰는 조회 정의를 저장하며 갱신과 보안에는 별도의 조건이 따른다. 윈도 함수는 개별 행을 유지하면서 PARTITION BY·ORDER BY·프레임을 기준으로 계산한다. UNION과 UNION ALL, RANK와 DENSE_RANK의 차이를 작은 데이터로 계산할 수 있어야 한다.
데이터베이스 구조·스키마·데이터 모델
데이터베이스는 통합·저장·운영·공용 데이터이고 DBMS는 이를 정의·조작·제어하는 소프트웨어다. 스키마는 구조와 제약의 정의이며 인스턴스는 특정 시점의 데이터다. 외부·개념·내부 스키마와 매핑을 구분하면 논리적·물리적 데이터 독립성을 판별할 수 있다. 데이터 모델은 구조·연산·제약조건으로 이루어지며 개념·논리·물리 설계를 거쳐 구현된다.
ER 모델과 관계 모델 변환
ER 모델은 업무를 개체·속성·관계와 참여 제약으로 표현한다. 관계 차수와 카디널리티, 필수·선택 참여를 구분하고 이를 관계형 스키마의 키·외래키로 변환한다. 1:N은 N쪽에 외래키를 두고 N:M은 연결 릴레이션을 만든다. 변환 뒤에는 업무 요구 누락, 식별자·관계·도메인·정규화의 적합성을 검증한다.
키와 무결성 제약조건
슈퍼키는 유일성, 후보키는 유일성과 최소성을 만족하며 기본키는 선택된 후보키다. 외래키는 참조 역할을 하는 속성으로 자식 값의 유일성을 자동 요구하지 않는다. 도메인·개체·참조·사용자 정의 무결성을 SQL 제약조건과 연결해 이해해야 한다. UNIQUE·CHECK·DEFAULT는 NULL 처리와 보장 범위가 서로 다르다.
관계대수와 관계해석
관계대수는 원하는 결과를 얻는 연산 순서를, 관계해석은 결과가 만족할 조건을 표현한다. 선택·투영·조인·디비전 및 일반 집합 연산의 기호와 결과를 계산할 수 있어야 한다. 투영은 고전적인 집합 의미에서 중복을 제거하며 카티션 곱은 행 수를 곱한다. 관계해석은 튜플 변수와 도메인 변수, 존재·전칭 조건을 구분한다.
함수적 종속·이상 현상·정규화
함수적 종속은 같은 결정자 값이 같은 종속자 값을 결정해야 한다는 업무 규칙이다. 정규화는 이 종속에 따라 서로 다른 사실을 분리해 삽입·갱신·삭제 이상을 줄인다. 1NF·2NF·3NF·BCNF는 원자값과 함수 종속을, 4NF·5NF는 다치·조인 종속을 다룬다. 분해에서는 정보 복원과 종속 보존을 구분하고 반정규화에는 중복 관리가 필요함을 이해한다.
물리 스키마·자료형·저장 구조와 성능
물리 설계는 논리 모델을 목표 DBMS의 테이블·칼럼·저장 구조로 구현하는 단계다. 자료형·길이·NULL·제약조건과 함께 스토리지, 행 폭, 예상 용량, 데이터 지역화를 검토한다. 물리 E-R 다이어그램과 CRUD 분석으로 업무–데이터 대응과 구조의 품질을 확인한다. 반정규화는 실제 성능 근거와 중복 데이터 관리 방안을 전제로 검토한다.
인덱스·클러스터링·파티션
인덱스는 필요한 행을 찾는 접근 구조이며 조회 이득과 갱신·저장 비용을 함께 가진다. B-tree·해시·비트맵의 특성과 복합 인덱스의 열 순서를 구분한다. 클러스터링은 관련 행의 물리적 근접성, 파티셔닝은 큰 테이블의 분할을 다룬다. 프루닝과 인덱스 사용은 다른 판단이며 물리 배치가 결과 정렬을 보장하지 않는다.
분산 데이터베이스의 분할·복제·투명성
분산 데이터베이스는 논리적으로 관련된 데이터를 여러 사이트에 두고 통합 관리한다. 수평 분할은 행을, 수직 분할은 열을 나누며 할당과 복제는 위치와 사본 수를 정하는 별도 결정이다. 완전성·재구성 가능성·분리성과 각 투명성의 의미를 구분한다. 데이터베이스 이중화는 장애 시 서비스 연속성을 위한 구성이며 백업을 대신하지 않는다.
트랜잭션·격리 수준·락·교착상태
트랜잭션은 원자성·일관성·격리성·지속성을 만족하도록 관리하는 논리적 작업 단위다. 동시 실행에서는 직렬 가능성과 더티·비반복·팬텀 읽기, 갱신 유실을 구분한다. 격리 수준은 허용 현상을 정하고 잠금·타임스탬프·검증·다중 버전은 병행 제어 방법이다. 2단계 로킹과 분산 2단계 커밋은 목적이 다르며 교착은 대기 관계의 순환을 확인해 처리한다.
로그·체크포인트·백업·복구·데이터 보호
회복은 로그·백업 등을 이용해 완료된 변경은 보존하고 미완료 변경은 취소하는 과정이다. UNDO·REDO, 지연·즉시 갱신, 체크포인트와 그림자 페이징을 구분한다. 전체·증분·차등 백업은 필요한 복원 체인이 다르며 RPO·RTO와 실제 복원 가능성을 확인한다. 데이터베이스 암호화와 DAC·MAC·RBAC 접근제어는 서로 보완하는 보호 수단이다.
데이터 전환 계획·매핑·ETL·변환
데이터 전환은 기존 데이터를 새 시스템의 구조와 업무 규칙에 맞게 옮기는 작업이다. 대상·일정·매핑·정제·검증·실패 대응을 계획하고 리허설로 확인한다. ETL은 추출·변환·적재 순서이며 ELT는 적재 후 변환하는 방식이다. 파일의 경계·인코딩·값 의미, 키 매핑과 부모·자식 적재 순서까지 맞아야 올바른 전환이다.
데이터 전환 검증·대사·재처리·롤백·품질
전환 검증은 동일한 범위·시점·변환 규칙을 기준으로 원천과 목표의 구조·건수·키·값·무결성을 비교한다. 건수와 합계가 같아도 누락과 값 오류가 숨어 있을 수 있다. 품질 분석은 완전성·정확성·유효성 등을 나누고 오류율의 분자·분모를 명확히 한다. 오류를 수정해 재처리한 뒤 재검증하고 복귀 기준과 업무 승인을 확인해야 전환을 완료할 수 있다.