논리 데이터 모델 검증
논리 데이터 모델링 속성
개체(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 관계를 통합하여 조인 횟수를 줄여 성능 향상
- 슈퍼 타입/서브 타입 테이블 통합을 통해 성능 향상
테이블 분할
- 수평 분할 : 테이블 분할에 레코드를 기준으로 활용
- 수직 분할 : 하나의 테이블이 가지는 컬럼이 증가하는 경우 활용. 갱신 위주의 속성 분할, 자주 조회되는 속성 분할, 크기가 큰 속성 분할, 보안을 적용해야 하는 속성 분할
중복 테이블 추가
- 집계 테이블 추가 : 집계 데이터를 위한 테이블을 생성하고, 각 원본 테이블에 트리거를 설정하여 사용하는 것으로, 트리거의 오버헤드에 유의 필요
- 진행 테이블 추가 : 이력 관리 등의 목적으로 추가하는 테이블로, 적절한 데이터양의 유지와 활용도를 높이기 위해 기본 키를 적절히 설정
- 특정 부분만을 포함하는 테이블 추가 : 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블을 생성
컬럼
중복 컬럼 추가
- 조인 성능 향상을 위한 중복 허용
관계
중복 관계 추가
- 데이터를 처리하기 위한 여러 경로를 거쳐 조인이 가능하지만, 이때 발생할 수 있는 성능 저하를 예방하기 위해 추가적 관계를 맺는 방법
'정보처리 > 소프트웨어개발' 카테고리의 다른 글
통합 구현 연계 메커니즘 구성 (1) | 2025.04.19 |
---|---|
데이터 입출력 구현 데이터베이스 기초 활용하기 2/2 (0) | 2025.04.18 |
데이터 입출력 구현 데이터베이스 기초 활용하기 1/2 (0) | 2025.04.17 |
데이터 입출력 구현 물리 데이터 저장소 설계 (0) | 2025.04.16 |
데이터 입출력 구현 논리 데이터 저장소 확인 1/2 (0) | 2025.04.14 |