정보처리기사 실기) 2장 데이터 입출력 구현
본문 바로가기
정보처리기사/정보처리기사 실기 정리

정보처리기사 실기) 2장 데이터 입출력 구현

by 코딩하는 핑가 2020. 10. 12.
반응형

* 이 글은 블로그 별랑님의 글을 참고로 작성했습니다.

blog.naver.com/srang_/222055655408

1. 데이터 모델링 절차

* 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링

- 개념적 데이터 모델링 : 현실 세계의 인식을 추상적인 개념으로 모델링

- 논리적 데이터 모델링 : 개념적 구조를 컴퓨터가 이해할 수 있는 형태로 변환

 

1) 논리 데이터 모델링

- 업무영역의 업무 데이터 및 규칙을 구체적으로 표현

- 특징 : 정규화, 완전성, 독립성, 포용성

- 속성 : 개체(사각형), 속성(동그라미), 관계(마름모)

 

2) 정규화(서술형)

- 관계형 데이터베이스 설계 시 중복을 최소화하여 데이터를 구조화하는 과정

(데이터 중복 최소화 + 데이터 구조화)

 

* 이상현상(서술형) : 데이터의 중복성으로 인해 테이블을 조작할 때 발생하는 비합리적인 현상

- 삽입이상 : 정보 저장 시 불필요한 세부사항을 입력해아 하는 경우

- 삭제이상 : 삭제 시 원치않는 정보까지 삭제되는 경우

- 갱신이상 : 중복 데이터에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우

 

* 정규화 단계

- 1NF(제1정규화) : 테이블 내의 속성값은 자 값을 가져아 한다.

- 2NF(제2정규화) : 분 함수 종속성을 제거해야 한다.

- 3NF(제3정규화) : 행 함수 종속성을 제거해야 한다.

- BCNF : 결정자 함수의 종속성을 제거하고 모든 정자가 후보키 집합에 속한 정규형

- 4NF(제4정규화) : 중 값 종속을 제거해야 한다.

- 5NF(제5정규화) : 인 종속성을 제거해야 한다.

 

3) 물리 데이터 모델링

- 논리 데이터 모델을 DBMS 특성 및 성능을 고려하여 구체화시킨 모델

 

< 모델링 절차 >

(1) 개체 -> 테이블

(2) 속성 -> Column

(3) UID -> PK(Primary Key)

(4) 관계 -> 외래키

(5) Column 길이 및 유형 정의

(6) 반정규화(2020 1회 실기 기출) : 시스템의 성능 향상을 위해 수행되는 의도적인 정규화 원칙을 위배하는 행위

 

* 참조 무결성 제약 조건 : 릴레이션과 릴레이션 사이에 대해 참조의 일관성을 보장하기 위한 조건

 

* 인덱스 : 검색 연산의 최적화를 위해 키값과 포인터의 쌍으로 구성되는 데이터 구조

- 적용기준 : 분포도가 10~15%이내

- 특징

분포도가 좋은 칼럼은 단독으로 생성

자주 조합되어 사용되는 칼럼은 결합 인덱스로 생성

지나치게 많은 인덱스는 오버헤드 발생 가능

 

* 뷰 : 사용자에게 허용된 정보만 보여주기 위해 하나 이상의 테이블로부터 유도된 논리적인 가상 테이블

- 속성 : REPLACE, FORCE, NOFORCE

- 논리적인 독립성을 제공하고 접근 제어를 통한 자동 보안 기능 제공

 

* 클러스터 : 데이터 접근 효율을 높이기 위해 동일한 성격의 데이터를 같은 데이터 블록에 저장하는 물리적 저장 방법

- 특징 : 조회 속도는 향상시키지만 삽입, 삭제, 수정의 기능은 저하

- 종류 : 단일 테이블 클러스트링, 다중 테이블 클러스트링

 

* 파티셔닝 : 대용량의 테이블을 작은 논리적인 단위인 파티션으로 나누는 것

- 레인지 파티셔닝 : 연속되는 숫자나 날짜 기준으로 파티셔닝

- 해시 파티셔닝 : 파티션 키의 해시 함수 값으로 파티셔닝

- 리스트 파티셔닝 : 데이터에 대한 명시적 제어가 가능한 파티셔닝

- 컴포지트 파티셔닝 : 범위 분할 이후 해시 함수를 적용하는 파티셔닝

- 장점 : 성능 향상, 가용성 향상, 백업 기능

 

4) 데이터 조작 프로시저(4장과 함께 보기)

- 저장된 프로시저, 저장된 함수, 저장된 패키지, 트리거

 

* 프로시저 : SQL을 이용해 생성된 데이터를 조작하는 프로그램

- PL/SQL : 표준 SQL을 기반으로 Oracle에서 개발한 데이터 조작 언어

- JDBC : 자바에서 DB를 사용할 수 있도록 연결해주는 인터페이스

 

* 프로시저 생성 SQL문

CREATE OR REPLACE

(name IN VARCHAR)

IS BEGIN

- DBMS_OUTPUT : 메시지를 버퍼에 저장하고 버퍼로부터 읽어 오기 위한 인터페이스 패키지

- SEVEROUTPUT ON : PL/SQL 처리 결과를 출력

- SHOW ERRORS : PL/SQL 오류 발생 출력

 

* APM (Application Performance Monitoring) : 안정적인 시스템 운영을 위한 성능 모니터링 도구

 

5) 데이터 조작 프로시저 최적화

* 옵티마이저 : SQL을 가장 빠르고 효율적으로 수행할 수 있는 최적의 경로 생성

- 실행 계획 : 최적의 처리 경로

 

* RBO : 규칙(Rule) 기반 옵티마이저

* CBO : 비용(Cost) 기반 옵티마이저

 

2020/09/23 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 1장 요구사항 확인

2020/10/12 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 2장 데이터 입출력 구현

2020/10/12 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 3장 통합구현

2020/10/12 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 4장 서버 프로그램 구현

2020/10/12 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 5장 인터페이스 구현

2020/10/12 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 6장 화면 설계

2020/10/12 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 7장 애플리케이션 테스트 관리

2020/10/12 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 8장 SQL 응용

2020/10/13 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 9장 소프트웨어 개발 보안 구축

2020/10/13 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 11장 응용 SW 기초 활용

2020/10/13 - [정보처리기사 실기/실기 정리] - 정보처리기사 실기) 12장 제품 소프트웨어 패키징

                                              

반응형

댓글