TGOG
2026. 5. 25. 09:00
2026. 5. 25. 09:00
1. 데이터 모델의 이해
- 모델링
- 모델링은 단지 시스템 구현만을 위한 작업이 아니다! (✕)
- 모델링 특징 3가지
- 데이터 모델링의 목적
- 업무 정보를 구성하는 기초 정보들을 일정한 표기법으로 표현
- 실제 DB를 생성하여 개발 및 데이터 관리에 사용하기 위한 것 ⇒ 단지 DB 구축만을 위한 것이 아님
- 데이터 모델링의 유의점
- 중복, 비유연성, 비일관성 ⇒ 테이블 간 연계성을 높인다? (✕)
- 스키마 3단계
- 외부 스키마: 여러 사용자 관점
- 개념 스키마: 통합된 모든 사용자 관점
- 내부 스키마: 물리적 저장 구조 표현
- 외부 단계 ↔ 개념적 단계: 논리적 데이터 독립성 고려 단계
- 도메인: 엔터티 내 속성이 가질 수 있는 값의 범위, 데이터 타입, 크기, 제약사항을 지정
- 관계 표기법 3요소: 관계명, 관계차수, 선택성(선택사항)
2. 엔터티
- 엔터티 조건
- 2개 이상의 속성, 2개 이상의 인스턴스로 구성
- 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함
- 발생 시점에 따른 엔터티 구분
- 기본(키) 엔터티, 중심 엔터티, 행위 엔터티
- 엔터티 이름 부여 방법
- 단수명사 사용, 약어 사용 금지, 유일성 확보
- 물리적 독립성: 파일 저장 구조의 변경이 논리 스키마와 응용 프로그램에 영향을 주지 않는 성질
3. 속성
- 기본 속성: 업무 분석을 통해 바로 정의한 속성
- 설계 속성: 업무상 존재하지 않지만 설계 중 도출한 속성
- 파생 속성: 다른 속성으로부터 계산·변형되어 생성되는 속성 (조회 성능 향상 목적)
- 1개의 속성은 1개의 속성값만 가진다.(인스턴스에서 관리하고자 하는 최소 데이터 단위: 속성)
4. 관계
- 관계 표기법
- 관계명: 관계의 이름
- 관계차수: 1:1, 1:M, M:N 등
- 관계선택사항: 필수관계, 선택관계
- 두 엔터티 간 관계 도출 시 확인 사항
- 연관 규칙이 존재하는가?
- 정보의 조합이 발생하는가?
- 규칙이 서술되어 있는가?
- 동사(명사 X)가 있는가?
- 연관관계: 소스코드에서 멤버변수로 선언하여 사용
- 의존관계: 오퍼레이션에서 파라미터 등으로 이용
5. 식별자
- 주식별자의 특징 4가지
- 유일성: 각 인스턴스를 유일하게 구분
- 최소성: 유일성을 만족하는 최소 속성 수로 구성
- 불변성: 한 번 지정되면 값이 변하지 않아야 함
- 존재성: 지정 시 반드시 값이 있어야 함 (NULL 불가)
- 식별자 종류 분류 기준
- 대표성 여부: 주식별자 / 보조식별자(대표성 없음)
- 생성 위치: 내부식별자 / 외부식별자(상속)
- 속성 수: 단일 식별자 / 복합 식별자
- 대체 여부: 본질 식별자(업무적 의미) / 인조 식별자(일련번호 등)
- 명칭, 내역 같은 이름 속성은 주식별자로 적절하지 않음 (특히 사람 이름 → 동명이인 문제, 유일성 미보장)
- SQL 조인 관계를 최소화하려면 → 식별자 관계로 연결
- 도메인: 속성이 가질 수 있는 값의 범위