[정보처리기사 필기] 3과목 키워드 정리
딱지의겨울
·2021. 4. 6. 13:52
3과목 데이터베이스 구축
3.1 논리 데이터베이스 설계
데이터베이스 설계
요구 조건 분석 |
요구 조건 명세서 작성 |
개념적 설계 |
개념 스키마, 트랜잭션 모델링, E-R모델 |
논리적 설계 |
논리 스키마 설계, 트랜잭션 인터페이스 설계 |
물리적 설계 |
물리적 구조 데이터 변환 |
구현 |
DDL로 DB 생성 |
데이터 모델의 구성요소
- 구조(Structure): 논리적으로 표현된 개체 타입들간의 관계. 데이터 구조 및 정적 성질을 표현한다.
- 연산(Operation): 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세. 데이터베이스를 조작하는 기본 도구.
- 제약 조건(Constraint): 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건.
개체(Entity)
- 데이터베이스에 표현하려는 것으로 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체.
- 실세계에 독립적으로 존재하는 유형, 무형으 정보로 서로 연관된 몇개의 속성으로 구성됨.
- 독립적으로 존재하거나 그 자체로서도 구별이 가능하다.
- 유일한 식별자에 의해 식별이 가능하다.
- 다른 개체와 하나 이상의 관계가 있어야 한다.
속성(Attribute)
- 데이터베이스를 구성하는 가장 작은 논리적 단위.
- 속성의 수를 디그리 혹은 차수라고 한다.
- 속성의 특성에 따른 분류
s 기본 속성: 가장 많고 일반적. 업무 분석을 통해 정의.(자동차명, 제조일 등)
s 설계 속성: 업무상 존재하지 않고 설계 과정에서 도출해내는 속성. (자동차 코드:A01-세단 등)
s 파생 속성: 다른 속성으로부터 계산이나 변형등 영향을 받아서 발생하는 속성(총 판매 수량)
- 개체 구성 방식에 따른 분류
s 기본키 속성: 개체를 식별할 수 있는 속성
s 외래키 속성: 다른 개체와의 관계에서 포함된 속성
s 일반 속성: 개체에 포함되어있고 기본키, 외래키가 아닌 속성.
관계(Relationship)
- 개체와 개체 사이의 논리적인 연결.
- 관계의 형태: 1:1, 1:다, 다:다
- 관계의 종류
s 종속 관계: 두 개체 사이의 주, 종 관계. 식별관계(개체 A의 기본키가 개체 B의 외래키이자 기본키인 관계)와 비식별관계가 있음.
s 중복 관계: 두 개체 사이에 2번 이상 종속 관계 발생하는 관계.
s 재귀 관계: 개체가 자기 자신과 관계를 갖는 것. 순환 관계.
s 베타 관계: 개체의 속성이나 구분자를 기준으로 개체의 특성을 분할하는 관계. 베타 AND 관계(하위 개체들 중 속성이나 구분자 조건에 따라 하나의 개체만 선택할 수 있음), 베타 OR 관계(하나 이상의 개체를 선택할 수 있음).
E-R 모델
튜플(Tuple)
- 릴레이션을 구성하는 각각의 행.
- 속성의 모임으로 구성됨. 파일 구조에서 레코드.
- 튜플의 수는 카디널리티(Cardinality), 기수/대응수.
도메인(Domain)
- 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합.
- 실제 애트리뷰트 값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는데 이용됨.
키(Key)
- 후보키(Candidate Key)
s 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합. 기본키로 사용할 수 있는 속성.
s 모든 릴레이션에는 반드시 하나 이상의 후보키 존재.
s 유일성(하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 하는 속성)과 최소성(모든 레코드들을 유일하게 식별하는데 꼭 필요한 속성으로만 구성)을 만족해야 함.
- 기본키(Primary Key)
s 후보키 중에서 특별히 선정된 주키로 중복된 값을 가질 수 없음. 후보키 속성 만족(유일성, 최소성)
s 널값을 가질 수 없음.
- 대체키(Alternate Key)
s 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키. (보조키)
- 슈퍼키(Super Key)
s 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키.
s 유일성은 만족시키지만 최소성을 만족시키지는 못함.
- 외래키(Foreign Key)
s 다른 릴레이션의 기본키를 참조하는 속성, 속성들의 집합.
s 릴레이션 간의 참조 관계를 표현하는데 중요한 도구
무결성(Integrity)
- 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성.
- 개체 무결성(실체 무결성): 기본 테이블의 기본키를 구성하는 어떤 속성도 널값이나 중복값을 가질 수 없다는 규정.
- 도메인 무결성(영역 무결성): 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정.
- 참조 무결성: 외래키 값은 널이거나, 참조 릴레이션의 기본키 값은 동일해야 한다. 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다. 외래키와 참조하려는 테이블의 기본키는 도메인과 속성 개수가 같아야 함.
- 사용자 정의 무결성
관계대수
- 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는 가를 기술하는 절차적인 언어.
- 순수 관계 연산자: select, project, join, division
- 일반 집합 연산자: union, intersection, difference, cartesian product
- 관계 해석: 관계 데이터 연산을 표현하는 방법으로 비절차적인 특성을 가짐.
정규화
- 데이터 중복을 배제하여 Anomaly의 발생 방지.
- 논리적 설계 단계에서 수행.
- 정규화 수준이 높을 수록 유연한 데이터 구축이 가능하고 데이터 정확성이 높아지는 반면 물리적 접근이 복잡하고 너무 많은 조인으로 조회 성능이 저하됨.
- 이상의 종류
s 삽입 이상: 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들도 함께 삽입되는 현상.
s 삭제 이상: 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄 일어나는 현상 .
s 갱신 이상: 속성 값을 갱신 할 때 일부 튜플만 갱신되에 정보에 모순이 생기는 현상.
- 정규화 과정 :
비정규 릴레이션
도(메인이 원자값)
1NF
부(분적 함수 종속 제거)
2NF
이(행적 함수 종속 제거)
3NF
결(정자이면서 후보키가 아닌것 제거)
BCNF
다(치 종속 제거)
4NF
조(인 종속성 이용)
5NF
시스템 카탈로그
- 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스
- 데이터 사전이라고도 불림.
- DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블.
- 메타 데이터: 시스템 카탈로그에 저장된 정보.
- 특징
s SQL로 검색해볼 수 있지만 카탈로그를 갱신할 수 없음.
s 카탈로그는 DBMS가 스스로 생성하고 유지한다 .
s DBMS에 따라 상이한 구조를 가짐.
- DBMS내의 모듈 시스템: 데이터 정의어 번역기, 데이터 조작어 번역기, 데이터 사전, 질의 최적화기, 트랜잭션 처리기
3.2 물리 데이터베이스 설계
물리 데이터베이스 설계
- 논리적 구조로 표현된 논리적 데이터베이스를 물리적 저장 장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정.
- 꼭 포함되어야 할 것: 저장 레코드의 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 설계
- 믈리적 설계 옵션: 반응 시간, 공간 활용도, 트랜잭션 처리량
- 데이터 명명 규칙, 시스템 자원, 데이터베이스 관리 요소
트랜잭션
- 데이터베이스의 상태를 변환 시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위, 한꺼번에 모두 수행되어야 할 일련의 연산들.
- 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위.
- 특성
s 원자성(Atomicity): 모두에 반영 완료 되던지 전혀 반영 안되던지.
s 일관성(Consistency): 일관성있는 데이터베이스 상태로 변환.
s 독립성/격리성(Isolation): 둘 이상의 트랜젯견이 병행 실행되는 경우 다른 연산이 끼어들수 없음.
s 지속성/영속성(Durability): 성공적으로 완료된 트랜잭션은 시스템이 고장 나더라도 영구적으로 반영되어야 함.
- CRUD 분석: Create/ Read/ Update / Delete, 우선 순위(C>D>U>R)
인덱스
- 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조.
- 레코드가 저장된 물리적 구조에 접근하는 방법을 제공.
- 인덱스가 없으면 모든 데이터를 확인하는 Table Scan이 발생.
- 클러스터드 인덱스: 레코드의 물리적 순서가 인덱스의 엔트리 순서와 일치하게 유지되도록 구성하는 인덱스. 실제 데이터가 순서대로 저장되어 있어서 검색하지 않아도 빠르게 찾을 수 있음.
- 트리기반 인덱스: B+ 트리 인덱스(노드로만 이루어진 인덱스 세트 + 단말 노드로만 구성된 순차 세트)
- 비트맵 인덱스: 인덱스 칼럼의 데이터가 0또는 1로 변환해서 row의 주소를 제공하여 효율적인 논리 연산 가능하고 압축 효율이 좋음.
- 함수 기반 인덱스: 특정 함수나 수식을 적용하여 산출된 값을 사용. 산술식, 사용자 정의 함수, SQL Function, C callout, Package 등.
- 비트맵 조인 인덱스: 다수의 조인된 객체로 구성
- 도메인 인덱스: 필요한 인덱스를 직접 만들어 사용.
- 인덱스 대상 칼럼 선정 기준
s 인덱스 컬럼의 분포도(선택성: 조건에 맞는 레코드의 숫자가 적은 경우 분포도가 좋다고 함)이 10~15%이내인 칼럼.
s 부분 처리를 목적으로 하는 칼럼
s 조회 및 출력 조건으로 사용되는 컬럼.
s 기본키와 유니크 제약 조건을 사용한 칼럼.
뷰
- 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상 테이블.
- 뷰는 저장 장치 내에 물리적으로 존재하지는 않음
- 임시적인 작업을 위한 용도로 활용.
- 조인문의 사용을 최소화하고 사용상의 편의성을 최대화.
- 기본 테이블과 조작은 거의 같음.
- 데이터의 논리적 독립성 제공.
- 기본 테이블의 기본키를 포함한 속성 집합으로 뷰를 구성해야 만 삽입, 삭제, 갱신 연산이 가능함.
- 단점: 독립적인 인덱스 가질 수 없고 삽입, 삭제, 갱신 연산에 제약이 따름.
클러스터
- 데이터 저장 시 데이터 엑세스 효율을 향상시키기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법.
- 데이터 조회 속도는 향상시키지만, 데이터 입력, 수정, 삭제에 대한 성능은 저하된다.
- 데이터 분포도가 넓은 테이블을 클러스터링 하면 저장 공간을 절약할 수 있다.
- 대용량을 처리하는 트랜젝션은 전체 테이블을 스캔하는 일이 자주 발생하므로 클러스터링을 하지 않는게 좋다.
- 파티셔닝 된 테이블은 클러스터링을 할 수 없다.
파티션
- 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것.
- 대용량 DB의 경우 몇개의 테이블에만 집중되어 데이터가 증가하므로 작은 단위로 분산시키면 성능 저하를 막고 데이터 관리도 쉬워짐.
- 파티션 키, 또는 인덱스 키에 따라 물리적으로 별도의 공간에 데이터가 저장됨.,
- 데이터 처리는 테이블 단위, 데이터 저장은 파티션별로 수행.
- 단점: 테이블간 조인에 대한 비용이 증가, 용량이 작은 테이블의 파티셔닝을 하면 성능이 저하. 세심한 관리 요구.
- 파티션의 종류
s 범위 분할: 지정한 열의 값을 기준으로 분항.
s 해시 분할: 해시 함수 적용한 결과에 따라 분할. 데이터가 고른 칼럼에 효과적.
s 조합 분할: 범위 분할 + 해시 분할. 범위 분할한 파티션이 너무 클 때 사용
- 인덱스 파티션
s 파티션된 테이블의 종속 여부: Local Partitioned Index(테이블 파티션과 인덱스 파티션이 1:1 대응, 관리가 쉬움), Global Partitioned Index(테이블 파티션과 인덱스 파티션이 서로 독립적)
s 컬럼의 위치에 따른 인덱스 파티션: Prefixed Partitioned Index(인덱스 파티션 키와 인덱스의 첫번째 칼럼이 같음), Non-prefixed Partitioned Index
분산 데이터베이스
- 논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 컴퓨터 사이트에 분산되어 있는 데이터베이스. 데이터 처리가 많은 지역에서 해당 지역에서 해결할 수 있도록.
- 구성요소
s 분산처리기: 자체적으로 처리 능력을 가지고 지리적으로 분산되어있는 컴퓨터 시스템
s 분산 데이터베이스: 지리적으로 분산되어있는 데이터베이스, 해당 지역의 특성에 맞게 구성
s 통신 네트워크: 분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크
- 목표
s 위치 투명성: 실제 위치를 알 필요 없이 논리적 명칭만으로 엑세스 가능
s 중복 투명성: 동일한 데이터가 여러 곳에 중복되어 있어도 사용자는 하나의 데이터만 존재하는 것처럼 사용.
s 병행 투명성: 다수의 트랜잭션이 동시에 실현되도 결과는 영향 받지 않음.
s 장애 투명성: 장애에도 불구하고 정확하게 트랜잭션 처리.
- 분산 설계 방법
s 테이블 위치 분산: 테이블을 각기 다른 서버에 분산 배치.
s 분할: 테이블의 데이터를 분할하여 분산. 규칙(완전성, 재구성, 상호 중첩 배제), 수평 분할/ 수직 분할
s 할당: 여러 개의 서버에 생성하는 분산 방법. 중복이 없는 할당(단일 노드에서만 분할이 존재)과 중복이 있는 할당(동일한 테이블은 다른 서버에 복제)
접근 통제
- 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것.
- 접근 통제 기술
임의 접근 통제 기술(DAC, Discretionary Access Control): 데이터에 접근하는 사용자의 신원에 따라 권한을 부여. 통제 권한이 주체에 있어, 주체가 접근 통제 원한을 지정하고 제어할 수 있음. 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받음.
강제 접근 통제 기술(MAC, Mandatory Access Control): 주체와 객체의 등급을 비교하여 권한을 부여하는 방식. 제 3자가 접근 통제 권한을 지정.
- 접근 통제 3요소: 접근 통제 정책, 접근 통제 메커니즘, 접근 통제 보안 모델
- 접근 통제 정책
s 신분 기반 정책: IBP(Individual-Based Policy: 최소 권한 정책), GBP(Group-Based Policy: 복수 주체에 하나의 객체에 대한 허가 부여)
s 규칙 기반 정책: 권한에 근거하여 접근 제한. MLP(Multi-Level Policy: 사용자 및 객체 별로 지정된 분류), CBP(Compartment-Based Policy: 집단별로 지정된 기밀 허가)
s 역할 기반 정책: 주체가 맡은 역할에 근거
- 접근 통제 메커니즘: 접근 통제 목록, 능력 리스트, 보안 등급, 패스워드, 암호화
- 접근 통제 보안모델
s 기밀성 모델(접근): 군대 시스템 등 특수 환경에서 주로 사용. 단순 보안 규칙(자신보다 높은 객체 읽을 수 없음), 스타-보안 규칙(자신보다 낮은 등급의 객체를 쓸 수 없음), 강한 스타 보안 규칙(자신과 다른 등급의 객체를 읽거나 쓸 수 없음)
s 무결성 모델(수정): 데이터의 일관성 유지에 중점을 두어 개발. 단순 무결성 규칙(자신보다 낮은 등급의 객체 읽을 수 없음), 스타 무결성 규칙(자신보다 높은 등급의 객체 정보 쓸 수 없음)
s 접근 통제 모델: 접근 통제 행렬
- 접근 통제 조건
s 접근 통제 메커니즘의 취약점 보완하기 위한 조건.
s 값 종속 통제: 객체의 저장된 값에 따라 다르게 접근 권한 부여.
s 다중 사용자 통제: 다수의 사용자 동시 접근 요구될 때.
s 컨텍스트 기반 통제: 특정 시간, 주소 등에 근거하여 권한 부여.
스토리지
- 대용량의 데이터를 저장하기 위해 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술
- DAS(Direct Attached Storage): 전용 케이블로 직접 연결하는 방식. 속도가 빠르고 설치 운영이 쉽지만 파일 공유 불가능.
- NAS(Network Attached Storage): Ethernet 스위치 이용해서 다른 서버에 접근 가능하여 파일 공유 가능. 접속 증가시 성능 저하 될 수 있음.
- SAN(Storage Area Network): DAS + NAS. 파이버 채널 스위치를 이용하여 네트워크 구성. 처리 속도가 빠르고, 확장성/유연성/가용성이 뛰어남. 높은 트랜잭션 처리에 효과적이지만 비용이 많이 듦.
이중화 (Replication)
- 시스템 오류로 인한 데이터베이스 서비스 중단이나 손상 발생시 이를 복수하기 위해 동일한 데이터베이스를 복제하여 관리하는 것.
- 분류
s Eager 기법: 변경 발생 시 즉시 적용되는 기법.
s Lazy 기법: 트랜잭션이 커밋 되어야 전달되는 기법
- 구성 방법
s 활동-대기 방법: 하나가 활성화 되어 서비스 하고 있으면 다른 디비는 대기하고 있다가 장애가 발생하면 자동으로 서비스 대신 수행. 구성 및 관리가 쉬움.
s 활동-황동 방법: 두개가 서로 다른 서비스를 제공하다가 하나에 문제가 발생하면 다른 하나가 서비스 제공. 구성 및 설정 복잡.
3.3 SQL 응용
SQL
- DDL(Data Define Language, 데이터 정의어)
- DML(Data Manipulation Language, 데이터 조작어)
- DCL(Data Control Language, 데이터 제어어)
DDL
- CREATE SCHEMA 스키마명 AUTORIZATION 사용자;
- CREATE DOMAIN 도메인 명 DEFAULT 기본값 CONSTRAINT 제약조건 명 CHECK(범위값);
- CREATE TABLE 테이블명 (속성명 타입, PRIMARY KEY)
- CREATE VIEW 뷰 명(속성명()) AS SELECT;
- CREATE [UNIQUE] INDEX 인덱스 명 ON 테이블 명 [CLUSTER]; (CLUSTER:동일한 인덱스 값을 그룹으로 묶음)
DROP
- CASCADE: 제거할 요소를 참조하는 모든 개체를 함께 제거.
DCL
- 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용.
GRANT
- 권한 부여를 위한 명령어
- GRANT 권한 리스트 ON 개체 TO 사용자;
- REVOKE 권한 리스트 ON 개체 FROM 사용자; // 취소
DML
- 데이터베이스 사용자가 데이터를 실질적으로 관리할 때 사용되는 언어.
DELETE
SELECT
- Like 연산자: %(모든 문자 대표), -(문자 하나 대표), #(숫자 하나 대표)
- WINDOW 함수
s PARTITION BY(window 함수 적용될 범위), ORDER BY(PARTITION 내의 정렬 기준으로 사용할 속성)
s ROW_NUMBER(): 레코드별 일련 번호 반환
s RANK(): 공동 순위 반영
s DENSE_RANK(): 공동 순위 무시
- GROUP BY ~ HAVING
DISTINCT
JOIN
- INNER JOIN
s Select 테이블명 from 테이블1, 테이블2 where 조건;
s Select 테이블1.속성, 테이블2.속성 From 테이블 1 Natural Join 테이블 2;
s Select 테이블1.속성, 테이블2.속성 From 테이블 1 join 테이블2 Using 조건;
- OUTER JOIN: join 조건에 만족하지 않는 것도 출력
s LEFT OUTER JOIN: 조건에 맞지 않는 좌측 항의 튜플에 널값을 붙여 출력.
s RIGHT OUTER JOIN: 조건에 맞지 않는 우측 항의 튜플에 널값을 붙여 출력.
s FULL OUTER JOIN: 조건에 맞지 않는 튜플 다 출력
- SELF JOIN
3.4 SQL 활용
프로시저
- 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 작업을 수행.
- DECLARE , BEGIN, (CONTROL: 조건문 또는 반복문)END
- 실행: EXECUTE, EXEC, CALL
트리거
- 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL.
- 데이터베이스에 저장되며, 데이터 변경 및 무결성 유지, 로그 메세지 출력 등의 목적으로 사용.
- DCL을 사용할 수 없음.
- DECLARE, EVENT, BEGIN, END
- CREATE [REPLACE] TRIGGER [AFTER/BEFROE][동작 옵션] ON 테이블명 REFRERENCING [NEW/OLD] AS 테이블명
사용자 정의 함수
- 데이터베이스에 저장되어 SELECT, INSERT, DELETE, UPDATE 등 DML문의 호출에 의해 실행.
- 예약어 RETURN을 통해 값을 반환하기 때문에 출력 파라미터가 없음. (입력만 가능, 반환값 1개)
- SELECT를 통한 조회만 가능, 테이블 조작은 할 수 없음.
- DECLARE, BEGIN, (RETURN), END
웹 응용 시스템
- 구조: 사용자 존재하지 않는 이미지입니다. [웹 서버 존재하지 않는 이미지입니다. WAS ] 존재하지 않는 이미지입니다. DBMS
JDBC
- JAVA 언어로 다양한 종류의 데이터베이스에 접속하고 SQL문을 수행할 때 사용되는 표준 API
- JAVA SE에 포함되어 있으며, DBMS에 대한 드라이버 필요.
ODBC
- 데이터베이스에 접근하기 위한 표준 개방형 API. 개발 언어에 관계 없이 사용할 수 있음.
- 마이크로소프트에서 출시.
- DBMS 종류를 몰라도 됨.
동적 SQL
- 문자열 변수에 담아 동적 처리. NVL 함수 없이 로직을 통해 SQL 작성.
- 실행 속도 느리고 사전 검사 불가능.
- 다양한 조건을 첨가하는 등 유연한 개발 가능.
절차형 SQL 테스트
- 단문 SQL 테스트: SQL 코드를 직접 실행한 후 결과를 확인.
s DDL: DESC/ DESCRIBE
s DML: SELECT 문
s DCL: SHOW GRANTS FOR ‘사용자@호스트’
- 절차형 SQL 테스트: 테스트 전에 생성을 통해 구문 오류나 참조 오류의 존재 여부를 확인. 디버깅을 통해 로직 검증.
s SQL명령어: SHOW ERROR
s 변화를 줄수 있는 SQL문 주석처리 후 출력: DBMS_OUTPUT.ENABLE; DBMS_OUTPUT.PUTLINE(데이터)
ORM(Object-Relational Mapping)
- 객체와 관계형 데이터베이스의 데이터를 연결하는 기술.
- 가상의 객체지향 데이터베이스를 만들어 프로그래밍 코드와 데이터를 연결한다.
- 프로그래밍 코드/DB와 독립적이므로 재사용 및 유지보수가 용이.
- ORM 프레임워크
s JAVA: JPA, Hibernate, EclipseLink, DataNucleus, Ebean
s C++: ODB, QxOrm
s Python: Django, SQLAlchemy, Storm
s iOS: DatabaseOjects, Core Date
s .NET: DatabaseObjects, NHibernate, Daper
s PHP: Doctrine, Propel, RedBean
쿼리 성능 최적화
- 데이터 입출력 애플리케이션의 성능 향상을 위해 코드 최적화 하는 것.
- APM(성능측정 도구)를 사용하여 최적화 할 쿼리 선정.
- 최적화할 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL 코드와 인덱스 재구성.
3.5 데이터 전환
데이터 전환
- 운영 중인 기존 정보 시스템에 축적되어 있는 데이터를 추출하여 새로 개발할 정보 시스템에 맞게 변환후 적재하는 과정. (ETL: Extraction, Transformation, Loading)
- 데이터 이행, 데이터 이관
- 데이터 전환 계획서
'2021 정보처리기사 > 필기 요약' 카테고리의 다른 글
[정보처리기사 필기] 5과목 키워드 정리 (0) | 2021.04.06 |
---|---|
[정보처리기사 필기] 4과목 키워드 정리 (0) | 2021.04.06 |
[정보처리기사 필기] 2과목 키워드 정리 (0) | 2021.04.06 |
[정보처리기사 필기] 1과목 키워드 정리 (3) | 2021.04.06 |