데이터 모델링

DB / / 2021. 8. 31. 21:14
  • 데이터 모델 : 다양한 데이터 요소들을 이해하고 사용하기 편한 형태로 정리해놓은 모형을 의미한다.
  • 정의 : 개체, 속성, 관계, 제약 조건 4 가지 요소들을 파악한 후, 이 내용들을 발전시켜 데이터 모델을 만드는 과정
  •  과정
    • 요구사항 수집 및 분석 -> 설계 -> 데이터베이스 구현 단계로 진행된다.
    • 요구사항 수집 및 분석
      • 현실 세계를 파악하고 사용자의 요구사항을 수집 및 분석하는 단계
    • 개념적 모델링
      • 요구사항을 수집하고 분석한 결과를 토대로 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정
      • 즉, 개체를 추출하고 각 개체들 간의 관계를 정의하여 ERD를 만드는 과정이다.
      • 개체 + 관계
    • 논리적 모델링
      • 개념적 모델링에서 만든 ERD를 사용하고자 하는 DBMS에 맞게 매핑하여 실제 DB로 구현하기 위한 모델을 만드는 과정
      • 개념 모델 + PK, FK
    • 물리적 모델링
      • 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정
      • 물리적 모델링을 할 때는 DBMS의 특성에 맞게 저장 구조를 정의하여야 DB가 최적의 성능을 낼 수 있다.
      • 논리 모델 + 데이터 타입
  • 스키마
    • 정의
      • DB의 논리적 정의, 다시 말해 데이터 구조와 제약조건에 대한 명세를 기술한 것
      • Object들의 모음으로 유저명과 동일하게 사용함.
      • DB를 구성하는 개체, 속성, 관계 및 데이터 조작 시 데이터 값들이 갖는 제약조건 등에 관해 전반적으로 정의한다.
      • 사용자의 관점에 따라 외부, 개념, 내부 3 계층으로 나눠진다.
    • 3 계층
      • 외부 스키마
        • 서브 스키마 또는 사용자 뷰라고도 한다.
        • 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 DB의 논리적 구조를 정의한 것이다.
        • 전체 DB의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마라고도 한다.
        • 하나의 DB 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 사용자가 함께 사용할 수 있다.
        • 일반 사용자는 SQL을 이용하여 DB를 사용한다.
      • 개념 스키마
        • DB의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 DB로 하나만 존재한다.
        • 개체 간의 관계와 제약조건을 나타내고 DB의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
        • 보통 스키마라고 하면 개념 스키마이다.
        • 기관이나 조직체의 관점에서 DB를 정의한 것이다.
        • DBA에 의해서 구성된다.
      • 내부 스키마
        • DB의 물리적 구조를 정의한다.
        • 데이터의 실제 저장 방법을 기술한다.
        • 물리적 저장장치와 밀접한 계층이다.
        • 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

'DB' 카테고리의 다른 글

제약 조건  (0) 2021.08.31
SQL  (0) 2021.08.31
DBMS  (0) 2021.08.31
데이터베이스(DataBase)  (0) 2021.08.31