2022. 4. 18. 14:51ㆍ정보처리기사/실기
데이터 모델
데이터 모델 개념
- 인간과 컴퓨터가 이해할 수 있는 추상화 모델
표시 요소
- 연산 : 저장된 실 데이터 처리 작업, 조작 위한 관계 연산 - SELECT, PROJECT, JOIN, DIVISION
- 구조 : 개체 타입과 개체 간 관계, 데이터 구조 및 정적 성질 표현
- 제약 조건 : 논리적인 제약 조건, 무결성 유지 위한 보편적 방법, 제약을 의미 - 개체 무결성, 참조 무결성 등
데이터 모델 절차
- 요구사항 분석 : 범위 파악 외부 환경과 상호 작용을 분석해 데이터 요구 분석
- 개념적 설계 : 개념적 데이터 모델 : 트랜잭션 모델링 단계, 추상적, 개념적 표현, 모델링 뷰, 애트리뷰트 고려 -> 개체 관계 다이어그램
- 논리적 설계 : 논리적 데이터 모델 : 인터페이스 설계 단계, 논리적 스키마 설계, 형상화해 사람이 쉽게 이해, 정규화 수행, 논리 구조로 매핑, 스키마의 평가 및 정제, (관계, 계층, 네트워크, 객체 지향, 객체-관계 데이터 모델) 중 하나 맞게 설계, 테이블을 설계
- 물리적 설계 : 물리적 데이터 모델 : 특성 및 성능 고려, 저장 구조로 변환하는 모델, 테이블, 인덱스, 뷰, 파티션 객체 생성, 응답 시간, 저장공간, 트랜잭션 처리 고려 설계, 반 정규화 수행, 레코드 집중 분석 및 설계, 저장 레코드 양식 설계, 접근 경로 설계
논리 데이터 모델 검증
논리 데이터 모델링 개념
- 개념 모델로부터 업무의 데이터 규칙을 구체적으로 표현
논리 데이터 모델링 종류
- 관계 데이터 모델 : 2차원 테이블 구조, 기본키와 외래키 관계 표현, 1:1 1:N N:M관계
- 계층 데이터 모델 : 트리 구조, 상하관계 존재, 1:N 관계
- 네트워크 데이터 모델 : 그래프 형태, CODASYL DBTG 모델, 상하 레코드 사이 다대다 관계
관계 데이터 모델
(1) 관계 데이터 모델 : 행과 열로 구성된 2차원 테이블 형태 : 수학자 E. F. Codd 박사가 제안
(1) - 1 구성요소
- 릴레이션 : 테이블
- 튜플 : 행, 가로, 카디널리티 : 튜플의 수
- 속성 : 열, 세로, 차수 : 애트리뷰트의 수
- 스키마 : 구조, 제약 조건 정보 담은 기본 구조
- 인스턴스 : 정의된 스키마에 따라 생성 테이블에 실제 저장된 데이터 집합
(2) 관계 데이터 모델 표현
- 기본키와 외래키 1:1 1:다 다:다 관계
(3) 관계 대수 : 원하는 정보와 어떻게 유도하는가 기술하는 절차적 정형 언어
(3) - 1 종류
- 일반 집합 연산자 : 합집합, 교집합, 차집합, 카티션 프로덕트
- 순수 관계 연산자
- SELECT : 튜플 반환
- PROJECT : 속성 반환
- JOIN : 연결
- DIVISION : 한 튜플과 연관 있는 튜플 반환
(4) 관계 해석 : 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어
(4) - 1 특징 : 프레디킷 해석에 기반한 언어 비절차적 언어
논리 데이터 모델링 속성
- 개체 : 관리할 대상이 되는 개체
- 사물 또는 사건으로 정의, 피터 챈 모델에는 사각형으로, 까마귀발 모델에는 표로 표시
- 속성 : 관리할 구체적 항목
- 요소 또는 성질, 피터 챈 모델에는 타원형, 까마귀발 모데레는 표 내부 표시
- 속성명은 단수형, 개체명을 사용하지 않는다, NULL or NOT NULL 고려
- 관계 : 대응 관계
- 두 개체 간의 관계 정의, 피터 챈 모델은 마름모
- 까마귀발 모델은 실선을 사용하나 1:1 1:다 다대다 만큼 가지 친다.
E-R 모델
- 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현 가장 널리 사용되는 모델
기호
- 개체 : 사가형
- 관계 : 마름모
- 속성 : 타원
- 다중 값 속성 : 이중타원
- 관계 속성 연결 : 선
정규화
(1) 개념 : 중복성 제거해 이상 현상 방지, 일관성과 정확성 유지하기 위해 무손실 분해하는 과정
(2) 이상현상 : 데이터 중복성으로 인한 릴레이션 조작할 때 발생하는 비할리적 현상, 삽삭생
- 삽입 이상 : 불필요한 세부 정보 입력해야 하는 경우
- 삭제 이상 : 다른 정보가 삭제되는 경우
- 갱신 이상 : 수정되어 중복된 값이 모순을 일으키는 경우
(3) 정규화 단계 : 도부이결다조 -> 각 단계 갈수록 전 단계는 통과해야함
- 1NF : 원자값(도메인) 구성
- 2NF : 부분 함수 종속 제거 (완전 함수적 종속 관계)
- 3NF : 이행 함수 종속 제거
- BCNF : 결정자 후보 키가 아닌 함수 종속 제거
- 4NF : 다중 종속 제거
- 5NF : 조인 종속 제거
반 정규화
(1) 개념 : 정규화된 엔티티, 속성, 관계에 대한 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등 수행하는 데이터 모델링 기법
- 비 정규화 또는 역 정규화라 한다.
(2) 특징
- 반 정규화 위해 일관성과 무결성을 우선으로 할지 성능과 단수롸에 우선으로 둘지 비교 후 조정이 중요하다
- 장점 : 성능 향상과 관리의 효율성 증가
- 단점 : 일관성 및 정합성 저하, 비용이 별도로 발생해 성능에 악영향
(3) 반 정규화 기법
- 테이블
- 테이블 병합 : 조인 횟수 줄여 성능 향상, 슈퍼 타입, 서브 타입 테이블 통해 성능 향상
- 테이블 분할 : 수직 수평 방식 파티셔닝
- 수평 분할 : 레코드를 기준으로 활용
- 수직 분할 : 칼럼의 개수가 증가하는 경우 활용, 갱신 위주의 속성 분할, 자주 조회되는 속성 분할, 크기가 큰 분할, 보안을 적용해야 하는 속성 분할
- 중복 테이블 추가 : 집계 함수 사용해 실기간 통계 효과적인 수행을 위해 별도의 통계 테이블 두거나 중복 테이블 추가
- 집계 테이블 추가 : 트리거 설정해 오버헤드에 유의
- 진행 테이블 추가 : 유지와 활용도를 높이기 위해 기본키 적절히 설정
- 특정 부분만을 포함하는 테이블 추가 : 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블 생성
- 칼럼
- 칼럼 중복화 : 조인 성능 향상을 위한 중복 허용
- 관계
- 중복 관계 추가 : 데이터 처리 위한 여러 경로를 거쳐 조인이 가능하지만, 발생할 수 있는 성능 저하를 예방하기 위해 추가적 관계 맺는 법
'정보처리기사 > 실기' 카테고리의 다른 글
[정보처리기사 실기] 3장 데이터 입출력 구현 - 데이터베이스 기초 활용하기 (0) | 2022.04.18 |
---|---|
[정보처리기사 실기] 3장 데이터 입출력 구현 - 물리 데이터 저장소 설계 (0) | 2022.04.18 |
[정보처리기사 실기] 2장 화면 설계 - UI 설계 (0) | 2022.04.18 |
[정보처리기사 실기] 2장 화면 설계 - UI 요구사항 확인 (0) | 2022.04.17 |
[정보처리기사 실기] 1장 요구사항 확인 - 분석 모델 확인하기 (0) | 2022.04.17 |