[TIL]SQLD 데이터 모델링의 이해-2025.09.23
2025. 9. 23. 17:00ㆍ대외활동/인공지능사관학교
728x90
반응형
SMALL

1. 목표
- 데이터 모델링의 기본 개념을 이해한다.
- 엔터티, 속성, 관계, 식별자의 정의와 특징을 학습한다.
- 실제 예시(학생-강의 데이터)로 연결해 본다.
2. 데이터 모델(Data Model)의 이해
- 정의: 현실 세계의 데이터를 데이터베이스에 맞게 추상화·구조화한 표현.
- 목적:
- 현실 세계를 단순화하여 시스템으로 다룰 수 있도록 한다.
- 데이터의 의미와 관계를 명확히 하여 중복·불일치 최소화.
- 사용자, 개발자, 관리자 간의 공통 언어 역할.
예: "학생이 강의를 수강한다" → 엔터티(학생, 강의), 관계(수강), 속성(이름, 학번 등)으로 변환.
3. 엔터티(Entity)
- 정의: 관리할 필요가 있는 사물, 사건, 개념. 데이터 모델에서 테이블에 해당.
- 특징:
- 반드시 업무상 관리가 필요해야 함.
- 다른 엔터티와 구분되는 식별자를 가진다.
- 유형:
- 강한 엔터티: 독립적으로 존재 가능 (예: 학생, 강의).
- 약한 엔터티: 다른 엔터티의 존재에 의존 (예: 강의 수강 기록).
4. 속성(Attribute)
- 정의: 엔터티가 가지는 특성이나 성질. 테이블의 컬럼에 해당.
- 종류:
- 기본 속성: 업무에서 도출되는 일반 속성 (학생 이름, 전화번호).
- PK 속성: 엔터티를 식별하는 속성 (학번, 강의코드).
- FK 속성: 관계를 나타내는 속성 (학생 테이블의 강의코드).
- 주의: 속성 값은 원자값(Atomic)을 가져야 한다 → 정규화의 핵심.
5. 관계(Relationship)
- 정의: 엔터티 간의 연관성.
- 표현: 1:1, 1:N, N:M (카디널리티).
- 예시:
- 학생(1) ↔ 수강(N): 한 학생은 여러 강의를 수강할 수 있음.
- 강의(1) ↔ 교수(1): 한 강의는 한 명의 교수가 담당.
6. 식별자(Identifier)
- 정의: 엔터티의 인스턴스를 유일하게 구분하는 속성. (Primary Key)
- 유형:
- 내부 식별자: 엔터티 내에서만 구분 (학번).
- 외부 식별자: 다른 엔터티에서 가져온 속성으로 구분 (학생ID + 강의ID → 수강).
- 조건:
- 유일성: 중복 불가.
- 최소성: 불필요한 속성 포함하지 않음.
- 불변성: 시간이 지나도 변하지 않음.
7. 예시 모델 (학생-강의)
- 엔터티: 학생(Student), 강의(Course), 수강(Enrollment)
- 속성:
- 학생: 학번(PK), 이름, 전공
- 강의: 강의코드(PK), 과목명, 학점
- 수강: 학번(FK), 강의코드(FK), 성적
- 관계:
- 학생 ↔ 수강 ↔ 강의 (N:M 관계를 해소하기 위해 수강 엔터티 추가).
- 식별자:
- 수강의 PK: (학번 + 강의코드) 복합 식별자.
8. 인사이트
- 데이터 모델링은 단순한 ERD 작성이 아니라 업무 규칙을 구조화하는 과정.
- 엔터티/속성/관계/식별자를 올바르게 정의하면 데이터 정합성과 유지보수가 크게 향상된다.
- 실제 현업에서는 모델링 품질이 곧 시스템 안정성과 직결된다.
728x90
반응형
LIST
'대외활동 > 인공지능사관학교' 카테고리의 다른 글
| [TIL]프로젝트 선정-2025.09.30 (0) | 2025.09.30 |
|---|---|
| [TIL]데이터베이스를 학습하면서 꼭 이해해야 하는 데이터 모델과 SQL의 주요 개념 정리-2025.09.24 (0) | 2025.09.24 |
| [AI Crew]클라우드 네이티브 시대 왜 Kubernetes가 표준이 되었을까?/인공지능사관학교6기 (0) | 2025.09.23 |
| [AI Crew]개발자 협업 툴 시리즈 1편: Notion으로 시작하는 효율적인 협업과 기록/인공지능사관학교6기 (0) | 2025.09.23 |
| [TIL] Amazon Bedrock 개념 학습-2025.09.22 (0) | 2025.09.22 |