데이터 모델링 절차

데이터 모델링 절차

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) 기반 옵티마이저

Start typing and press Enter to search

Shopping Cart