● 본 기록은 '코딩하는 핑가님'의 허락을 받고 블로그에 정리된 글을 그대로 필사했음을 밝힙니다.
→ https://ss-o.tistory.com/96?category=945579
정보처리기사 실기) 2장 데이터 입출력 구현
* 이 글은 블로그 별랑님의 글을 참고로 작성했습니다. blog.naver.com/srang_/222055655408 1. 데이터 모델링 절차 * 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링 - 개념적
ss-o.tistory.com
1. 데이터 모델링 절차
* 개념적 데이터 모델링 - 논리적 데이터 모델링 - 물리적 데이터 모델링 요개논물
- 개념적 데이터 모델링 : 현실 세계의 인식을 추상적인 개념으로 모델링
- 논리적 데이터 모델링 : 개념적 구조를 컴퓨터가 이해할 수 있는 형태로 변환
1) 논리 데이터 모델링
- 업무영억의 업무 데이터 및 규칙을 구체적으로 표현
- 특징 : 정규화, 완정성, 독립성 포용성 정독완포
- 속성 : 개체(사각형), 속성(동그라미), 관계(마름모) 계속관
2) 정규화(서술형)
- 관계형 데이터베이스 설계 시 중복을 최소화하여 데이터를 구조화하는 과정
* 이상현상(서술형) : 데이터의 중복성으로 인해 테이블을 조작할 때 발생하는 비합리적인 현상 삽상갱
- 삽입이상 : 정보 저장 시 불필요한 세부사항을 입력해야 하는 경우
- 삭제이상 : 삭제시 원치않는 정보까지 삭제되지 경우
- 갱신이상 : 중복 데이터에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우
* 정규화 단계
- 1NF(제1정규화) : 테이블 내의 속성값은 원자값을 가져야한다.
- 2NF(제2정규화) : 부분 함수 종속성을 제거해야 한다.
- 3NF(제3정규화) : 이행 함수 종속성을 제거해야 한다.
- BCNF : 결정자의 종속성을 제거하고 모든 결정자가 후보키 집합에 속한 정규형
- 4NF(제4정규화) : 다중값 종속을 제거해야 한다.
- 5NF(제5정규화) : 조인 종속성을 제거해야 한다.
3) 물리 데이터 모델링
- 논리 데이터 모델링을 DBMS 특성 및 성능을 고려하여 구체화시킨 모델
<모델링 절차>
(1) 개체 → 테이블
(2) 속성 → 칼럼
(3) UID → PK(Primary key)
(4) 관계 → 외래키
(5) Column 길이 및 유형 정의
(6) 반정규화(2020 1회 실기 기출) : 시스템의 성능 향상을 위해 수행되는 의도적인 정규화 원칙 위배 행위
* 참조 무결성 제약 조건 : 릴레이션과 릴레이션 사이에 대해 참조의 일관성을 보장하기 위한 조건
* 인덱스
- 검색 연산의 최적화를 위해 키값과 포인터의 쌍으로 구성되는 데이터 구조
구조
- 적용기준 : 분포도가 10~15% 이내
특징
- 분포도가 좋은 칼럼은 단독으로 생성
- 자주 조합되어 사용되는 칼럼은 결합 인덱스로 형성
- 지나치게 많은 인덱스는 오버헤드 발생 가능
* 뷰
- 사용자에게 허용된 정보만 보여주기 위해 하나 이상의 테이블로부터 유도된 논리적인 가상 테이블
- 속성 : REPLACE, FORCE, NOFORCE - 논리적인 독립성을 제공하고, 접근 제어를 통한 자동 보완 기능 제공
* 클러스터- 데이터에 접근 효율을 높이기 위해 동일한 성격의 데이터를 같은 데이터 블록에 저장하는 물리적 저장 방법- 특징 : 조회 속도는 향상시키지만 삽입, 삭제, 수정의 기능은 저하 - 종류 : 단일 테이블 클러스터링, 다중 테이블 클러스터링
* 파티셔닝 레해리컴
- 대용량의 테이블을 작은 논리적인 단위인 파티션으로 나누는 것- 레인지 파티셔닝 : 연속되는 숫자나 날짜 기준으로 파티셔닝- 해시 파티셔닝 : 파티션 키의 해시 함수 값으로 파티셔닝- 리스트 파티셔닝 : 데이터에 대한 명시적 제어가 가능한 파티셔닝- 컴포지트 파티셔닝 : 범위 분할 이후, 해시 함수를 적용하는 파티셔닝- 장점 : 성능 향상, 가용성 향상, 백업 기능 성가백합
4) 데이터 조작 프로시저 프함패트
- 저장된 프로시저, 저장된 함수, 저장된 패키지, 트리거
* 프로시저
- SQL을 이용해 생성된 데이터를 조작하는 프로그램
- PL/SQL : 표준 SQL을 기반으로 Oracle에서 개발한 데이터 조작 언어
- JDBD : 자바에서 DB를 사용할 수 있도록 연결해주는 인터페이스
* 프로시저 생성 SQL문
CREATE OR REPLACE
(name IN VARCHAR)
IS BEGIN
- DBMS_OUTPUT : 메시지를 버퍼에 저장하고 버퍼로부터 읽어 오기 위한 인터페이스
- SERVEROUTPUT ON : PL/SQL 처리 결과를 출력
- SHOW ERRORS : PL/SQL 오류 발생 출력
* APM(Application Performance Monitoring)
- 안정적인 시스템 운영을 위한 성능 모니터링 도구
5) 데이터 조작 프로시저 최적화
* 옵티마이저 : SQL을 가장 빠르고 효율적으로 수행할 수 있는 최적의 경로 생성
- 실행 계획 : 최적의 처리 경로
* RBO : 규칙(Rule) 기반 옵티마이저
* CBO : 비용(Cost) 기반 옵티마이저
'자격증 > 정보처리기사' 카테고리의 다른 글
2021년 8월 13일 - 정보처리기사 실기 5장 인터페이스 구현 (0) | 2021.08.13 |
---|---|
2021년 8월 12일 - 정보처리기사 실기 4장 서버 프로그램 구현 (0) | 2021.08.12 |
2021년 8월 10일 - 정보처리기사 실기 3장 통합구현 (0) | 2021.08.10 |
2021년 8월 7일 - 정보처리기사 실기 1장 요구사항 확인 (0) | 2021.08.07 |
2021년 7월 28일 정보처리기사 복습 & 다짐 (0) | 2021.07.28 |
댓글