Growth Marketing/sqld

📝SQLD 자격증 취득기 | 3. 데이터 모델링의 이해 1

pamsyra 2026. 4. 29. 22:01
1. 데이터 모델링 개념
2. 데이터 모델링 단계 ① 개념설계
3. 데이터 모델링 단계 ② 논리모델링
4. 데이터 모델링 단계 ③ 물리모델링

5. 3층 스키마

1. 데이터 모델링 개념

  • 데이터 모델링의 결과 실패 원인 분석 : 대학원생의 수강신청 현황 파일 만들기
    -식별자 도출 실패 : 학번 / 이름 / 소속 / 연락처 등등 중복값이 많이 발생함 ▶ DB에서는 한 줄 한 줄이 unique 해야함
    - 속성(엔티티) 도출 실패 : 그 가방에 들어갈 수 있는 속성은 정해져있음 ▶ 애매모호한 건 버리고, 단일성을 갖춰야함
  • 데이터모델링의 3단계 : 개념→ 논리 → 물리모델링
  • 개념모델링(설계) : 엔티티 도출 실패 (논리설계 : 속성추출/식별자 정의)
  • 논리모델링(설계) : 정규화 미수 행(엔티티 / 속성의 분리 및 독립성 보장)
  • 데이터모델링의 관점 : 데이터 / 프로세스 / 데이터와 프로세스의 연관관계
  • 데이터 모델링의 원칙 : 추상화 / 단순화 / 명확화

2. 데이터 모델링  단계 - 개념설계(엔티티/속성 도출)

  1. 엔티티 도출 : 사용될 데이터의 식별
    • 예비 엔티티(데이터의 집합) : 학생, 교수, 과목 등
    • 명사로서 표현 됨
    • 예비 속성(개별항목) : 학번, 학생명 등
    • 예비 속성으로 추출된 것들을 각각 예비 엔티티에 넣어주는 것
  2. 엔티티 배치
    • ERD : 엔티티 중요도가 높을수록 좌측상단에 위치하게 됨
    • 실선은 필수 / 점선은 선택
    • 엔티티 유사한 것들은 모아야함
    • 예전엔 엔티티라고 하고, 요새는 엔터티라고

3. 데이터 모델링  단계 - 논리 모델링 (관계 설정)

  1. 관계 설정
    • 개념설계에서 도출된 예비 엔티티 배치하고 선으로 연결
    • ex. 교수-과목 / 학생-수강신청 / 과목-수강신청
  2. (추가단계) 속성 기술 : 개념설계에서 식별된 예비 속성을 기술함
  3. 관계명 기술
    • 관계선 연결시 사용한 개념을 일반화한 내용을 기술함
    • 엔티티 간의 어떤 행위나 존재가 있는지 표현
    • ex. 교수님은 과목을 개설한다 / 학생은 수강신청을 한다 등
  4. (추가단계) 식별자 정의 - 데이터 선 위에 있는
    • 식별자 : 엔티티를 대표하는 유일성을 만족하는 속성
    • 최소성, 대표성, 유일성, 불변성, 존재성을 만족해야함
  5. 논리 모델링 - 관계(차수/도) 기술
    • 프로세스와 데이터의 상관 관계 정도
    • 연결된 두 엔티티 간의 연관도를 측정함
    • 관계차수 : ex. 학생 1명은 1개 혹은 여러개의 과목을 수강신청할 수 있다.(1:N)
  6. (추가단계) 123 정규화 수행
    • 이를 통해 데이터의 독립성 및 재사용성을 높임
    • 두 개 이상의 같은 엔티티가 없도록 하는 것
    • ex.학생번호가 없으면 아래 학생명, 소속학부 등 알 수 없을 것

4. 데이터 모델링  단계 -  물리모델링

  1. 물리모델링 역할
  • DBMS의 특성대로 데이터를 재설계 해줌(포장느낌)
  • 개념 설계의 예비 엔티티를 엔티티로 인식
  • 설계된 논리데이터 모델이 생성될 DBMS에 맞게 엔티티 → Table 로 전환 / 속성 → Column으로 전환

5. 3층 스키마

  • ANSI에서 설계 표준을 마련함(미국)
  • 외부스키마 : 사용자가 직접 부딪히는 스키마
  • 개념 스키마 : 데이터 관점에서 추상화 시키는 관점
  • 내부 스키마 : 개념스키마를 통해 만든 물리 DB.
  • 이것을 보고 개발자가 프로그램 개발해서 사용자에게 제공하는 것
  • 이럴경우, DB의 독립성 확보 가능
  • 스키마 : 엔티티 구조를 의미