정보처리기사 · SQL 5분 읽기

정보처리기사·SQL 학습 가이드: 설계·정규화·테스트·SQL

결합도·응집도, 데이터베이스 정규화(1NF~BCNF), 블랙박스·화이트박스 테스트와 스텁·드라이버, 정보보안, SQL NULL·JOIN까지. 자주 섞이는 개념 쌍을 비교표와 예제로 정리했습니다.

나에게 맞는 시작점비슷해 보이는 소프트웨어 공학·데이터베이스·SQL 개념 쌍을 판단 기준으로 구분하고 카드·객관식으로 복습하기

전체 세트 고르기

핵심 짚어보기

앞글자 암기보다 '무엇을 기준으로 나누는지'를 먼저 봅니다

정보처리기사와 SQLD에서 오답이 많이 나오는 문제는 용어를 전혀 몰라서가 아니라, 인접한 두 개념의 경계를 섞어 놓았을 때 발생합니다. 예를 들어 '모듈 간 인터페이스로 배열·구조체를 넘기는 것(스탬프 결합도)'과 '제어 플래그를 넘기는 것(제어 결합도)', 또는 '하향식 통합의 스텁(Stub)'과 '상향식 통합의 드라이버(Driver)'처럼 짝을 이루는 개념들입니다.

이 가이드는 각 영역을 ① 모듈 설계(결합도·응집도·SOLID), ② 데이터베이스 정규화(1NF~BCNF와 키), ③ 소프트웨어 테스트(블랙박스·화이트박스와 통합 대역), ④ 정보보안 3요소와 웹 취약점, ⑤ SQL NULL·집계·JOIN 결과 예측의 다섯 갈래로 나누어 비교합니다.

데이터베이스와 SQL은 정처기 3과목·실기와 SQLD의 공통 핵심입니다

복합 기본키의 일부에만 종속되는 부분 함수 종속(→2NF 제거), 일반 속성끼리 이어지는 이행적 함수 종속(→3NF 제거), 후보키가 아닌 결정자(→BCNF 제거)는 정보처리기사 필기·실기와 SQLD 1과목에서 똑같이 다루는 핵심 주제입니다.

여기에 NULL이 포함된 테이블에서 COUNT(*)와 COUNT(컬럼), AVG(컬럼)의 계산 차이, 그리고 INNER·LEFT·FULL OUTER JOIN의 결과 행 수 예측을 함께 익히면 이론과 쿼리 문제를 한 번에 대비할 수 있습니다.

테스트와 보안은 '사례 → 기법/취약점' 대응 관계를 확인하세요

테스트 영역에서는 내부 코드를 보지 않는 명세 기반(동등 분할·경곗값 분석)과 내부 논리 경로를 따지는 구조 기반(문장·분기·조건 커버리지)을 먼저 가른 뒤, 통합 테스트의 호출 방향(상위→하위 스텁 vs 하위→상위 드라이버)을 확인합니다.

보안 영역에서는 기밀성·무결성·가용성(CIA) 중 어떤 속성이 침해된 사례인지, 그리고 웹 입력값 검증 미비(SQL 인젝션·XSS)와 인증 세션 악용(CSRF)이 어떻게 다른지 대조표로 정리합니다.

용어 인출 카드(493·554)와 공식 4지선다 객관식(557·558)을 함께 활용하세요

설명을 읽고 정확한 용어명을 떠올리는 서술·단답형 대비에는 주관식 카드 세트(정보처리기사 핵심 용어 60, SQLD·SQL 핵심 개념 50)가 효과적입니다.

4개 보기 중 틀린 설명이나 올바른 쿼리 결과를 고르는 필기 대비에는 하단에 연결된 위퀴즈 공식 객관식 문제집(정보처리기사 필기 핵심 50제, SQLD 핵심 객관식 50제)을 풀어 보세요.

한눈에 정리

영역별 핵심 질문과 연결 학습 가이드

영역별 핵심 질문과 연결 학습 가이드
영역핵심 질문읽을 가이드
소프트웨어 설계모듈 간 의존(결합도)과 모듈 내 관련성(응집도) 단계는 어떻게 구분하나?결합도·응집도와 SOLID
DB 정규화부분·이행적 함수 종속과 결정자 비후보키는 어느 정규형에서 분해하나?정규화 1NF~BCNF와 키
소프트웨어 테스트블랙박스·화이트박스 기법과 스텁·드라이버는 무엇이 다른가?테스트 기법과 스텁·드라이버
정보보안기밀성·무결성·가용성 사례와 SQLi·XSS·CSRF는 어떻게 구별하나?보안 3요소와 웹 취약점
SQL 활용NULL이 있을 때 COUNT·AVG와 OUTER JOIN 결과 행 수는 어떻게 되나?SQL NULL·집계·JOIN 비교

직접 풀어보기

예제로 확인하기

01통합 테스트 대역(Stub vs Driver) 빠르게 판별하기

주문 처리 시스템에서 상위 '결제 제어 모듈'은 완성되었지만, 이 모듈이 호출하는 하위 '카드사 승인 통신 모듈'이 아직 개발되지 않았습니다.

상위 결제 제어 모듈을 먼저 하향식으로 시험하기 위해 미완성 하위 모듈 자리에 두는 임시 모듈은 무엇인가요?

정답과 풀이 근거
테스트 스텁 (Test Stub)

상위 모듈이 호출하는 하위 피호출 모듈을 임시로 흉내 내는 것은 스텁(Stub)이고, 반대로 하위 모듈을 시험하기 위해 위에서 호출해 주는 임시 상위 모듈은 드라이버(Driver)입니다.

02NULL이 포함된 컬럼의 집계 결과 계산하기

4명의 사원 중 실적 점수가 각각 80, 100, NULL, 120입니다. SELECT COUNT(*), COUNT(점수), AVG(점수)를 실행했습니다.

세 집계 함수의 결과값은 순서대로 얼마인가요?

정답과 풀이 근거
4, 3, 100

COUNT(*)는 NULL 행을 포함한 전체 4행을 세고, COUNT(점수)와 AVG(점수)는 NULL 행을 제외한 3행(80, 100, 120)만 계산하여 각각 3과 100(300÷3)을 반환합니다.

마지막 점검

스스로 확인하기

답을 떠올린 뒤 해설을 펼쳐 보세요.

1모듈화 설계에서 결합도(Coupling)와 응집도(Cohesion)는 각각 높을수록 좋은가요, 낮을수록 좋은가요?
결합도는 낮을수록 좋고, 응집도는 높을수록 좋습니다.

모듈 간 상호 의존(결합도)은 줄이고, 모듈 내부 요소들의 단일 목적 집중도(응집도)는 높여야 유지보수가 쉽습니다.

2복합 기본키의 일부 속성에만 일반 속성이 종속되는 '부분 함수 종속'을 제거하는 정규화 단계는?
제2정규형 (2NF)

부분 함수 종속 제거는 2NF, 이행적 함수 종속 제거는 3NF, 후보키가 아닌 결정자 제거는 BCNF입니다.

3SQL에서 GROUP BY로 묶인 그룹에 대해 집계 함수 조건(예: COUNT(*) >= 3)을 지정하는 절은?
HAVING 절

WHERE 절은 그룹화 이전의 개별 행 조건을 다루므로 집계 함수 조건은 HAVING 절에 적습니다.

읽기에서 연습으로

이어서 연습하기

필요한 범위의 전체 세트를 골라 첫 10개부터 복습하세요.

전체 메뉴