[DBMS]데이터 모델링(1)

Date:     Updated:

카테고리:

태그:

[2] 데이터 모델링(1)

2.1. 데이터 모델링 (Data Modeling)

  • 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 과정이다.
  • 데이터베이스 설계의 핵심 과정

2.2. 데이터 모델링의 3단계

* 데이터 모델링 3단계

  • 개념적 데이터 모델링
    • 현실세계를 추상화하여 중요 데이터를 개념 세계로 추출해 가는 과정
    • 결과물로 개념적 데이터 모델 (ER, 엔티티 - 관계 모델)
  • 논리적 데이터 모델링
    • 개념 세계의 데이터를 데이터베이스가 저장할 구조로 변환하는 과정
    • 결과물로 관계 데이터 모델
  • 물리적 데이터 모델링
    • 논리 데이터 모델이 실제 데이터베이스 저장소에 저장되는 구조로 변경. 테이블, 칼럼 등.

2.3. 관계 데이터 모델

  • 개체에 대한 데이터를 저장하는 논리적 구조 - 2차원의 테이블 구조(릴레이션)
  • 릴레이션의 특성
    • 튜플의 유일성 : 동일한 튜플이 존재할 수 없다.
    • 튜플의 무순서 : 튜플 간의 순서는 무의미하다.
    • 속성(애트리뷰트)의 무순서 : 속성 사이의 순서는 무의미하다.
    • 속성의 원자성(Atomic) : 애트리뷰트 값으로 하나 값만 가진다.(나누어지지 않는다.)

2.4. Key

  • 릴레이션에 튜플을 구별하는 역할을 하는 속성 또는 속성의 집합을 말한다.
  • Super key : 튜플을 구별하기 위해 유일성을 제공할 수 있는 속성이나 속성의 집합. 예) {ID}, {ID, name}
  • Candidate key : super key 중에서 개수가 가장 작은 키. 예) {ID}
  • Primary key : candidate key 중에서 디자인을 고려하여 선택된 키
  • Foreign key : 다른 릴레이션의 primary key를 참조하는 속성 또는 속성의 집합
고객정보 (아이디, 이름, 등급, 주소) - 주문정보 (주문번호, 고객, 제품, 수량)

Primary key(PK) : 고객정보-아이디, 주문정보-주문번호
Foreign key(FK) : 고객

2.5. 관계 데이터 모델 제약 조건

  • 참조 무결성 제약조건 (referential integrity constraint = foreign key constraint)
    • foreign key는 참조하는 릴레이션 primary key 속성 값 중 하나여야 한다.
    • null 가능

2.6. 모든 DBMS는 data 처리를 위해서 데이터 언어를 제공함

  • formal query language
    • 수학 기호를 사용하여 데이터 처리를 기술한 언어
    • 관계 대수
  • Commercial language
    • 수학적인 원리를 기반으로 사용하기 쉽게 만들어진 언어
    • 관계 대수로 만들어진 모든 질의를 표현 가능
    • SQL(Structured Query Language)

2.7. 데이터베이스 설계

  • 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정을 말한다.
  • 이미 구축된 데이터베이스는 구조를 변경하기가 어려우므로 체계적인 설계 과정을 통해 데이터베이스가 올바르게 구축되어야 한다.
  • 대표적인 설계 방법
    • ER 모델과 Relation 변환 규칙을 이용한 설계
    • 정규화를 이용한 설계

2.8. 데이터베이스 설계단계 (프로젝트 생명주기)

  • 1단계 : 요구사항 분석
    • 실제 세계에서 어떤 요구사항의 시스템을 구축할 것인지에 대한 데이터베이스 용도를 파악하는 단계
    • 요구사항에 대해 어떤 데이터들이 필요한지, 어떤 기능들이 필요한지를 분석

      => 결과물 : 요구사항 명세서

  • 2단계 : 개념적 설계 (Conceptual Model)
    • 요구 사항 분석 결과물을 개념적 데이터 모델을 이용해 개념적 구조로 표현하는 단계
    • DBMS에 독립적인 개념적 스키마를 설계하는 과정
      • 작업 과정

        Step 1 : 개체를 추출, 각 객체의 주요 속성과 키 속성을 선별
              ↓  
        Step 2 : 개체 간의 관계 결정
              ↓  
        Step 3 : ER 다이어그램을 작성
        
      • 요구 사항 명세서를 베이스로 E-R 다이어그램으로 표현

        => 결과물 : 개념적 스키마

  • 3단계 : 논리적 설계
    • 관계 모델(Relational Model)을 통해서 개념적 모델을 논리적으로 표현하는 단계

      => 결과물 : 릴레이션 스키마

  • 4단계 : 물리적 설계
    • DBMS로 구현이 가능한 물리적인 구조를 설계하는 단계
    • 저장하는 레코드 타입 및 인덱스 타입 등 설계

      => 결과물 : 물리적 스키마

DBMS 카테고리 내 다른 글 보러가기

댓글 남기기