데이터베이스 구축

Purple·2021년 8월 17일
0

정보처리기사

목록 보기
3/5

정보처리기사 필기 공부 요약 정리입니다.
공부는 수제비책을 중심으로 했습니다.
요약본 공유합니다.

*트리거

  • 데이터베이스가 미리 정해 놓은 조건이 충족되거나, 또는
  • 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다
  • DBMS에서 자동적으로 실행되도록 구현된 프로그램이다.
  • 절차형 SQL이다.

*트리거의 활용목적

  • 이벤트와 관련된 작업을 DBMS가 자동적으로 실행하기 위한 목적
  • 데이터 무결성 유지를 위한 별도 처리 목적
  • 로그 메시지 출력 등의 별도 처리 목적

*사용자 정의 함수

  • 절차형 SQL을 활용하여 일련의 연산 처리 결과를 단일 값으로 반환할 수 있는 함수이다.

*SQL 문법의 WHERE 조건

  • 비교, 범위, 집합 패턴, NULL, 복합조건 으로 구성된다.

*비교

  • 연산자 : =, <>, <, <=, >, >=
  • <>는 다름을 의미한다.

*범위

  • 연산자 : BETWEEN
  • ex) 가격 BETWEEN 5000 AND 6000 (~ 5000<=가격<=6000)

*집합

  • 연산자 : IN, NOT IN
  • ex) 가격 IN (5000, 5500, 6000) (~ 가격은 5000 또는 5500 또는 6000이다. )

*패턴

  • 연산자 : LIKE
  • ex) 이름 LIKE ‘정보%’ (~ 이름이 ‘정보’로 시작되는 문자열)

*NULL

  • 연산자 : IS NULL, IS NOT NULL
  • ex) 가격 IS NULL (~ 가격이 NULL이다.)

*복합조건

  • 연산자 : AND, OR, NOT
  • ex) (가격 < 6000) AND (이름 LIKE ‘정보%’)

*LIKE와 같이 사용하는 와일드 문자

  • +, %, [], [^], -

*+

  • 문자열을 연결
  • ex) ‘축구’ + ‘감독’ : ‘축구감독’

*%

  • 0개 이상의 문자열과 일치
  • ex) LIKE ‘키워드%’
  • 키워드로 시작하는 문자열 검색

*[ ]

  • 1개의 문자와 일치
  • ex) ‘[0-8]%’ : 0-8사이의 숫자로 시작하는 문자열

*[^]

  • 1개의 문자와 불일치
  • ex) ‘[^0-8]%’ : 0-8사이의 숫자로 시작하지 않는 문자열

*_

  • 특정 위치의 1개의 문자와 일치
  • ex) ‘_동%’ : 두 번째 위치에 ‘동’이 들어가는 문자열

*힌트의 사용

  • 주석에 ‘+’기호를 붙이면 힌트로 인식한다.
  • 주석 : ‘-- 문장’ 또는 ‘/ 문단 /‘
  • 힌트 : ‘--+ 문장’ 또는 ‘/+ 문단 /’

*DML의 SELECT

  • 셀프웨구해오
  • SELECT [ALL | DISTINCT | DISTINCTROW]
  • FROM
  • WHERE
  • GROUP BY
  • HAVING
  • ORDER BY [ASC | DESC]

*SELECT절

  • ALL : 모든 튜플을 검색할 때 사용, 디폴트 값
  • DISTINCT : 중복된 속성이 조호될 경우, 그 중 한 개만 검색
  • DISTINCTROW : 튜플 전체가 중복된 튜플을 제거

*ORDER BY절

  • ASC : 오름차순 정렬
  • DESC : 내림차순 정렬

*DML의 INSERT

  • INSERT INTO
  • VALUES

*DML의 UPDATE

  • UPDATE
  • SET
  • WHERE

*DML의 DELETE

  • DELETE FROM
  • (WHERE)
  • 모든 레코드를 삭제할 때는 WHERE절 없이 DELETE만 사용한다.
  • 레코드를 모두 삭제해도 테이블 구조는 남는다.
  • 따라서 DDL의 DROP과는 다른 기능이다.

*DCL의 명령어

  • 유형에는 DCL과 DCL/TCL이 있다.

*DCL 중 DCL의 유형

  • GRANT : 사용 권한 부여
  • REVOKE : 사용 권한 취소

*DCL 중 DCL/TCL의 유형

  • COMMIT : 트랜잭션 확정
  • ROLLBACK : 트랜잭션 취소
  • SAVEPOINT(=CHECK POINT) : 저장 시기 설정

*GRANT(권한 부여) 명령어

  • 시스템 권한 : GRANT 권한 TO 사용자 : 테이블/뷰/프로시저 등을 생성하고 삭제할 수 있는 권한을 부여
  • 객체 권한 : GRANT 권한 ON 테이블 TO 사용자 : 테이블을 수정, 삽입, 삭제, 조회와 프로시저 실행을 할 수 있는 권한을 부여
  • GRANT 구문 마지막에 WITH GRANT OPTION을 붙이면, 다른 사용자에게 권한을 부여할 수 있다.

*REVOKE(권한 취소) 명령어

  • 시스템 권한 : REVOKE 권한 FROM 사용자
  • 객체 권한 : REVOKE 권한 ON 테이블 FROM 사용자
  • REVOKE 구문 마지막에 CASCADE CONSTRAINT 키워드를 붙이면 WITH GRANT OPTION으로 부여된 사용자들의 권한까지 회수할 수 있다.

*집계 함수

  • COUNT, SUM, AVG, MAX, MIN, STDDEV(표준 편차), VARIAN(분산)

*OLAP 연산(On-Line Analytical Processing)

  • Roll-up, Drill-Down, Slicing, Dicing, Pivoting

*DDL 명령어

  • CREATE : 데이터베이스 오브젝트 생성
  • ALTER : 데이터베이스 오브젝트 변경
  • DROP : 데이터베이스 오브젝트 삭제
  • TRUNCATE : 데이터베이스 오브젝트 내용 삭제
  • DDL 대상(=데이터베이스 오브젝트) : 도스테뷰인 : 도메인, 스키마, 테이블, 뷰, 인덱스

*DROP 테이블 명령어 옵션

  • CASCADE : 참조하는 테이블까지 연쇄적으로 제거하는 옵션
  • RESTRICT : 다른 테이블이 삭제할 테이블을 참조 중이면, 제거하지 않는 옵션

*트랜잭션

  • 데이터베이스의 상태를 변환시키기 위해, 논리적 기능을 수행하는 하나의 작업 단위이다.

*트랜잭션의 특징

  • ACID
  • Atomicity(원자성) : 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. Commit과 Rollback을 통해 원자성을 보장받는다.
  • Consistency(일관성) : 시스템이 갖고 있는 고정요소는, 트랜잭션 수행 전과 트랜잭션 수행 완료 후에 같아야 한다.
  • Isolation(격리성) : 트랜잭션 실행 중, 다른 트랜잭션이 접근 불가
  • Durability(영속성) : 영속적으로 데이터베이스에 저장

*트랜잭션의 연산인 Commit과 Rollback

  • 위의 연산을 통해 원자성을 보장받는다.

*병행제어 기법의 종류

  • 로 낙타다

*로킹

  • 한꺼번에 로킹할 수 있는 크기를 로킹 단위라고 한다.
  • 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
  • 로킹의 단위가 작아지면, 데이터베이스 공유도가 증가한다.
  • 로킹의 단위가 작아지면, 로킹 오버헤드가 증가한다.

*낙관적 검증

  • 아무 검증도 하지않고, 일단 트랜잭션을 수행하고, 트랜잭션 종료 시 검증을 수행하여 데이터베이스에 반영하는 방법이다.

*타임 스탬프 순서

  • 트랜잭션을 실행하기 전에, 타임 스탬프를 부여하여, 트랜잭션 간의 순서를 미리 정하는 방법이다.

*다중버전 동시성 제어

  • 트랜잭션의 타임스탬프와, 접근하려는 데이터의 타임스탬프 값을 비교하여 제어하는 방법이다.

*고립화 수준의 종류

  • Read Uncommitted : 커밋하지 않은 것을 읽는 것을 허용한다. : 한 트랜잭션이 커밋하지 않은 것을, 다른 트랜잭션이 읽는 것을 허용하는 수준이다.
  • Read Committed : 커밋한 것을 읽어라 : Read Uncommitted와 반대
  • Repeatable Read : 읽을 때, 연산(갱신 삭제)을 제한한다. : 선행 트랜잭션이 데이터를 읽을 때, 선행 트랜잭션 종료까지, 해당 데이터에 대한 연산(갱신, 삭제)를 제한하는 수준이다.
  • Serializable Read : 순차적으로 읽을 때, 연산(갱신 삭제)을 제한한다. : 선행 트랜잭션이 데이터를 순차적으로 읽고 있을 때, 해당 데이터 영역 전체 에 대한 접근을 제한하는 수준이다.

*회복 기법(Recovery)

  • 트랜잭션을 수행하는 도중, 손상된 데이터베이스를, 손상되기 이전의 정상적인 상태로 복구시키는 작업을 말한다.

*회복 기법의 종류

  • 회 로체그 : 로그 기반 회복 기법, 에크 포인트 회복 기법, 그림자 페이징 회복 기법이 있다.

*로그 기반 회복 기법

  • 지연 갱신 회복 기법과, 즉각 갱신 회복 기법이 있다.
  • 지연 갱신 회복 기법 : 트랜잭션이 완료되기 전까지 데이터베이스에 기록하지 않는 기법
  • 즉각 갱신 회복 기법 : 트랜잭션 수행 중 즉각적으로 DB에 반영하는 기법

*TCL(Transaction Control Language) 명령어

  • 커롤체
  • 커밋(Commit) : 트랜잭션 확정
  • 롤백(RollBack) : 트랜잭션 취소
  • 체크 포인트(Check Point) : RollBack을 위한 저장시기 설정

*튜플(Tuple), 행(Row), 레코드(Record)

  • 테이블 내의 행을 의미한다.
  • 행의 개수를 카디널리티(Cardinality)라고 한다.
  • 튜플은 릴레이션(Relation)에서 같은 값을 가질 수 없다.

*애트리뷰트(Attribute), 열(Column)

  • 테이블 내의 열을 의미한다.
  • 열의 개수를 차수(Degree)라고 한다.
  • 하나의 애트리뷰트가 가질 수 있는 원자 값들의 집합을 도메인(Domain)이라고 한다.

*식별자(Identifier)

  • 구분할 수 있는 논리적 개념을 말한다.

*뷰(View)

  • 장점
  • 논리적 독립성을 제공한다.
  • 논리적 데이터 독립성을 제공하기 때문에,
  • 데이터 조작 연산이 간소화 되고, 즉 사용자 데이터 관리에 용이하고,
    보안 기능(접근제어)을 제공할 수 있다.
  • 뷰 위에 또 다른 뷰를 정의할 수 있다.
  • 단점
  • 자체 인덱스가 불가능하다.
  • 뷰 정의 변경 불가 : 뷰 정의는 ALTER문을 이용하여 변경할 수 없다. 뷰는 CREATE문을 사용하여 정의하고, DROP을 사용하여 제거한다.
  • 데이터 변경 제약이 존재한다. : 뷰의 내용에 대한 삽입, 삭제, 갱신의 제약이 있다.
  • 뷰가 정의된 기본 테이블이 삭제되면, 뷰는 자동적으로 삭제된다.
    특징
  • 뷰의 내용 검색은 SELECT문을 이용한다.

*인덱스

  • 기본 키(PK)컬럼은 기본 키를 생성할 때, 자동으로 인덱스가 생성된다.
  • 데이터를 빠르게 찾을 수 있는 수단이다.
  • 조건절에 ‘=’로 비교되는 컬럼에, 인덱스를 생성하면 검색 속도를 높일 수 있다.
  • 인덱스로 인해 테이블 전체 스캔(Table Full Scan)을 하지 않게 되어 성능이 향상되는 것이다.

*집합(Set) 연산자

  • 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을, 하나의 결과로 합치고자 할 때 사용하는 연산자이다.
  • 유유인마
  • UNION : 중복 행이 제거된 쿼리 결과 집합
  • UNION ALL : 중복 행이 제거되지 않은 쿼리 결과 집합
  • INTERSECT : 교집합
  • MINUS : 차집합

*논리적 조인 유형

  • 내외교셀

*내부 조인

  • 내부 조인에는 동등 조인, 자연 조인, 교차 조인이 있다.
  • 자연 조인은 같은 컬럼명을 가진 모든 컬럼 값이 같은 경우를 추출한다.

*외부 조인

  • 외부 조인에는 왼쪽 외부 조인, 오른쪽 외부 조인, 완전 외부 조인이 있다.
  • 왼쪽 외부 조인 : 왼쪽 테이블의 모든 데이터와, 오른쪽 테이블의 동일 데이터를 추출
  • 오른쪽 외부 조인 : 오른쪽 테이블의 모든 데이터와, 왼쪽 테이블의 동일 데이터를 추출
  • 완전 외부 조인 : 양쪽의 모든 데이터를 추출

*교차 조인

*셀프 조인

*서브 쿼리 유형

  • 단일 행 서브쿼리, 다중 행 서브쿼리, 다중 컬럼 서브쿼리

*단일 행 서브쿼리

  • 결과가 항상 1건 이하인 서브쿼리

*다중 행 서브쿼리

  • 결과가 여러 건인 서브쿼리
  • 비교 연산자에는 IN, ALL, ANY, EXIST가 있다.
  • IN : 서브쿼리의 결과에 존재하는 임의의 값과 동일한 조건
  • ALL : 서브쿼리의 결과에 존재하는 모든 값을 만족하는 조건
  • ANY : 서브쿼리의 결과에 존재하는 어느 하나의 값이라도 만족하는 조건
  • EXIST : 서브쿼리의 결과를 만족하는 값의 존재 여부를 확인하는 조건

*다중 컬럼 서브쿼리

  • 결과가 여러 컬럼으로 반환되는 서브쿼리

*관계 대수

  • 정보를 어떻게(HOW) 유도하는가를 기술하는 언어이다.
  • 절차적 언어이다.
  • 릴레이션 조작을 위한 연산의 집합으로, 피연산자와 결과가 모두 릴레이션이다.
  • 관계 대수의 연산자로는 일반 집합 연산자와, 순수 관계 연산자가 존재한다.

*관계 해석

  • 정보가 무엇(WHAT)인가를 기술하는 언어이다.
  • 비절차적 언어이다.
  • 프레디켓 해석에 기반한다.
  • 코드(Codd)가 설계하여 제안하였다.
  • 관계 해석에는 튜플 관계 해석과, 도메인 관계 해석이 있다.
  • 결과적으로 릴레이션을 정의하는 방법을 제공하는 것이다.

*시스템 카탈로그

  • DBMS가 스스로 생성하고 유지하는, 데이터베이스 내의 특별한 테이블들의 집합체이다.
  • DBMS는 자동적으로 시스템 카탈로그 테이블들의 행을 삽입, 삭제, 갱신한다.
  • 사용자가 SQL문을 실행시켜 변화를 주면, 시스템 카탈로그가 자동으로 갱신된다.
  • 즉 사용자가 직접 SQL문(INSERT, DELETE, UPDATE)을 실행하여, 시스템 카탈로그를 직접 갱신할 수는 없다.
  • 사용자는 SQL문(SELECT)을 이용하여, 시스템 카탈로그 내용을 검색하는 것은 가능하다.
  • 시스템 카탈로그에 저장된 정보를 메타 데이터라고 한다.
  • 데이터 사전(Data Dictionary)이라고도 한다.

*데이터 모델에 표시해야 하는 요소

  • 논리적 데이터 구조, 연산, 제약 조건

*데이터베이스의 논리적 설계단계에서 수행하는 작업

  • 논리적 데이터베이스 구조로 매핑
  • 트랜잭션 인터페이스 설계
  • 스키마의 평가 및 정제, 그리고 설계

*데이터베이스의 물리적 설계단계에서 수행하는 작업

  • 응답시간, 저장공간의 효율화, 트랜잭션 처리도와 밀접한 관계가 있다.
  • 레코드 집중의 분석 및 설계
  • 접근 경로 설계

*네트워크형 데이터 모델

  • 논리적 구조가 그래프 형태로 구성된 모델이다.
  • CODASYL DBTG모델이라고 불린다.

*개체 관계 다이어 그램 기호

  • 개체 : 사각형
  • 속성 : 원
  • 다중 값 속성 : 이중 타원
  • 관계 : 마름모
  • 연결 : 선

*데이터베이스 정규화 목적

  • 중복 데이터를 최소화하여, 테이블 불일치 위험을 최소화한다.
  • 수정, 삭제 시 이상 현상(Anomaly) 현상을 최소화함으로써 데이터 구조의 안정성을 최대화한다.
  • 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.
  • 데이터 삽입시 릴레이션의 재구성에 대한 필요성을 줄인다.
  • 효과적인 검색 알고리즘을 생성하도록 한다.

*이상 현상(Anomaly)

  • 릴레이션 조작 시, 데이터들이 불필요하게 중복되어, 예기치 않게 발생하는 곤란한 현상을 의미하는 것이다.

*1차 정규화

  • 속성을 2개 이상 갖고 있는 경우, 원자값이 아닌 것이다.
  • 속성 1개만 갖도록 저장하여, 원자값을 만든다.

*이행적 함수 종속 제거

  • A->B이고, B->C이면서 A->C관계인 경우를 의미한다.

*스토리지의 종류

  • 다나스
  • DAS(Direct Attached Storage) : 전용 케이블을 통해, 서버와 저장장치를 직접 접속하는 방법이다.
  • NAS(Network Attached Storage) : LAN을 통해, 스토리지와 서버를 접속하는 방법이다.
  • SAN(Storage Area Network) : 광섬유(Fiber Channel) 채널을 통해, 서버와 스토리지를 연결하는 방법이다.

*분산 데이터베이스 장점과 단점

  • 단점
  • 복잡성이 증가한다.
  • 성능이 저하된다.
  • 개발 비용이 증가한다.
  • 장점
  • 나머지는 다 장점

*분산 데이터베이스 투명성

  • 위복병 분장
  • 위치 투명성(Location Transparency)
  • 복제 투명성(Replication Transparency)
  • 병행 투명성(Concurrency Transparency)
  • 분할 투명성(Fragmentation Transparency)
  • 장애 투명성(Failure Transparency)

*데이터베이스 이중화 형태

  • 액티브-액티브 : 두 노드가 동시에 동작하므로 성능이 좋다.
  • 액티브-스탠바이 : 하나의 노드만 액티브하고, 나머지 노드들은 스탠바이하는 형태이다.

*접근제어 정책

  • DAC(Discretionary Access Control) : 신원기반 접근제어 정책(ex. 아이디)
  • MAC(Mandatory Access Control) : 규칙기반 접근제어 정책
  • RBAC(Role Based Access Control) : 역할기반 접근제어 정책

*파티셔닝 특징

  • 물리적 파티셔닝으로 인해, 전체 데이터 훼손 가능성이 줄어들고, 가용성이 향상된다.
  • 보다 작은 단위로 관리하여 편리하다.
  • 부하를 각 파티션들로 분산시켜, 성능을 향상시킨다.(주의 깊게 보기)

*데이터베이스 기법중 클러스터링에 대한 설명

  • 지정된 컬럼 값의 순서대로, 데이터 행을 저장하는 방법이다.
  • 분포도가 넓을수록 저장 공간의 절약이 가능하여, 유리하다.

*클러스터링 고려사항

  • 분포도가 넓은 경우 사용한다.
  • 대량의 번위를 자주 액세스하는 경우 사용한다.
  • 여러 개의 테이블이 자주 조인을 일으키는 경우 사용한다.
  • 수정은 자주 발생하지 않는 컬럼에 사용한다.

*데이터베이스 백업 종류

  • 전차증트
  • 전체 백업 : 전체에 대한 백업
  • 차분 백업 : 차등없이 변경된 모든 데이터를 백업. 전체 백업 이후 변경된 모든 데이터를 백업하는 방식으로, 혼자서 존재할 수 없으며, 반드시 전체 백업을 받은 이후에 수행하여야 한다.
  • 증분 백업 : 증가된 변경 부분만 백업
  • 트랜잭션 로그 백업 : 로그파일에 기록된 로그를 백업

*테이블 저장과 관련된, 파라미터들에 대한 설명

  • BLOCK_SIZE(블록 사이즈) : 기본적으로 8KB인 8192바이트이다.
  • INITRANS(트랜잭션 예약 공간) : 트랜잭션의 동시 접근을 위해, 미리 할당된 예약 공간
  • PCT_FREE(예비 영역 비율) : 기본 10%, 테이블의 데이터 크기가 변할 때 여유 공간으로 활용하는 비율

*데이터 지역화

  • 데이터 지역화는 데이터베이스의 저장 데이터를 효율적으로 이용할 수 있도록 저장하는 방법이다.
  • 데이터 지역화의 종류로는 시간적 지역화, 공간적 지역화, 순차적 지역화가 존재한다.
  • 시간적 지역화 : 최근에 참조된 기억장소가, 계속 참조될 가능성이 높은 특성
  • 공간적 지역화 : 최근에 참조된 기억장소와 가까운 기억장소가, 계속 참조될 가능성이 높은 특성
  • 순차적 지역화 : 데이터가 기억장치에 저장된 순서대로, 순차적으로 실행될 가능성이 높은 특성

#### *데이터베이스 무결성과 보안의 차이점

  • 데이터베이스 무결성 : 권한이 있는 사용자로부터 데이터베이스를 보호하는 것
  • 데이터베이스 보안 : 권한이 없는 사용자로부터 데이터베이스를 보호하는 것

*데이터베이스 무겨성 종류

  • 개참속사키
  • 개체 무결성 : 기본 키에 속해 있는 애트리뷰트는, 널 값이나 중복 값을 가질 수 없다.
  • 참조 무결성
  • 속성 무결성
  • 사용자 무결성
  • 키 무결성

*컬럼 구성 시 고려사항

  • 고정 길이 컬럼은 앞편에 배치하고, 가변 길이 컬럼은 뒤편에 배치한다.
  • 고정 길이 데이터 타입은 최소 길이를 지정하고, 가변 길이 데이터 타입은 최대 길이로 정의한다.
  • 소수점 이하 자리 수는 반올림되어 자정되므로, 정확성을 확인하고 정의한다.
  • 비교 연산에서는 두 컬럼 사이에 같은 데이터 타입과 같은 길이를 사용한다.

*반 정규화

  • 정규화된 것을, 시스템의 성능 향상을 위해, 병합 분할 중복등을 수행하는 데이터 모델링 기법이다.

*논리 E-R 다이어그램을, 물리 E-R 다이어그램으로 변환하는 작업

  • 관리 목적을 위해 컬럼을 추가할 수 있다.
  • 데이터 표준을 적용해야 한다.
  • 관계 변환은 1:1, 1:N, N:M 모두 가능하다.

*CRUD 분석

  • CRUD(CREATE, READ, UPDATE, DELETE)연산으로, 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석하는 것

*CRUD Matrix 규칙

  • 세로가 프로세스, 가로가 엔티티
  • 모든 엔티티에 “C”가 존재해야 한다. -> 데이터는 1번 생성되어야 한다.
  • 모든 엔티티에 “R”이 존재해야 한다. -> 데이터는 최소한 1번 읽어져야 한다.
  • 모든 엔티티에 “CRUD”중 하나라도 존재해야 한다.
  • 같은 엔티티에 두 개 이상의 “C”가 존재할 수 없다.
  • 단위 프로세스에 “CRUD” 중 하나라도 존재해야 한다.

*ETL(Extraction, Transformation, Loading)의 개념(= 데이터 전환)

  • ETL은 원천 시스템에서 데이터를 Extraction하여, Transformation하고, 목적시스템으로 Loading하는 프로세스이다.
  • 조직 내/외부의 여러 소스들로부터, 분석을 위한 저장소로, 데이터를 이동시키는 일련의 프로세스이다.
  • 데이터 전환은 신속하고 정확하게 수행하는 것이 일반적이다.(충분한 시간 x)
  • 때때로 시간절약을 위해 3가지 ETL 단계를 동시에 수행하기도 한다.
  • ETL단계는 전체 추출을 기다리지 않고도, 진행이 가능하다.
  • ETL의 변환 작업은 특수한 엔진에서 진행된다.
  • 변환 중인 데이터가 준비 테이블에서 임시로 보류되었다가 대상에 로드되기도 한다.

*색인 순차 파일(Indexed Sequential File)

  • 색인 순차 파일은, 레코드들을 키(Key)값 순으로 정렬시켜 기록하고, 레코드의 키 항목에 색인(Index)를 구성하는 방식이다.
  • 순차(Sequential) 처리와 랜덤(Random) 처리가 모두 가능하다.
  • 레코드의 삽입, 삭제, 갱신이 모두 용이하다.
  • 레코드 추출 시, 색인이 가리키는 포인터(주소)를 사용하여, 직접 참조한다.

*데이터 전환 계획수립

  • 단위 시스템별 데이터 이행 및 검증 계획
  • 전체 시스템 데이터 전환 시나리오 작성 및 검증 계획
  • 최종 데이터 전환 시뮬레이션 검증 계획

*데이터 전환 수행 단계

  • 요구사항 분석 단계(전환 계획 및 요건정의)
  • 설계 단계(전환 설계)
  • 구현 단계(전환 개발)
  • 테스트 단계(전환 테스트 및 검증)
  • 데이터 전환 단계

*요구사항 분석 단계(전환 계획 및 요건정의)

  • 프로젝트 계획 -> 프로젝트 환경구축 -> 현행 시스템 분석 -> 목표 시스템 분석 -> 데이터 전환 요건정의

*설계 단계(전환 단계)

  • 로지컬 매핑 -> 코드 매핑 -> 검증 규칙 정의 -> 전환 설계서 작성

*구현 단계(전환 개발)

  • 전환 개발 환경 구축 -> 전환 프로그램 개발 -> 검증 프로그램 개발

*테스트 단계(전환 테스트 및 검증)

  • 전환 검증 설계 -> 추출 검증 -> 변환 결과 검증 -> 최종 전환 설계 -> 전환 인프라 구축 -> n차 전환 검증

*데이터 전환 단계

  • 최종 전환 -> 안정화 지원 -> 후속 단계 데이터 전환 -> 전환 완료보고서 작성

*데이터 전환 수행을 위한, 체크리스트

  • 전환 프로그램의 위험요소에 최대한 대응하기 위해 작성되는 것이다.
  • 체크리스트 주요항목 : 작업내용, 작업 세부항목, 시간, 작업자
  • 작업 내용은 사전작업, 전환 단계, 점검 단계로 이루어져 있다.
  • 사전 작업 : 운영환경 점검, 인프라 상태점검, 데이터베이스 점검
  • 전환 단계 : 테이블 이관작업, 데이터 정제/변환
  • 점검 단계 : 전환 요건항목 검증, SQL대상 후속조치

*데이터 정제 과정

  • 데이터 정제 요청서 작성 -> 데이터 정제 보고서 작성 -> 데이터 정제 수행 결과 검증

*데이터 전환 시, 원천 데이터의 정합성 항목

  • 필수 항목의 데이터가 모두 존재하는가?
  • 데이터의 유형이 정확하게 관리되고 있는가?
  • 날짜의 경우 날짜로서, 유효한 형태를 갖고 있는가?
  • 금액의 경우 유요한 값의 범위인가?
  • 코드 값이, 정해진 범위에 내에 속하는가?
  • 모든 일자의 시점이, 업무 규칙에 위배되지 않고, 정확하게 설정되어 있는가?
  • 업무 규칙에 위배되는 잘못된 정보가 존재하는가?
  • 잔액의 총합이 회계 정보와 동일한가?
  • 보고서 값이, 실제 제이터 값과 일치하는가?

*전환 데이터의 대표적인 정합성 항목

  • 특정 기준으로, 분류된 데이터가 일치하는가?
  • 보고서 항목 또는 통계 수치는 정확한가?
  • 샘플링한 목적데이터의 대상 항목이 모두 일치한는가?
  • 특수한 관계가 있는 고객의 추출 데이터는 정확한가?

*데이터 품질관리

  • 조직 내/외부의 정보시스템 및 데이터베이스 사용자의 기대를 만족시키기 위한, 지속적인 데이터 및 데이터 구조 개선활동이다.

*오류 데이터 측정

  • 데이터 품질 기준에 따라, 정상 데이터와 오류 데이터를 분리한다.
  • 그렇게 나온 결과를 토대로, 오류 관리 목록에 기재한다.
  • 오류 관리목록에는 심각도, 상태를 고려한 핵심내용을 기록한다.
  • 정상 데이터의 수량을 정확히 측정하고 기록한다.
  • 오류 데이터의 수량을 정확히 측정하고 기록한다.
profile
안녕하세요.

0개의 댓글