SQL (데이터 모델링, 스키마, DB, ERD)


데이터 모델링 특징 및 목적
  • 특징
    • 추상화
      • 개념을 일정한 형식으로 간략하게 표현
    • 단순화
      • 정해진 표기법으로 단순하게 표현
    • 명확화
      • 불분명함을 제거하고 정확하게 기술
  • 목적
    • DB, 시스템 구축 외 업무 설명, 분석, 형상화 목적
    • 분석된 모델로 DB를 생성하여 개발 및 데이터 관리에도 사용


데이터 모델링 유의점 및 관점 및 중요 요소
  • 유의점
    • 중복(Duplication)
      • 엔티티에 같은 데이터가 중복되면 안 됨
    • 비유연성(inflexibility)
      • 사소한 변경에도 데이터 모델이 수시로 변경되면 안 됨
    • 비일관성(inconsistency)
      • 데이터와 데이터의 연관 관계에 대해 명확하게 정의
  • 관점
    • 데이터 관점
      • 어떤 데이터들이 업무와 얽혀있는지
    • 프로세스 관점
      • 업무가 실제로 처리하고 있는 일이 무엇인지
    • 데이터와 프로세스의 상관 관점
      • 프로세스 흐름에 따라 데이터가 어떤 영향을 받는지
  • 중요 요소
    • Things : 대상
    • Attribute : 속성
    • Relationships : 관계


모델링의 3가지 단계
  • 개념적 데이터 모델링
    • 전사적으로 수행, 업무 중심적이고 포관적인 수준의 모델링
    • 추상화 레벨이 가장 높음
  • 논리적 데이터 모델링
    • Key, 속성, 관계들을 표현하는 단계 -> 정규화가 발생하는 단계
    • 논리데이터모델을 정규화 하는 것
  • 물리적 데이터 모델링
    • DB를 구현할 수 있도록 성능, 물리적 요소를 고려하는 단계


스키마
  • 테이블이 어떤 구성으로 되어있는지, 무슨 정보를 가지고 있는지에 대한 기본적인
    테이블의 구조를 정의한 것


데이터 스키마의 구조
  • 외부 스키마
    • (여러) 사용자가 보는 스키마 정의
  • 개념 스키마
    • 모든 여러X 사용자가 보는 데이터를 정의하는 단계
  • 내부 스키마
    • 물리적인 저장 구조를 나타내는 단계 - 저장 구조, 칼럼, 인덱스 정의


DB
  • 논리적 독립성
    • 개념 스키마가 변경되어도 외부 스키마는 영향 X
      • 개념
  • 물리적 독립성
    • 내부 스키마가 변경되어도 개념/외부 스키마는 영향 X
      • 내부


ERD (Entity Relationship Diagram)
  • ERD는 테이블 간 서로의 상관 관계를 그림으로 표현한 것
  • ERD의 구성요소에는 엔티티 | 관계 | 속성이 있음


ERD 작성 순서

1. 엔티티 도출
2. 엔티티 배치
3. 엔티티 관계 설정
4. 관계명 기입
5. 관계 참여도 기입
6. 관계 필수/선택 여부 기입

Best는 좌측 상단에서 하단으로