본문 바로가기
정보처리/소프트웨어개발

데이터 입출력 구현 논리 데이터 저장소 확인 2/2

by 피갓자 2025. 4. 15.

데이터 입출력 구현 논리 데이터 저장소 확인
데이터 입출력 구현 논리 데이터 저장소 확인

논리 데이터 모델 검증

논리 데이터 모델링 속성

체(Entity) : 관리할 대상이 되는 실체

성(Attributes) : 관리할 정보의 구체적 항목

계(Relationship) : 개체 간의 대응 관계

개체(Entity)

  • 사물 또는 사건으로 정의되며 엔티티라고도 함
  • 피터 챈 모델(Peter Chen Model)에서 개체는 사각형으로 표시
  • 까마귀발 모델(Crow’s Foot Model)에서 개체는 표 형식으로 표시

속성(Attribute)

  • 개체가 가지고 있는 요소 또는 성질
  • 피터 챈 모델(Peter Chen Model)에서 속성은 타원형으로 표시
  • 까마귀발 모델(Crow’s Foot Model)에서 속성은 표 내부에 표시

관계(Relationship)

  • 두 개체(Entity) 간의 관계를 정의
  • 피터 챈 모델(Peter Chen Model)에서 관계는 마름모로 표시
  • 까마귀발 모델(Crow’s Foot Model)에서 관계는 삼지창 형태의 기호와 연결선으로 표시

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

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

  • 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 가장 널리 사용되고 있는 모델
  • 논리 데이터 모델링에서는 모든 이해당사자와 의사소통의 보조 자료로 E-R 모델을 활용
  • 요구사항으로부터 얻어낸 정보들을 개체, 속성, 관계로 기술한 모델

개체-관계(E-R) 다이어그램 기호

  • 개체 집합 : 사각형
  • 관계 집합 : 마름모
  • 속성 : 타원
  • 다중 값 속성 : 이중타원
  • 개체 집합-관계 집합 연결 : 실선
  • 개체 집합-속성 연결 : 실선
  • 관계 집합-속성 연결 : 점선

정규화

정규화(Normalization)의 개념

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

이상 현상(Anomaly)

  • 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상
  • 입 이상(Insertion Anomaly) : 정보 저장 시 해당 정보의 불필요한 세부 정보를 입력해야 하는 경우
  • 제 이상(Delete Anomaly) : 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
  • 신 이상(Update Anomaly) : 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우

정규화의 단계

  • 1차 정규화(1NF, First Normal Form) : 메인이 원자값으로 구성
  • 2차 정규화(2NF, Second Normal Form) : 분 함수 종속 제거(완전 함수 종속 관계)
  • 3차 정규화(3NF, Third Normal Form) : 행 함수 종속 제거
  • 보이스-코드 정규화(BCNF, Boyce-Codd Normal Form) : 정자 후보 키가 아닌 함수 종속 제거
  • 4차 정규화(4NF, Fourth Normal Form) : 치(다중 값) 종속 제거
  • 5차 정규화(5NF, Fifth Normal Form) : 인 종속 제거

함수 종속

함수 종속(FD, Functional Dependency) 개념

  • 릴레이션에서 속성의 의미와 속성 간 상호 관계로부터 발생하는 제약조건

결정자/종속자

  • X → Y 관계일 때 X는 결정자(Determinant), Y는 종속자(Dependent)

함수 종속 분류

  • 부분 함수 종속(Partial Functional Dependency) : 릴레이션에서 기본 키가 복합 키일 경우 기본 키를 구성하는 속성 중 일부에게 종속된 경우
  • 완전 함수 종속(Full Functional Dependency) : 릴레이션에서 X → Y 관계가 있을 때, Y는 X의 전체 속성에 대해 종속하고, 부분 집합 속성에 종속하지 않는 경우
  • 이행 함수 종속(Transitive Functional Dependency) : 릴레이션에서 X → Y, Y → Z 종속 관계가 있을 때, X → Z가 성립되는 경우

반정규화

반정규화(De-Normalization) 개념

  • 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델리의 기법. 비정규화, 역정규화라고도 불림

반정규화 특징

장점

  • 성능 향상과 관리의 효율성 증가

단점

  • 데이터의 일관성 및 정합성 저하
  • 유지 비용 발생으로 성능 저하 우려

반정규화 기법

테이블

테이블

  • 1:1 관계, 1:M 관계를 통합하여 조인 횟수를 줄여 성능 향상
  • 슈퍼 타입/서브 타입 테이블 통합을 통해 성능 향상

테이블

  • 수평 분할 : 테이블 분할에 레코드를 기준으로 활용
  • 수직 분할 : 하나의 테이블이 가지는 컬럼이 증가하는 경우 활용. 갱신 위주의 속성 분할, 자주 조회되는 속성 분할, 크기가 큰 속성 분할, 보안을 적용해야 하는 속성 분할

복 테이블 추가

  • 집계 테이블 추가 : 집계 데이터를 위한 테이블을 생성하고, 각 원본 테이블에 트리거를 설정하여 사용하는 것으로, 트리거의 오버헤드에 유의 필요
  • 진행 테이블 추가 : 이력 관리 등의 목적으로 추가하는 테이블로, 적절한 데이터양의 유지와 활용도를 높이기 위해 기본 키를 적절히 설정
  • 특정 부분만을 포함하는 테이블 추가 : 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블을 생성

컬럼

복 컬럼 추가

  • 조인 성능 향상을 위한 중복 허용

관계

복 관계 추가

  • 데이터를 처리하기 위한 여러 경로를 거쳐 조인이 가능하지만, 이때 발생할 수 있는 성능 저하를 예방하기 위해 추가적 관계를 맺는 방법