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

데이터 모델링 절차

개념적 데이터 모델링 → 논리적 데이터 모델링 → 물리적 데이터 모델링 (개논물)

  • 개념적 데이터 모델링 : 현실 세계의 인식 -> 추상적인 개념 모델링
  • 논리적 데이터 모델링 : 개념적 구조 -> 컴퓨터가 이해할 수 있는 형태로 변환
  • 물리적 데이터 모델링 : 논리적 데이터 모델링 한 것 -> 실제 데이터베이스에 테이블로 만드는 것

논리 데이터 모델링

  • 업무영역의 업무 데이터 및 규칙을 구체적으로 표현
  • 특징 : 정규화, 완전성, 독립성, 포용성
  • 속성 : 개체(사각형), 속성(동그라미), 관계(마름모)

정규화

  • 관계형 데이터베이스 설계 시 중복을 최소화, 데이터를 구조화하는 과정 (정규화 = 데이터 중복 최소화 + 데이터 구조화)

이상현상

  • 데이터의 중복성으로 인해 테이블을 조작할 때 발생하는 현상
  • 갱신이상:중복 데이터에서 특정 값을 업데이트시 특정부분만 수정돼 불일치가 발생
  • 삽입이상:정보 저장 시 불필요한 세부사항을 입력
  • 삭제이상:삭제 시 원치 않는 정보까지 삭제

정규화 단계 (두음 암기 : 도부이결다조)

1NF(제1정규화) : 도메인은 원자값

2NF(제2정규화) : 부분적 함수 종속성 제거

3NF(제3정규화) : 이행적 함수 종속성 제거

BCNF : 결정자이면서 후보키가 아닌 것 제거

4NF(제4정규화) : 다치 종속 제거

5NF(제5정규화) : 조인 종속 이용

물리 데이터 모델링

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

< 모델링 절차>

(1) 개체 → 테이블
(2) 속성 → Column
(3) UID → PK (Primary Key)
(4) 관계 → 외래키
(5) Column 길이 및 유형 정의
(6) 반정규화

  • 반정규화 : 시스템의 성능 향상을 위해 의도적으로 정규화 원칙을 위배
  • PK (Primary Key) : 테이블의 튜플들을 식별하게 해주는 고유 키 값
  • 외래키 : 두 테이블을 서로 연결하는 데 사용되는 키
  • 인덱스 : 검색 연산의 최적화를 위해 키값과 포인터의 쌍으로 구성된 자료구조

  • 뷰 : 허용된 정보만 보여주기 위해 하나 이상의 테이블로부터 유도된 논리적 가상 테이블 (속성 : REPLACE, FORCE, NOFORCE)

  • 클러스터 : 데이터 접근 효율을 높이기 위해 동일한 성격의 데이터를 같은 데이터 블록에 저장 (성능 향상, 가용성 향상, 백업 가능)

  • 파티셔닝 : 대용량의 테이블을 작은 논리적인 단위인 파티션으로 나누는 것
    (1) 레인지 파티셔닝 : 연속되는 숫자나 날짜 기준으로 파티셔닝
    (2) 해시 파티셔닝 : 파티션 키의 해시 함수 값으로 파티셔닝
    (3) 리스트 파티셔닝 : 데이터에 대한 명시적 제어가 가능한 파티셔닝
    (4) 컴포지트 파티셔닝 : 범위 분할 이후 해시 함수를 적용하는 파티셔닝

무결성

  • db에 있는 데이터 값과 그것이 표현하는 현실의 실제값이 일치하는 정확성

  • 무결성 제약 조건 : db의 데이터의 정확성을 보장하기 위해 부정확한 자료가 db에 저장되는 것을 방지하는 제약 조건

  • 개체 무결성
    기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복값을 못 갖음

  • 도메인 무결성
    주어진 속성 값은 정의된 도메인에 속한 값이어야 됨

  • 참조 무결성
    외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일 해야 함.

4) 데이터 조작 프로시저

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

프로시저 : SQL을 이용해 생성된 데이터를 조작하는 프로그램
PL/SQL : 표준 SQL을 기반으로 Oracle에서 개발한 데이터 조작 언어
JDBC : 자바에서 DB를 사용할 수 있도록 연결해 주는 인터페이스

CREATE OR REPLACE // 프로시저 생성문

(name IN VARCHAR)

IS

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

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

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

RBO : 규칙(Rule) 기반 옵티마이저
CBO : 비용(Cost) 기반 옵티마이저

참고
https://blog.naver.com/srang_/222055655408

좋은 웹페이지 즐겨찾기