SQL 개발자 (SQLD) 데이터 모델링의 이해 개념 정리
중요도 ★★★★☆ · 55% (추정)
개요
이 단원은 업무에 필요한 데이터를 어떻게 정리해 그림(모델)으로 나타내는지를 배웁니다. 먼저 데이터 모델링의 단계와 3층 스키마를 익히고, 이어서 모델을 이루는 네 가지 요소인 엔터티·속성·관계·식별자를 차례로 공부합니다.
데이터 모델링은 개념적 모델링에서 시작해 논리적 모델링, 물리적 모델링 순서로 점점 구체적으로 내려갑니다. 개념적 모델링은 핵심 엔터티와 관계를 크게 그리는 단계이고, 논리적 모델링은 키와 속성을 정하고 정규화를 하는 단계이며, 물리적 모델링은 실제 DBMS 에 만들 테이블과 인덱스, 저장 구조를 정하는 단계입니다. 3층 스키마는 사용자 관점의 외부 스키마, 전체를 통합한 개념 스키마, 저장 구조인 내부 스키마로 나뉘어 데이터 독립성을 지켜 줍니다.
엔터티는 업무에서 관리해야 할 대상으로, 식별자가 있고 인스턴스가 두 개 이상이며 속성과 관계를 가져야 합니다. 속성은 엔터티가 가진 더 나눌 수 없는 정보 하나이며, 기본 속성·설계 속성·파생 속성으로 나뉩니다. 관계는 엔터티끼리의 연결로, 몇 개와 연결되는지(관계 차수)와 반드시 있어야 하는지(관계 선택성)를 함께 나타냅니다.
식별자는 인스턴스를 하나씩 구별하는 속성으로, 주식별자는 유일성·최소성·불변성·존재성을 갖춰야 합니다. 부모의 주식별자가 자식의 주식별자 일부가 되면 식별 관계, 자식의 일반 속성이 되면 비식별 관계라고 하며, IE 표기법에서는 각각 실선과 점선으로 그립니다.
핵심 개념
데이터 모델링 3단계
개념적 모델링은 핵심 엔터티와 관계를 크게 그리는 단계, 논리적 모델링은 키·속성·관계를 자세히 정하고 정규화하는 단계, 물리적 모델링은 실제 DBMS 에 맞춰 테이블·인덱스·저장 구조를 정하는 단계입니다.
외우는 요령'개념 → 논리 → 물리' 순서로 갈수록 구체적이고, 개념적 모델링의 추상화 수준이 가장 높습니다.
3층 스키마
외부 스키마는 사용자마다 보는 관점, 개념 스키마는 모든 관점을 합친 데이터베이스 전체의 논리 구조, 내부 스키마는 실제 저장 구조입니다. 내부 스키마가 바뀌어도 개념 스키마가 영향받지 않는 것을 물리적 독립성, 개념 스키마가 바뀌어도 외부 스키마가 영향받지 않는 것을 논리적 독립성이라 합니다.
외우는 요령'외부=사용자, 개념=전체, 내부=저장'으로 짝지으세요.
엔터티
업무에 필요하고 관리하려는 대상입니다. 유일한 식별자가 있어야 하고, 인스턴스가 두 개 이상이어야 하며, 속성과 다른 엔터티와의 관계를 가져야 합니다. 발생 시점에 따라 기본 엔터티(사원·상품), 중심 엔터티(주문·계약), 행위 엔터티(주문 이력)로 나뉩니다.
외우는 요령인스턴스가 하나뿐이면 엔터티로 만들지 않는다는 점이 자주 나옵니다.
속성의 종류
기본 속성은 업무에서 원래 가진 값(상품명·단가), 설계 속성은 설계하면서 새로 만든 값(일련번호·코드), 파생 속성은 다른 속성을 계산해 얻는 값(총금액)입니다. 속성 하나에는 값이 하나만 들어가야 합니다.
외우는 요령'계산해서 나오면 파생, 내가 만들면 설계'로 기억하세요.
관계 차수와 선택성
관계 차수는 한 인스턴스가 상대 인스턴스 몇 개와 연결되는지(1:1, 1:M, M:N)이고, 관계 선택성은 연결이 반드시 있어야 하는지(필수) 없어도 되는지(선택)입니다. IE 표기법에서는 동그라미가 선택(0), 세로선이 1, 까마귀발이 여럿을 뜻합니다.
외우는 요령선 끝 모양은 그 끝에 붙은 엔터티가 몇 개 연결되는지를 나타냅니다.
주식별자의 특징
유일성(모든 인스턴스를 하나씩 구별), 최소성(유일성을 지키는 범위에서 속성 수가 가장 적음), 불변성(값이 바뀌지 않음), 존재성(값이 반드시 있음, NULL 불가)을 갖춰야 합니다.
외우는 요령'유·최·불·존' 네 글자로 외우세요.
식별 관계와 비식별 관계
부모의 주식별자가 자식의 주식별자 일부가 되면 식별 관계(실선), 자식의 일반 속성(외래키)이 되면 비식별 관계(점선)입니다. 식별 관계가 길게 이어지면 자식의 주식별자 속성이 계속 늘어나므로 적절한 곳에서 비식별 관계로 끊습니다.
외우는 요령'실선=식별, 점선=비식별'. 자식 상자의 가로선 위에 부모 키가 있으면 식별 관계입니다.
그림으로 보기
자주 나오는 포인트
- 추상화 수준이 가장 높은 단계는 개념적 모델링, 테이블·인덱스를 정하는 단계는 물리적 모델링입니다.
- 엔터티의 조건(인스턴스 2개 이상, 식별자, 속성, 관계)을 '옳지 않은 것' 문제로 자주 묻습니다.
- ERD 그림을 보고 동그라미(선택)와 세로선(필수), 까마귀발(여럿)을 읽는 문제가 나옵니다.
- 주식별자의 네 가지 특징 가운데 최소성과 유일성을 바꿔 내는 문제가 많습니다.
- 식별 관계는 실선, 비식별 관계는 점선이라는 표기와, 부모 키가 자식의 어디에 들어가는지를 함께 확인하세요.
헷갈리는 것 비교: 식별 관계와 비식별 관계 비교
| 구분 | 식별 관계 | 비식별 관계 |
|---|---|---|
| 부모 주식별자가 자식에서 | 주식별자의 일부가 됨 | 일반 속성(외래키)이 됨 |
| IE 표기 | 실선 | 점선 |
| 부모와의 관계 | 강함(부모 없이 자식 없음) | 약하거나 선택적임 |
| 길게 이어지면 | 자식 주식별자 속성이 늘어남 | 주식별자가 단순하게 유지됨 |
대표 문제 3개
검수를 마친 예상문제 가운데 이 단원의 대표 문제입니다.
문제 1. 다음은 IE(까마귀발) 표기법으로 그린 부서와 사원의 관계이다. 그림을 바르게 해석한 것은?
- ① 한 사원은 여러 부서에 동시에 소속될 수 있다.
- ② 한 부서에는 사원이 한 명도 없을 수 있고, 여러 명 있을 수도 있다.
- ③ 한 부서에는 사원이 반드시 한 명 이상 있어야 한다.
- ④ 한 사원은 부서에 소속되지 않아도 된다.
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ② 한 부서에는 사원이 한 명도 없을 수 있고, 여러 명 있을 수도 있다.
핵심: IE 표기: ○=0(선택), |=1, 까마귀발=여럿. 선 끝 모양은 그쪽 엔터티 개수
IE 표기법에서는 엔터티 쪽 선 끝 모양이 '상대 인스턴스 하나에 이 엔터티가 몇 개 연결되는지'를 나타냅니다.
- 사원 쪽 끝: 동그라미(0) + 까마귀발(여럿) → 한 부서에 사원이 0명 이상(없을 수도, 여러 명일 수도) 있습니다.
- 부서 쪽 끝: 세로선 두 개(꼭 1) → 한 사원은 반드시 한 부서에 소속됩니다.
틀린 선지
- 한 사원은 여러 부서에 동시에 소속될 수 있다: 부서 쪽 끝에 까마귀발이 없으므로 한 사원은 부서 하나에만 소속됩니다.
- 한 부서에는 사원이 반드시 한 명 이상 있어야 한다: 사원 쪽 끝에 동그라미가 있으므로 사원이 없어도 되는 '선택' 관계입니다. 반드시 있으려면 동그라미 대신 세로선이 있어야 합니다.
- 한 사원은 부서에 소속되지 않아도 된다: 부서 쪽 끝은 세로선 두 개(꼭 1개)라서 모든 사원은 반드시 한 부서에 소속됩니다.
문제 2. 데이터 모델링 단계 가운데 추상화 수준이 가장 높고, 업무의 핵심 엔터티와 그 관계를 큰 그림으로 그리는 단계는?
- ① 프로세스 모델링
- ② 논리적 데이터 모델링
- ③ 물리적 데이터 모델링
- ④ 개념적 데이터 모델링
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ 개념적 데이터 모델링
핵심: 개념적(가장 추상적) → 논리적 → 물리적(가장 구체적)
데이터 모델링은 개념적 → 논리적 → 물리적 순서로 진행합니다. 처음 단계인 개념적 데이터 모델링은 세부 속성보다 업무의 핵심 엔터티와 관계를 크게 그리는 단계라서 추상화 수준이 가장 높습니다. 뒤로 갈수록 점점 구체적이 됩니다.
틀린 선지
- 프로세스 모델링: 데이터가 아니라 업무 처리 흐름을 그리는 작업으로, 데이터 모델링 단계가 아닙니다.
- 논리적 데이터 모델링: 키·속성·관계를 자세히 정하고 정규화를 하는 단계로, 개념적 모델링보다 구체적입니다.
- 물리적 데이터 모델링: 테이블·인덱스·저장 공간까지 정하는 가장 구체적인 단계입니다.
문제 3. 실제 DBMS 에 맞추어 테이블·인덱스·저장 공간 등 성능과 저장 구조를 정하는 데이터 모델링 단계는?
- ① 개념적 데이터 모델링
- ② 논리적 데이터 모델링
- ③ 외부 스키마 설계
- ④ 물리적 데이터 모델링
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ 물리적 데이터 모델링
핵심: 물리적 모델링 = 실제 DB 에 만들 테이블·인덱스·저장 구조
물리적 데이터 모델링은 논리 모델을 실제 DBMS 에 만들 수 있게 바꾸는 마지막 단계입니다. 테이블과 컬럼의 데이터 형식, 인덱스, 저장 공간처럼 성능과 저장에 관한 것을 정합니다.
틀린 선지
- 개념적 데이터 모델링: 핵심 엔터티와 관계를 크게 그리는 첫 단계입니다.
- 논리적 데이터 모델링: 키·속성·정규화를 정하는 단계로, 아직 특정 DBMS 의 저장 구조까지는 정하지 않습니다.
- 외부 스키마 설계: 사용자마다 보는 화면(뷰)을 정하는 것으로, 저장 구조와는 거리가 멉니다.
AI 작성 · 검수 완료 · AI가 새로 쓴 글 가운데, 작성과 분리된 AI 검증(다시 읽고 사실·수치 확인)을 통과한 단원만 싣습니다. 틀린 곳을 발견하면 알려 주세요.