반응형
데이터 모델을이해하자!
반응형

1) 모델링(Modeling)이란?
- 현실에 있는 대상(사람, 사물, 개념 등)을 표(그림), 글, 수식, 기호 같은 표기법으로 바꿔서 표현하는 일입니다.
- 쉽게 말해 복잡한 현실을 ‘설명 가능한 설계도’로 만드는 것입니다.
2) 모델링의 종류
- 정보시스템 모델링: 업무/데이터/처리 과정을 분석해서, 컴퓨터에 저장·처리 가능한 구조로 표현(예: 데이터 모델, 프로세스 모델 등)
- 수리(수학) 모델링: 미분방정식, 상태방정식 같은 수식으로 현상을 표현(공학 분야에서 많이 사용)
- 통계(확률) 모델링: 확률 현상(데이터)을 차트/표/수식/함수로 표현해 분석에 활용
- 회로 모델링: 회로 소자를 이용한 증폭, 필터링, 스위칭 등의 동작을 규칙에 따라 표현
3) 모델링의 특징(왜 하느냐?)
- 추상화: 중요한 요소만 뽑아 간단히 표현
- 단순화: 복잡한 현실을 기호/문자/그림 등으로 이해하기 쉽게 만듦
- 명확화: 애매함을 줄이고 누구나 같은 의미로 이해하도록 표현을 분명히 함
4) 정보시스템 모델링의 3가지 관점
정보시스템을 만들 때는 보통 아래 3가지로 나눠 봅니다.
- 데이터 관점(What): 어떤 데이터가 있고, 데이터가 서로 어떻게 연결되는가? (SQLD에서 주로 다룸)
- 프로세스 관점(How): 실제로 어떤 일을 어떤 순서/절차로 처리하는가?
- 상관 관점(Interaction): 업무 처리 방식(프로세스)이 데이터에 어떤 영향을 주고, 데이터가 프로세스에 어떤 영향을 주는가?
“학생 수강관리 시스템”
1) 모델링이 뭐냐? (사례로)
학교에서 “수강 신청”을 컴퓨터로 관리하려면, 현실의 일을 컴퓨터가 이해할 수 있는 설계도로 바꿔야 합니다.
- 현실: 학생이 과목을 선택해서 신청하고, 성적도 받고, 교수도 배정됨
- 모델링: 이걸 표/그림/구조(테이블)/흐름도로 정리해서 시스템으로 만들 수 있게 함
즉, 현실 → 설계도(모델) → 프로그램/DB로 구현 이 흐름입니다.
2) 모델링의 3가지 특징을 사례로 이해
(1) 추상화(중요한 것만 뽑기)
수강 신청에 필요한 핵심만 뽑습니다.
- 학생(학번, 이름)
- 과목(과목코드, 과목명)
- 신청(학번, 과목코드, 신청일)
학생의 키, 취미 같은 건 수강 신청에 필요 없으니 제외합니다.
(2) 단순화(복잡한 현실을 단순하게)
현실에서는 “구두 신청”, “교수 허락”, “정원 초과” 등 복잡한 상황이 많지만
처음에는 핵심 흐름만 단순하게 잡습니다.
- “학생이 과목을 선택 → 신청 저장”
이렇게 단순한 구조로 시작합니다.
(3) 명확화(애매한 걸 없애기)
“누가 신청했지?” 같은 애매함이 생기면 시스템이 망가집니다.
그래서 규칙을 명확히 정합니다.
- 학생은 학번으로 구분
- 과목은 과목코드로 구분
- 신청은 학번 + 과목코드로 식별 가능
3) 정보시스템 모델링의 3가지 관점(What / How / Interaction)
이게 핵심입니다. 같은 “수강 신청”도 3가지 관점으로 봅니다.
① 데이터 관점(What: 어떤 데이터가 필요한가?)
“무엇을 저장할 건데?”
예)
- 학생 테이블: 학번, 이름, 학과
- 과목 테이블: 과목코드, 과목명, 학점
- 신청 테이블: 학번, 과목코드, 신청일
👉 이게 바로 DB(테이블) 설계로 이어집니다.
② 프로세스 관점(How: 어떤 절차로 처리하는가?)
“어떤 순서로 일이 진행돼?”
예) 수강 신청 흐름
- 학생 로그인
- 과목 목록 조회
- 과목 선택
- 정원 확인
- 신청 저장
- 신청 결과 화면 출력
👉 이건 업무 흐름도/기능 설계로 이어집니다.
③ 상관 관점(Interaction: 데이터와 프로세스가 서로 어떻게 영향을 주나?)
“처리(프로세스)가 데이터에 어떤 변화를 주지?”
예)
- 신청 버튼 클릭(프로세스) → 신청 테이블에 데이터가 추가됨
- 정원 초과면(데이터 상태) → 신청 저장이 막힘
- 신청 취소(프로세스) → 신청 데이터가 삭제됨 → 정원도 1 증가
👉 즉, 프로세스(행동) 때문에 **데이터(상태)**가 바뀌고
데이터 상태 때문에 프로세스가 가능/불가능해집니다.
한 줄 정리
- 모델링은 현실을 시스템으로 만들기 위한 설계도 작성
- 정보시스템 모델링은 보통
- What(데이터): 뭘 저장할지
- How(프로세스): 어떤 절차로 처리할지
- Interaction(상관): 처리와 데이터가 어떻게 영향을 주고받을지
를 나눠서 생각합니다.
반응형
'sqld' 카테고리의 다른 글
| 엔티티(Entity)란? (0) | 2026.02.19 |
|---|---|
| 데이터 타입이란? (0) | 2026.02.19 |
| SQL 쉽게 이해하기 (0) | 2026.02.19 |
| 데이터베이스가 무엇인지 알아보자! (0) | 2026.02.19 |
| 데이터 모델링에 대한 요약 정리 (0) | 2026.02.19 |