728x90
반응형
[ 1 ] 데이터 모델
( 1 ) 데이터 모델( Data Model ) 개념
- 데이터 모델은 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델이다.
- 모델 표시 요소
- 연산 :
- 저장된 실제 데이터를 처리하는 작업에 대한 명세
- 릴레이션 조작을 위한 관계연산 ( SELECT, PROJECT, JOIN, DIVISON )
- 구조 :
- 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계
- 데이터 구조 및 정적 성질을 표현하는 요소
- 제약 조건 :
- 저장될 수 있는 실제 데이터의 논리적인 제약 조건
- 릴레이션의 특정 컬럼에 설정하는 제약을 의미 ( 개체 무결성, 참조 무결성 등 )
- 연산 :
( 2 ) 데이터 모델 절차
- 데이터 모델 절차는 요구사항 분석, 개념적 데이터 모델, 논리적 데이터모델, 물리적 데이터 모델이 있다.
- 요구 조건 분석
- 도출된 요구사항 간 상충을 해결하고 범위를 파악하여 외부 환경과의 상호작용을 통해 데이터에 대한 요구 분석
- 개념적 설계
- 사용자의 요구에 대한 트랜잭션을 모델링 하는 단계
- 개체관계 다이어그램 ( E-R 다이어그램 )
- 논리적 설계
- 트랜잭션의 인터페이스를 설계하는 단계
- 정규화 수행
- 정규화(Normalization) : 관계형 데이터 모델에서 데이터의 중복성을 제거하여, 이상 현상을 방지하고 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해를 하는 과정이다.
- 물리적 설계
- 물리적인 설계는 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계
- 성능 측면에서 반 정규화 를 수행
- 반 정규화(De-Normalization) : 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법
[ 2 ] 논리 데이터 모델 검증
( 1 ) 논리 데이터 모델링 개념
- 논리적 데이터 모델링은 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 하는 프로세스이다.
- 개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현하는 모델이다.
( 2 ) 논리적 데이터 모델링 종류
- 논리적 데이터 모델링 종류에는 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델이 있다.
- 관계 데이터 모델
- 논리적 구조가 2차원 테이블 형태로 구성된 모델
- 1:1, 1:N, N:M 관계를 자유롭게 표현 - 계층 데이터 모델
- 논리적 구조가 트리 형태로 구성된 모델
- 상하 관계가 존재 ( 자식, 부모 )
- 1:N 관계만 허용 - 네트워크 데이터 모델
- 논리적 구조가 그래프 형태로 구성된 모델
- CODASYL DBTG 모델이라고 불림
- 상위와 하위 레코드 사이에 다대다( N:M ) 관계를 만족
( 3 ) 관계 데이터 모델
- 관계 데이터 모델
- 관계 데이터 모델의 개념
- 관계 데이터 모델은 행과 열로 구성된 2차원 테이블 형태로 구성한 모델이다
- 수학자 E. F. Codd 박사가 제안한 모델
- 관계 데이터 모델의 구성요소
- 릴레이션 : 행과 열로 구성된 테이블
- 튜플 : 릴레이션의 행에 해당되는 요소
- 속성 : 릴레이션의 열에 해당되는 요소
- 카디널리티 : 튜플의 개수
- 차수 : 속성의 개수
- 스키마 : 데이터베이스의 구조, 제약 조건 등의 정볼르 담고 있는 기본적인 구조
- 인스턴스 : 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합
- 관계 데이터 모델의 개념
- 관계 대수( 절자척 언어 )
- 관계 대수 연산자의 종류
- 일반 집합 연산자
- 합집합(Union; ∪)
- 합병 가능한 두 릴레이션 R과 S의 합집합
- 사용 예 : R∪S
- 교집합(Intersection; ∩)
- 릴레이션 R과 S에 속하는 모든 튜플로 결과 릴레이션 구성
- 사용 예 : R∩S
- 차집합(Difference; - )
- R에 존재하고 S에 미 존재하는 튜플로 결과 릴레이션 구성
- 사용 예:
- 카티션 프로덕트(CARTESIAN Product; ×)
- R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성
- 사용 예:
- 합집합(Union; ∪)
- 순수 관계 연산자
- 셀렉트(Select; σ)
- 릴레이션 R에 조건을 만족하는 튜플 형태
- 사용 예:
- 프로젝트(Project; π)
- 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환
- 사용 예: π
- 조인(Join; ⨝)
- 공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플 반환
- 사용 예: R ⨝ S
- 디비전(Division; ÷ )
- 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환
- 사용 예: R ÷ S
- 셀렉트(Select; σ)
- 일반 집합 연산자
- 관계 대수 연산자의 종류
- 관계 해석 ( 비절차적 언어 )
- 관계해석 개념
- 관계해석은 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어이다.
- 관계 해석 특징
- 프레디캣 해석(Predicate Calculus)에 기반한 언어이며 비절차적 언어(원하는 정보가 무이라는 것만 선언) 이다.
- 관계해석 개념
( 4 ) 논리 데이터 모델링 속성
- 개체(Entitiy) : 관리할 대상이 되는 실체
- 개체 사물 또는 사건으로 정의되며 개체라고도 한다.
- 피터 챈 모델에서는 개체를 사각형으로 표시
- 까마귀발 모델 에서는 개체를 표 형식으로 표시
- 속성(Attributes) : 관리할 정보의 구체적 항목
- 속성은 개체가 가지고 있는 요소 또는 성질이다.
- 피터 챈 모델에서는 속서을 타원형 으로 표시한다.
- 까마귀 발 모델 에서는 속성을 표 내부에 표시한다.
- 관계(Relationship) : 개체 간의 대응 관계
- 두 개체(Entitiy) 간의 관계를 정의한다.
- 피터 챈 모델 에서 관계는 마름모로 표시한다.
- 까마귀발 모델 에서는 속성을 1:1, 1:N, N:M 을 표시한다.
- 1:1 은 실선
- 1:N 은 오른쪽 끝이 세갈래로 벌어진 형태
- N:M 은 양쪽 끝이 세갈래로 벌어진 형태
( 5 ) 개체-관계(E-R) 모델
- 개체-관계(E-R) 모델 개념
- E-R 모델은 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 가장 널리 사용되고 있는 모델이다.
- 개체-관계(E-R) 다이어그램 기호
- 개체 집합 : 사각형 ( □ )
- 관계 집합 : 마름모 ( ◇ )
- 속성 : 타원 ( ○ )
- 다중 값 속성 : 이중 타원 ( ◎ )
- 개체 집합-관계 집합 연결 : 실선 ( ─ )
- 개체 집합-속성 연결 : 실선 ( ─ )
- 관계 집합-속성 연결 : 점선 ( --- )
( 6 ) 정규화
- 정규화의 개념
- 정규화는 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해나는 과정이다.
- 이상 현상(Anomaly)
- 이상 현상은 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상이다.
- 삽입, 삭제, 갱신 이상이 있다.
- 삽입 이상
- 정보 저장 시 해당 정보의 불필요한 세부 정보를 입력해야 하는 경우
- 삭제 이상
- 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
- 갱신 이상
- 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우
( 7 ) 반 정규화
- 반 정규화 개념
- 반 정규화는 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법이다.
- 비 정규화, 역 정규화 라고도 함
- 반 정규화 특징
- 장점
- 반 정규화된 데이터 구조는 성능 향상과 관리의 효율성 증가
- 단점
- 데이터 일관성 및 정합성 저하
- 유지를 위한 비용이 별도로 발생하여 성능에 나쁜 영향을 미칠 수 있음 (
성능 향상 된다며..)
- 장점
- 반 정규화 기법
- 테이블 ( 테병분중 )
- 테이블 병합 : 1:1관계, 1:M 관계를 통합하여 조인 횟수를 줄여 성능 향상
- 테이블 분할 : 테이블을 수직 또는 수평으로 분할하는 것으로 파티셔닝이라고 함
- 중복 테이블 추가 : 대량의 데이터들에 대한집계 함수(GROUP BY, SUM 등)을 사용하여 실시간 통계 정보를 계산하는 경우에 효과적인 수행을 위해 별도의 통계 테이블을 두거나 중복 테이블을 추가
- 컬럼 ( 컬중 )
- 컬럼 중복화 : 조인 성능 향상을 위한 중복 허용
- 관계 ( 관중 )
- 중복관계 추가 : 데이터를 처리하기 위한 여러 경로를 거쳐 조인이 가능하지만, 이때 발생할 수 있는 성능 저하를 예방하기 위해 추가적 관계를 맺는 방법
- 테이블 ( 테병분중 )
728x90
반응형
'자격증 > 정보처리기사' 카테고리의 다른 글
[ III ] 데이터 입출력 구현 - 데이터베이스 기초 활용하기 (0) | 2023.07.13 |
---|---|
[ III ] 데이터 입출력 구현 - 물리 데이터 저장소 설계 (0) | 2023.07.11 |
[ II ] 화면 설계 - UI 설계 (0) | 2023.07.10 |
[ I ] 요구사항 확인 - 요구사항 확인 (0) | 2023.07.10 |
[ I ] 요구사항 확인 - 현행 시스템 분석 (0) | 2023.07.10 |