Post

데이터베이스 구축 - 데이터모델

#데이터 모델 (Data Model)

현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델

■ 데이터 모델에 표시해야할 요소

  • 구조 (Structure)
  • 연산 (Operation)
  • 제약조건 (Constraint)

데이터베이스 설계 단계

요구조건 분석, 개념적 설계, 논리적 설계, 물리적 설계가 있음

1. 요구조건 분석 단계

요구사항 간 상충을 해결하고 범위를 파악하여 외부 환경과의 상호작용을 분석

2. 개념적 설계

사용자 요구에 대한 트랙잭션을 모델링하는 단계
개념적 데이터 모델: 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델

3. 논리적 설계

트랙잭션의 인터페이스를 설계하는 단계

  • 논리적 스키마를 설계
  • 정규화 수행
  • 논리적 데이터베이스 구조로 매핑
  • 스키마의 평가 및 정제
  • 테이블을 설계하는 단계

4. 물리적 설계

특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계

  • 테이블, 인덱스, 뷰, 파티션 등 객체 생성
  • 응답시간, 저장공간 효율화, 트랜잭션 처리를 고려해 설계
  • 접근 경로 설계

개체-관계(E-R) 모델

현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위한 모델

■ 구성요소

  • 개체 (entity)
  • 속성 (attribute)
  • 관계 (relationship)

■ 다이어그램 기호

구성기호
개체
관계
속성
다중 값 속성
관계-속성 연결

논리적 데이터 모델링

업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현하는 프로세스

■ 종류

  • 관계 데이터 모델
    • 테이블 형태로 구성된 모델
    • 기본키와 외래키로 관계 표현
  • 계층 데이터 모델
    • 트리형태로 구성된 모델
    • 상하 관계가 존재
  • 네트워크 데이터 모델
    • 그래프 형태로 구성된 모델
    • codasyl dbtg 모델이라고도 불림

데이터베이스 정규화

관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고,
데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정

■ 정규화 목적

  • 중복 데이터 최소화하여 테이블 불일치 위험 최소화
  • 수정, 삭제 시 이상 현상을 최소화 → 데이터 구조의 안정성 최대화
  • 릴레이션 재구성에 대한 필요성 줄임
  • 효과적인 검색 알고리즘 생성

■ 이상 현상 (Anomaly)

데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상

  • 삽입 이상 : 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상
  • 삭제 이상: 의도와는 상관없이 원하지 않은 값들도 함께 삭제되는 현상
  • 갱신 이상: 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보의 모순이 생기는 현상

■ 함수 종속

X → Y (Y는 X에 함수 종속)
속성X에 대해 시간과 관계없이 항상 속성Y의 값이 오직 하나만 연관되어있는 관계

■ 데이터 베이스 정규화 단계 ★★★

@원부이 결다조

구분설명
1차 정규화원자 값으로 구성,
반복 속성/중복 제거가 필요
2차 정규화 (2NF)부분 함수 종속 제거,
주식별자가 아닌 속성 분리
3차 정규화이행 함수 종속 제거
종속적인 속성 분리 (A→B, B→C = A→C)
보이스-코드 정규화결정자 함수 종속,
모든 결정자가 후보키
4차 정규화다치 종속성 제거
특정 속성 값에 따라 선택적인 속성 분리
5차 정규화조인 속성을 제거
This post is licensed under CC BY 4.0 by the author.