컴활 1급 필기 3과목(데이터베이스 일반)의 도입부임. 액세스 객체 6종 + 테이블 설계 + SQL 묶음. 출제 비중은 매회 4~5문제 —
함수 다음으로 큰 영역. 액세스를 거의 안 써본 사람도 데이터 형식·기본키·관계 종류·SELECT 구문 같은 개념 위주로 시험에 출제됨. 본 글은 그 핵심만 추림.
액세스 객체 6종 -- 데이터베이스의 부품
액세스는 하나의 .accdb 파일 안에 6개 종류의 객체를 담음.
핵심 관계: 테이블 = 데이터 저장 → 쿼리 = 가공 → 폼 = 입력 → 보고서 = 출력. 시험에서 "~을 저장하는 객체는?" / "~를 인쇄용으로 출력하는 객체는?" 식의 매칭 문제가 자주 나옴.
데이터 형식 -- 테이블 필드 10종
테이블의 각 필드(열) 는 데이터 형식을 미리 지정해야 함. 이게 액세스의 제1 함정.
함정 1: 통화 형식은 반올림 오차가 없어서 금액 계산에 필수. 일반 숫자(Double) 으로 금액을 저장하면 1원 단위 오차 발생.
함정 2: 일련번호는 자동 증가 정수 — 직접 입력 불가, 삭제 후 재사용 X. 한번 부여된 번호는 영구 결번.
함정 3: 예/아니요는 True / False, 0 / -1 로 저장됨 (참은 -1).
필드 속성 -- 형식·기본값·유효성
각 필드에는 데이터 형식 외에도 세부 속성을 지정할 수 있음.
yyyy-mm-dd, 0.00 등)000-0000-0000 전화번호)>0, Between 1 And 100)"" 허용 여부함정: 인덱스는 검색은 빨라지지만 입력·수정 속도는 느려짐. 외래키 필드에 자주 거는 게 권장.
기본키 (Primary Key) -- 레코드 유일 식별자
테이블의 각 행을 유일하게 식별하는 필드. 시험 단골 4 특성:
- 유일성 (Unique) — 같은 값 2개 가질 수 없음
- NOT NULL — 비워둘 수 없음 (필수)
- 테이블당 1개 — 여러 필드면 복합키로 묶임
- 자동 인덱스 — 기본키 지정 시 인덱스가 자동 생성됨
기본키 후보
- 일련번호 (가장 흔함) — 자동 증가, 충돌 없음
- 사번·학번·주민번호 같은 자연 유일값
- 두 필드 묶음 (예: 학번+과목코드 = 수강 기본키) — 복합 기본키
함정: 기본키는 수정도 가능하지만 권장 안 함. 다른 테이블에서 외래키로 참조 중이면 연쇄 업데이트가 일어남.
외래키와 관계 종류 -- 1:1 / 1:N / N:M
외래키(FK)는 다른 테이블의 기본키를 참조하는 필드. 두 테이블을 연결.
함정 1: N:M 관계는 액세스에서 직접 표현 못 함. 반드시 중간 테이블(연결 테이블, 예: 수강)을 두고 1:N + 1:N 으로 분해.
함정 2: 1:1 관계는 두 테이블의 기본키끼리 연결되는 형태. 실무에서는 거의 안 쓰고 테이블 분할 용도.
관계 설정 옵션 -- 참조 무결성·연쇄 업데이트·연쇄 삭제
관계를 만들 때 체크하는 3 가지 옵션.
함정 1: 참조 무결성을 켜야 나머지 두 옵션을 켤 수 있음. 무결성 OFF면 연쇄 업데이트·삭제도 비활성.
함정 2: 부모 테이블에 존재하지 않는 값을 자식 외래키에 입력하면, 참조 무결성 ON일 때 오류가 남.
함정 3: 연쇄 삭제 (Cascade Delete) 가 켜져 있으면, 부모 레코드 삭제 시 연결된 모든 자식 레코드가 사라짐. 실수 한 번에 데이터 대량 손실 가능 — 시험에서 위험성을 묻는 보기 단골.
정규화 -- 1NF · 2NF · 3NF
테이블을 중복 없이 효율적으로 설계하는 절차.
핵심: 정규화는 중복 제거 → 저장 공간 절약 + 갱신 이상 방지. 단, 너무 잘게 쪼개면 JOIN이 많아져 속도 저하 — 실무는 보통 3NF 까지.
SQL 명령 분류 -- DDL · DML · DCL
CREATE, ALTER, DROPSELECT, INSERT, UPDATE, DELETEGRANT, REVOKECOMMIT, ROLLBACK함정: SELECT는 DML(데이터 조회), 흔히 헷갈리는 DDL이 아님.
DDL 예시
CREATE TABLE 학생(학번 INT PRIMARY KEY, 이름 TEXT(20));
ALTER TABLE 학생 ADD 학과 TEXT(20);
DROP TABLE 학생;
DML 예시
INSERT INTO 학생 VALUES (1, '홍길동', '컴퓨터');
UPDATE 학생 SET 학과='경영' WHERE 학번=1;
DELETE FROM 학생 WHERE 학번=1;
SELECT 구문 -- 6 절 해부
가장 자주 출제되는 명령. 절(clause)의 순서·역할을 외워둬야 함.
SELECT 학과, COUNT(*) AS 인원
FROM 학생
WHERE 입학년도 >= 2024
GROUP BY 학과
HAVING COUNT(*) > 10
ORDER BY 인원 DESC;
함정 단골 3종
- WHERE는 행 단위 조건, HAVING은 그룹 단위 조건 — 위치도 다름
ORDER BY는 기본 오름차순(ASC), 내림차순은DESC명시*(애스터리스크) 는 전체 필드 —SELECT * FROM 학생은 학생 테이블의 모든 열
JOIN 예시
SELECT 학생.이름, 학과.학과명
FROM 학생 INNER JOIN 학과 ON 학생.학과코드 = 학과.코드;
INNER JOIN은 양쪽 다 있는 행만, LEFT JOIN은 왼쪽 기준, RIGHT JOIN은 오른쪽 기준.
⚠️ 이 챕터 함정 BEST 7
- N:M 관계 → 액세스에서 직접 X. 중간 테이블로 1:N + 1:N 분해
- 기본키 = 유일성 + NOT NULL → 둘 다 만족해야 함
- 연쇄 삭제 ON → 부모 삭제 시 자식 다 사라짐 (위험)
- 일련번호 → 자동 증가, 삭제 후 재사용 X, 영구 결번
- 통화 형식 → 반올림 오차 없음, 금액 계산 필수
- SELECT는 DML → DDL이 아님 (CREATE·ALTER·DROP이 DDL)
- WHERE vs HAVING → 행 단위 vs 그룹 단위 / GROUP BY 전후 위치
✅ 셀프 체크 7
- [ ] 액세스 객체 6종(테이블·쿼리·폼·보고서·매크로·모듈)을 외운다
- [ ] 통화 형식이 숫자 형식과 다른 이유(반올림 오차)를 안다
- [ ] 기본키의 4 특성(유일성·NOT NULL·테이블당 1개·자동 인덱스)을 말한다
- [ ] N:M 관계를 중간 테이블로 분해할 수 있다
- [ ] 참조 무결성을 켰을 때 연쇄 업데이트/삭제가 어떻게 동작하는지 안다
- [ ] DDL·DML·DCL 명령을 구분한다 (SELECT는 DML)
- [ ] SELECT 6절의 순서와 WHERE vs HAVING 차이를 안다
한눈에 정리
기출 패턴 풀어보기 3선
컴활 1급 필기는 2021년 상시검정 전환 이후 기출문제 공식 비공개임. 아래 3문제는 5개년 기출 출제 패턴(기본키·관계·SQL 명령 분류)을 바탕으로 공식 시험과 동일 형식으로 만든 변형 문제임. 출처는 시나공·EBS 문제은행·전자문제집 CBT 패턴 분석.
Q1. 기본키 · 난이도 ★★☆ (중)
테이블의 기본키(Primary Key) 에 대한 설명으로 옳지 않은 것은?
① 기본키 값은 유일해야 한다 (중복 불가).
② 기본키 필드에는 Null 값을 입력할 수 없다.
③ 한 테이블에는 기본키를 여러 개 설정할 수 있다.
④ 기본키로 지정하면 인덱스가 자동으로 생성된다.
Q2. 관계 종류 · 난이도 ★★★ (상)
다음 중 N:M 관계를 액세스에서 표현하는 올바른 방법은?
① 두 테이블의 기본키를 직접 1:1 로 연결한다.
② 두 테이블 사이에 중간(연결) 테이블을 만들어 1:N + 1:N으로 분해한다.
③ 한쪽 테이블의 외래키를 다른쪽의 기본키로 변경한다.
④ 액세스는 N:M 관계를 자동으로 처리하므로 따로 설정할 필요가 없다.
Q3. SQL 명령 분류 · 난이도 ★★☆ (중)
다음 SQL 명령 중 DML(Data Manipulation Language) 에 해당하지 않는 것은?
① SELECT
② INSERT
③ UPDATE
④ CREATE
💡 답을 보기 전에 먼저 풀어보세요. 정답·해설은 글 맨 아래에 있음.
✅ 정답 · 해설
Q1 정답 : ③
보기별 해설
- ① 유일성 ✓ 기본키의 제1 특성
- ② NOT NULL ✓ 비워두면 식별 불가
- ③ 여러 개 설정 가능 ✗ 한 테이블에 기본키는 1개. 여러 필드를 묶으면 복합 기본키로 하나로 취급
- ④ 자동 인덱스 ✓ 기본키 지정 시 인덱스 자동 생성, 검색 속도 향상
출제 경향 — "기본키를 여러 개 설정할 수 있다" 식 오답 보기가 5년간 매년 단골. 복합 기본키(여러 필드 묶음)와 여러 개 기본키는 다른 개념. 한 테이블당 기본키는 1개의 개념적 단위 라는 점이 핵심.
→ 본문 § 기본키 (Primary Key) -- 레코드 유일 식별자 다시 보기
Q2 정답 : ②
보기별 해설
- ① 1:1 연결 ✗ 그건 1:1 관계, 다대다 표현 못함
- ② 중간 테이블 + 1:N + 1:N ✓ 정답. 예: 학생-과목 다대다 → 학생-수강-과목 (수강이 중간 테이블)
- ③ 외래키→기본키 변경 ✗ 의미 불명
- ④ 액세스가 자동 처리 ✗ N:M은 반드시 분해해야 함
출제 경향 — N:M 관계 처리는 매년 1문제 단골. 다대다는 직접 표현 못 한다 → 중간 테이블이 답 한 줄로 외울 것. 시험 보기에 "연결 테이블", "교차 테이블" 등 용어가 다양하게 나와도 같은 개념.
→ 본문 § 외래키와 관계 종류 -- 1:1 / 1:N / N:M 다시 보기
Q3 정답 : ④
보기별 해설
- ① SELECT ✓ 데이터 조회 = DML
- ② INSERT ✓ 데이터 삽입 = DML
- ③ UPDATE ✓ 데이터 수정 = DML
- ④ CREATE ✗ 테이블 구조 정의 = DDL (Data Definition Language)
출제 경향 — SQL 명령 분류는 매년 단골. DML 4 종(SELECT·INSERT·UPDATE·DELETE) vs DDL 3 종(CREATE·ALTER·DROP) vs DCL 2 종(GRANT·REVOKE) 한 줄로 외울 것. 특히 SELECT가 DML이라는 점이 자주 헷갈림 (조회는 데이터 조작에 포함).
→ 본문 § SQL 명령 분류 -- DDL · DML · DCL 다시 보기
다음 글: [Ch3-액세스2] 쿼리·폼·보고서편 -- 쿼리 종류·폼 컨트롤·보고서 구역을 정리함.
컴활 1급 필기, 혼자 정리하기 막막하다면? jit.camp 에서 GA4 데이터 분석 강의로 시험 합격 이후의 실력까지 한 번에 가져가세요.