데이터 모델의 이해
모델링이란 현실 세계를 단순화하여 표현하는 기법 이다.
- 모델링의 특징
- 추상화
- 단순화
- 복잡한 현실을 제한된 언어나 표기법으로 이해하기 쉽게 함
- 명확화
- 애매모호함을 배제하고 누구나 이해가 가능하도록 정확하게 현상을 기술
| 구분 | 추상화 | 단순화 |
|---|
| 목적 | 일반화 | 간소화 |
| 방법 | 불필요한 세부 사항 제거 | 생략 or 단순한 방식으로 표현 |
| 비교 | 무엇이 중요한가 | 어떻게 쉽게 표현할 것인가 |
✅ 모델링 시스템 구현만을 위한다? → X
시스템 구현 포함 업무 분석 및 업무 형상화 목적
- 모델링의 관점
- 데이터 관점
- 프로세스 관점
- 데이터와 프로세스의 상관 관점
- 데이터-프로세스의 관계를 위주로 모델링
- 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지
- 모델링시 유의사항
- 중복
- 비유연성
- 비일관성
- 다른 데이터 연관성 고려하지 않고 일부 데이터만 변경시 발생
- 데이터 간 연관관계 명확하게 정의해야 함
✅ 유의사항 문제 나오면 중복, 비유연성, 비일관성 먼저 찾기
- 모델링 단계
- 개념적 데이터 모델링
- 논리적 데이터 모델링
- 물리적 데이터 모델링
✅ <헷갈리지 않게 주의>
여러 사용자 → 외부 스키마
모든 사용자 관점 통합 → 개념 스키마
- 3단계 스키마 구조가 보장하는 독립성
- 논리적 독립성
- 개념 스키마가 변경되어도 외부 스키마는 영향 X
- 물리적 독립성
- 내부 스키마가 변경되어도 외부, 개념 스키마는 영향 X
- ✅ 데이터베이스의 파일 구조 변화가 논리스키마에 영향을 주지 않음
- ✅ 데이터베이스의 색인 구조 변화가 응용 프로그램에 영향을 주지 않음
- ERD
- IE/Crow's Foot : 가장 많이 사용
- IE/Crow's Foot 표기법

✅ ERD 작성 순서
엔터티 도출 및 그림
→ 배치
→ 관계 설정
→ 관계명 기입
→ 참여도 기입
→ 필수/선택 여부 기입
엔터티 (Entity)
엔터티 - Table
인스턴스 - Row
속성 - Column

- 엔터티 특징
- 업무에서 쓰이는 정보여야 함
- 유니크함을 보장할 수 있는 식별자가 있어야 함 (중복X, 모호X)
- 2개 이상의 인스턴스를 가지고 있어야 함
- 반드시 속성을 가지고 있어야 함
- 다른 엔터티와 1개 이상의 관계를 가지고 있어야 함
- 엔터티 분류 - 발생시점
- 기본 엔터티
- 원래 존재. 독립적. 자식 엔터티 가질 수 O
- 중심 엔터티
- 행위 엔터티
- 2개 이상의 엔터티로부터 파생
- ex) 주문 내역, 이벤트 응모 이력
✅ 엔터티명 정할 때 규칙
- 실제 쓰이는 용어 사용
- 영문 대문자 표기 / 한글 약어 X
- 단수 명사
- 띄어쓰기 X
- 의미상 중복 X (주문, 결제는 중복 가능)
- 명확하게 표현
속성 (Attribute)
속성 - 더이상 쪼개지지 X. 최소의 데이터 단위. 필요해야 함
- 특성에 따른 분류
- 기본 속성
- 설계 속성
- 파생 속성
- 다른 속성으로부터 파생된 속성
- ex) 계산된 값
✅ 설계 vs 파생 헷갈리지 않게 주의
계산된 값은 파생된 속성이므로 파생속성!!!
- 용어 사전
- 속성 이름 정확, 직관적으로 부여하기 위해
- 용어 혼란 없애기 위해
- 시스템 카탈로그
- 시스템 관련 데이터 담고있는 DB
- SQL 이용하여 조회 가능
✅ 속성 명칭 - 다른 테이블이더라도 속성명 다르게!!!
전체 데이터 모델에서 유일성 확보하도록
관계 (Relationship)
- 존재 관계
- 존재 자체로 연관성이 있는 관계
- ex) 엄마-아기, 직원-부서, 학생-학과
- 행위 관계
- 특정한 행위를 함으로써 연관성이 생기는 관계
- ex) 회원-주문, 학생-출석부
- 표기법
- 관계명 (Membership)
- 관계의 이름
- 명확한 문장, 현재형
- ex) 포함한다, 소속된다 ex) 포함한다, 소속된다
- 관계차수 (Cardinality)
- 관계에 참여하는 수

- 관계선택사양 (Optionality)
- 필수/선택 여부

- ✅ 엔터티 간 관계 도출시 확인사항
- 연관규칙 존재?
- 정보 조합 발생 O?
- 업무기술서, 장표에 관계연결에 대한 규칙 서술 O?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사(Verb) 존재 O?
식별자 (Identifiers)
식별자 - 인스턴스를 구분 가능하게 해주는 대표격 속성
- 주식별자 (PK, Primary Key)
- 유일성
- 최소성
- 불변성
- 속성값 변하지 X
- ✅ '자주 변하지 않는 것이어야 한다'라고 되어있어도 O
- 존재성
- 분류 - 대체 여부
- 본질식별자
- 가공 X 원래의 식별자
- 원조식별자
- ✅ 엔터티 내 집합을 명확하게 설명할 수 있는 업무적으로 의미가 부여된 식별자
- 인조식별자
- PK 속성이 두 개 이상인 경우 하나로 묶어서 사용하는 식별자
- 식별자 관계
- 부모 엔터티의 식별자가 자식 엔터티의 PK
- 실선으로 표시
- 부모 엔터티가 있어야 생성 가능
- 단일식별자/복합식별자에 따라 1:1/1:M 결정
- 비식별자 관계
- 부모 엔터티의 식별자가 자식 엔터티의 일반 속성
- 점선으로 표시
- 부모 엔터티 없이 자식 엔터티 생성 가능
- 자식 엔터티 존재하는 상태에서 부모 엔터티 삭제 가능
출처
https://0-x-14.notion.site/SQLD-1af0a47a6bed80e194e0f90d126ecf31?pvs=4