일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 자바스크립트
- javascript
- 정보처리기사실기요약
- Java의정석
- 국비코딩
- 정보처리기사
- 국비IT
- 평일코딩
- 이안의평일코딩
- ReactNative
- 스프링
- 코딩테스트
- 정보처리기사요약
- 자바의정석
- 오라클
- typescript
- 자바스크립트 코딩테스트
- php
- react
- 리액트네이티브
- 정보처리기사실기
- VUE
- spring
- 정보처리기사실기정리
- 자스코테
- Oracle
- 정보처리기사정리
- 리액트
- 타입스크립트
- CSS
- Today
- Total
이안의 평일코딩
정보처리기사 실기 요약 정리 - 2. 데이터 입출력 구현 본문
2. 데이터 입출력 구현
1) 논리 데이터 저장소 확인
논리 데이터 모델링
=> 데이터 베이스 설계 프로세스의 기초 설계 단계로 비지니스 정보의 구조와 규칙을 명확하게 표현할 수 있는 기법
논리 데이터 모델링 특징 (정포완독: 정말 포기했는데 완독했다)
=> 정규화, 포용성, 완전성, 독립성
논리 데이터 모델링 속성 (개속관: 개속 관계를 유지하다)
=> 개념, 속성, 관계
개체-관계(E-R) 모델
현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 가장 널리 사용되고 있는 모델
개체-관계(E-R) 다이어그램 기호
=> 개체(사각형), 관계(마름모), 속성(타원), 다중 값 속성(이중타원), 관계-속성 연결(선)
정규화(Normalization)
=> 관계형 데이터베이스의 설계에서 중복을 최소화하여 데이터를 구조화하는 프로세스
이상 현상(Anomaly) (삽삭갱: 삽살개)
삽입이상 : 정보 저장 시 해당 정보의 불필요한 세부 정보를 입력해야 하는 경우
삭제이상 : 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
갱신이상 : 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우
데이터베이스 정규화 단계 (원부이 결다조)
1정규형(1NF) : 원자값으로 구성
2정규형(2NF) : 부분 함수 종속 제거(완전 함수적 종속 관계)
3정규형(3NF) : 이행함수 종속 제거
보이스-코드 정규형(BCNF) : 결정자 함수이면서 후보키가 아닌 것 제거
4정규형(4NF) : 다치(다중 값) 종속성 제거
5정규형(5NF) : 조인 종속성 제거
BCNF(보이스-코드 정규형)
모든 결정자가 후보키가 되도록하여 결정자 함수 종속성을 제거하는 단계
2) 물리 데이터 저장소 설계
→ Row 행 튜플
↓ Column 열 애트리뷰트
물리 데이터 모델링
=> 논리모델을 적용하고자 하는 기술에 맞도록 상세화해 가는 과정
물리 데이터 모델링 변환 절차
개체를 테이블로 변환 -> 속성을 컬럼으로 변환 -> UID를 기본키로 변환 -> 관계를 외래키로 변환 -> 컬럼 유형과 길이 정의 -> 반 정규화 수행
반 정규화
=> 시스템 성능 향상과 개발 및 운영의 단순화를 위해서 데이터 모델을 통합하는 데이터베이스 성능향상 기법
인덱스
=> 검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터구조
분포도
=> 특정 컬럼의 데이터가 테이블에 평균적으로 분포되어 있는 정도
뷰 속성
=> REPLACE, FORCE, NOFORCE, WITH CHECK OPTION, WITH READ ONLY
파티션의 종류 (레헤리컴)
=> 레인지 파티셔닝, 해시 파티셔닝, 리스트 파티셔닝, 컴포지트 파티셔닝
파티션의 장점 (성가백합: 성가대가 백합꽃을 들고 노래한다)
=> 성능 향상, 가용성 향상, 백업 가능, 경합 감소
3) 데이터 조작 프로시저 작성
프로시저
=> SQL를 이용해 생성된 데이터를 조작하는 프로그램
PL/SQL
=> 표준 SQL을 기본으로 Oracle에서 개발한 데이터 조작언어로 SQL과 함께 효과적으로 DB에 접근할 수 있는 방법을 제공하는 프로그래밍 언어
데이터 저장소의 연결 절차
드라이버 로딩 -> 데이터베이스 연결 -> 쿼리 전달 -> 결과 수신
프로시저 문법
CREATE : 객체를 생성하는 데이터 정의 명령
REPLACE : 뷰가 ㅇ미 존재하는 경우 재생성하는 역할
CONSTRAINT : 테이블에 올바른 데이터만 입력 받고 잘못된 데이터는 들어오지 못하도록 컬럼마다 정하는 규칙
BEGIN : END와 함께 처리 단위별로 묶어주는 역할을 하도록 컬럼마다 정하는 규칙
ALTER ~ MODIFY : 데이터 저장소의 속성을 변경하는 수정 문법
JDBC(Java DataBase Connectivity)
=> 데이터베이스에 연결 및 작업을 하기 위한 자바 표준 인터페이스
DBMS_OUTPUT 패키지
=> 메시지를 버퍼에 저장하고 버퍼로부터 메시지를 읽어오기 위한 인터페이스를 제공하는 패키지
SET SERVEROUTPUT ON
=> PL/SQL의 처리결과를 화면에 출력하기 위한 SQL 명령어
SHOW ERRORS
=> PL/SQL문 작성 후 마지막에 추가해주면 처리결과에 대한 오류내용을 출력
4) 데이터 조작 프로시저 최적화
옵티마이저
=> SQL을 가장 빠르고 효율적으로 수행할 최적의 처리 경로를 생성해 주는 DBMS 내부의 핵심엔진
옵티마이저 유형
=> 규칙기반 옵티마이저(RBO:Rule Based Optimizer), 비용기반 옵티마이저(CBO:Cost Based Optimizer)
힌트
=> 옵티마이저가 비정상적인 실행계획을 수립 시 힌트로서 액세스 경로 및 조인 순서를 제어, 실행계획을 변경
옵티마이저의 힌트
/*+RULE*/ : 규칙 기반 접근 방식을 사용하도록 지정
/*+CHOOSE*/ : 오라클 옵티마이저 디폴트 값에 따름
/*+INDEX(테이블명 인덱스명)*/ : 지정된 인덱스를 강제적으로 쓰게끔 지정
/*+USE_HASH(테이블명)*/ : 지정된 테이블들의 조인이 Hash-Join형식으로 일어나도록 유도
/*+USE_MERGE(테이블명)*/ : 지정된 테이블들의 조인이 Sort-Merge형식으로 일어나도록 유도
/*+USE_NL(테이블명)*/ : 지정된 테이블들의 조인이 Nested-Loop형식으로 일어나도록 유도
실행계획(Excecution Plan)
=> 옵티마이저가 생성한 SQL 처리 경로
'Certificate > 정보처리기사 실기' 카테고리의 다른 글
정보처리기사 실기 요약 정리 - 6. 화면 설계 (0) | 2020.11.17 |
---|---|
정보처리기사 실기 요약 정리 - 5. 인터페이스 구현 (0) | 2020.10.30 |
정보처리기사 실기 요약 정리 - 4. 서버 프로그램 구현 (0) | 2020.10.30 |
정보처리기사 실기 요약 정리 - 3. 통합 구현 (0) | 2020.10.29 |
정보처리기사 실기 요약 정리 - 1. 요구사항 확인 (0) | 2020.10.28 |