[DB] Data Modeling

Na young·2024년 1월 12일
0

DB

목록 보기
6/17
post-thumbnail

12. 데이터 모델링

12.1 데이터 모델링

현실 세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기술

  1. 추상화

    현실세계를 일정한 형식에 맞추어 표현

  1. 단순화

    현실세계를 약속된 규악이나 제한된 표기법과 언어로 표현

  2. 명확화

    누구나 이해하기 쉽게 애매모호함을 제거하고 정확하게 현상을 기술

12.2 추상화 수준에 따른 구분

  • 개념 모델링 현실 세계의 데이터를 추상화를 통해서 개념 세계의 데이터로 표현하는 과정 정보 모델링 OR 개념적 설계와 동일한 개념 모델링 결과를 ER다이어그램으로 표현
    • ER 다이어그램

  • 논리 모델링 개념 세계의 개체 타입DBMS가 지원하는 논리적 데이터 모델로 변화시키는 과정 논리적 설계와 동일한 개념
  • 물리 모델링 데이터가 저장될 수 있도록 논리적 데이터 모델물리적 데이터 구조로 변환 시키는 과정

12.3 개념 모델링

사내 데이터 모델링으로도 사용 EA 수립 시에도 많이 이용

어떤 자료가 중요하고, 유지되어야 하는 지 결정하는 내용도 포함

핵심 엔티티 도출 및 ER 다이어그램 생성

12.4 정보공학

SW공학의 발전으로 등장한 정보시스템 개발방법론

계획, 분석, 설계, 구축에 필요한 방법론

대형프로젝트를 진행하는 체계적인 방법론

12.5 ISP

정보공학 개발방법론

  • 전략(ISP:Information Strategy Planning)
  • 분석(BAA:Business Area Analysis)
  • 설계(BSD:Business System Design)
  • 구축(SC:System Construction

12.6 EA

시스템에 대한 업무프로세스, 애플리케이션, 데이터베이스, 인프라를 관점/시각 별로 한
눈에 볼 수 있게 표현한 미래계획서

  • EA를 계획하는 활동을 EAP(Enterprise Architecture Planning)라고 한다
  • 환경분석 -> AS-IS -> To-BE -> 이행계획

12.7 ISP와 EA 비교

12.8 논리모델링

ER 다이어그램을 구체화해서 관계 스키마(테이블, 외래키)를 만드는 과정

상세 속성, 키, 관계 등을 정확하게 표현하는 단계의 모델링

정규화

논리적 데이터 모델의 일관성 확보, 중복 제거

속성들이 가장 적절한 엔티티에 배치되도록 함으로써 보다 신뢰성있는 데이터 구조를 얻고자 함

식별자 확정, M:N 관계 해소, 참조 무결성 규칙 정의 등

12.9 물리모델링

관계 스키마 모델의 물리적 구조를 정의/구현

DB에 이식할 수 있도록 성능, 저장 등 물리적 특성을 고려하여 설계하는 것

테이블, 칼럼 등으로 표현되는 물리적인 저장구조와 저장 장치, 접근방법 결정

테이블 스키마/인덱스 를 정의하는 과정

12.10. 데이터모델링

좋은 데이터 모델의 특성

  1. 완전성 : 모든 데이터가 모델에 정의되어 있는가?
  2. 중복배제 : 동일한 데이터는 한 번만 기록되어야 한다
  3. 업무규칙 : 들이 데이터 모델에 잘 반영되어야 한다
  4. 데이터 재사용 : 이 잘 되어야 함
  5. 의사소통
  6. 통합성

12.11. E-R 모델링

Entity-Relationship Modeling

개념적 데이터 모델

데이터를 개체 관계 속성 (3요소)로 묘사

테이블을 세분화해서 1차 테이블인 엔티티와 유도된 테이블인 릴레이션십으로 구

12.12. 대응수 (Cardinality)

  • 일대일 대응수
  • 일대다 대응수
  • 다대일 대응수
  • 다대다 대응수

엔티티 개수를 그대로 모델링화 하면 테이블의 개수가 많아짐

다대다 → 일대다/다대일 → 일대일 순서로 축소해야함

일대다의 관계는 테이블의 컬럼추가로 해결할 수 있음

논리 모델링의 엔티티, 릴레이션쉽, 컬럼명은 한글

물리 모델링은 영어로!

12.13. RDBMS 특징 (모델링)

물리모델링

칼럼명은 영어로

개념 모델링을 진행하면 테이블의 수가 많아짐

엔티티 수 + 릴레이션십 수

일대일과 일대다 대응수로 축소가능한 경우엔 중간 릴레이션십을 삭제

1:1 → 엔티티에 직접 컬럼 추가

1:N → 외래키로 엔티티 간 직접 연결

12.14. 식별/비식별관계

식별관계: 외래키가 해당 테이블의 기본키/복합키로 들어있는 경우 (실선)

비식별관계: 외래키가 일반 컬럼으로 들어있는 경우 (점선)

12.15. 대응수 최적화

profile
개발어린이

0개의 댓글

관련 채용 정보