1-1. 논리 데이터모델 검증
데이터 모델링:
- 기업의 정보 구조를 실체(Entity)와 관계(Relation)를 중심으로 명확하고 체계적으로 표현하여 문서화하는 기법을 말한다.
- 목적 - 연관 조직의 정보요구에 대한 정확한 이해를 할 수 있고 사용자, 설계자, 개발자 간에 효율적인 의사소통 수단을 제공한다.
- 특성 - 데이터 중심 분석을 통한 업무 흐름 파악이 용이하고 데이터 무결성을 보장할 수 있다. 또한 데이터의 공유를 통해서 중복을 제거하고 일관성 있는 정보를 제공받을 수 있다.
데이터 모델링 절차:
- 개념 데이터 모델링 - 전사의 정보요건을 표현한 상위수준의 모델
- 논리 데이터 모델링 - 개념모델로부터 업무영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델
- 물리 데이터 모델링 - 설계단계에서 시스템의 설계적 및 정보 요건을 정확하고 완전하게 표현한 모델
정규화(Normalization):
- 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념
- 종류 - 제1정규화, 제2정규화, 제3정규화, 보이스-코드 정규화 제4정규화, 제5정규화
이상현상(Anomaly)
- 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상
- 삽입, 삭제, 갱신 이상현상이 있다.
문제1: 다음은 데이터베이스 설계(모델링) 과정을 간략히 표현한 것이다. 괄호 안에 들어갈 내용을 순서대로 나열하시오.
요구사항 분석 -> ( ) -> ( ) -> ( ) -> 구현
정답:
개념적 설계 - 논리적 설계 - 물리적 설계
2-1. 물리 데이터모델 설계
반정규화(Denormalization)
- 정규화를 수행하면 종속성, 활용성은 향상되지만, 수행속도가 증가하는 경우가 발생하여 이를 극복하기 위해 성능에 중점을 두어 정규화하는 방법을 말한다.
- 유형 - 중복 테이블 추가, 테이블 조합, 테이블 분할, 테이블 제거, 컬럼의 중복화
문제1: 데이터베이스 성능 개선과 관련하여 '데이터베이스 반정규화'란 무엇인지 설명하시오.
정답:
시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로, 의도적으로 정규화 원칙을 위배하는 행위
2-2. 물리 데이터저장소 구성
테이블 제약조건
- Delete Constraint - 참조된 기본키의 값이 삭제될 경우의 처리내용을 정의한다.
- Update Constraint - 참조된 기본키의 값이 수정될 경우의 처리내용을 정의한다.
인덱스 설계
- 인덱스 적용 기준 - 인덱스 칼럼의 분포도가 10 ~ 15% 이내인 경우
- 분포도 = ( 1 / 칼럼값의 종류) X 100
= ( 칼럼값의 평균 Row수 / 테이블의 총 Row수 ) X 100
뷰 설계
- 뷰 속성
- REPLACE - 뷰가 이미 존재하는 경우 재생성
- FORCE - 기본 테이블의 존재 여부에 관계 없이 뷰 생성
- NOFORCE - 기본 테이블이 존재할 때 만 뷰 생성
- WITH CHECK OPTION - Sub-Query 내의 조건을 만족하는 행만 변경
- WITH READ ONLY - DML 작업 불가
클러스터 설계
- 고려사항
- Union, Distinct, Order by, Group by가 빈번한 칼럼이면 고려해 보아야 한다.
- 수정이 자주 발생하지 않는 칼럼은 고려 대상이다.
파티션 설계
- 범위분할(Range Partitioning) - 지정한 열의 값을 기준으로 분할
- 해시분할(Hash Partitioning) - 해시 함수에 따라 데이터를 분할
- 조합분할(Composite Partitioning) - 범위분할에 의해 데이터를 분할한 다음 해시 함수를 적용하여 다시 분할
디스크 구성 설계
- 정확한 용량을 산정하여 디스크 사용의 효율을 높인다.
- 업무량이 집중되어 있는 디스크를 분리하여 설계함으로서 집중화된 디스크에 대한 입출력 부하를 분산한다.
문제1: 다음은 클러스터 설계 시 고려 사항이다. 괄호 ( ) 안에 들어갈 단어를 선택하여 작성하시오.
UNION, DISTINCT, ORDER BY, GROUP BY가 ( 드문 / 빈번한 ) 칼럼이면 검토 대상이다.
수정이 자주 ( 발생하는 / 발생하지 않는 ) 칼럼은 검토 대상이다.
정답:
1. 빈번한
2. 발생하지 않는
3-1. 데이터 조작 프로시저 개발
데이터 정의어(DDL : Data Definition Language)
- 데이터를 저장하고 있는 테이블 등의 구조를 생성하고 변경하기 위하여 사용되는 명령어
- 종류 - CREATE, DROP, RENAME, ALTER, TRUNCATE
데이터 조작어(DML : Data Manipulation Language)
- 데이터베이스에 있는 데이터를 변경하거나 검색하기 위하여 사용되는 명령어
- 종류 - SELECT, INSERT, UPDATE, DELETE
데이터 제어어(DCL : Data Control Language)
- 사용자별로 데이터베이스에 접근할 수 있는 권한을 부여하거나 회수하는 명령어들을 말한다.
- 종류 - ROLE, GRANT, REVOKE
트랜잭션 제어어(TCL : Transaction Control Language)
- 트랜잭션의 DML작업단위를 제어하는 명령어
- 종류 - COMMIT, ROLLBACK, SAVEPOINT
데이터 검색어(SELECT)
- 문법 - ex) SELECT * FROM '학생' WHERE '이름' = '모히또';
- DISTINCT - 중복되는 행을 제거
- * - 테이블의 모든 column을 출력
- alias - 해당 column에 대해서 다른 이름을 부여할 때 사용
- WHERE - 조건을 만족하는 행들만 검색
- GROUP BY - 그룹핑하고자 하는 단위 지정
- HAVING - 그룹핑한 결과값에 대한 조건 검색
- ORDER BY - 질의 결과 정렬을 위한 옵션(ASC: 오름차순, DESC : 내림차순)
문제1: 데이터 제어어(DCL) 중 GRANT 에 대하여 설명하시오.
정답:
데이터베이스 사용자에게 사용 권한을 부여하는데 사용하는 명령어
3-2. 데이터 조작 프로시저 테스트
PL/SQL 테스트
- 메시지를 버퍼에 저장하고 버퍼로부터 메시지를 읽어오기 위한 인터페이스 패키지 DBMS_OUTPUT을 코드에 포함한다.
- DBMS_OUTPUT.DISABLE - 메시지 버퍼 내용 삭제
- DBMS_OUTPUT.ENABLE - 메시지 버퍼 내용 할당
- DBMS_OUTPUT.PUT - 메시지의 마지막 라인 끝에 신규라인 문자(EOL)가 추가
- DBMS_OUTPUT.GET_LINE - 한 번 호출될 때마다 하나의 라인만을 읽어옴
- DBMS_OUTPUT.GET_LINES - 지정된 라인을 모두 읽어들임
문제1: DBMS_OUTPUT 패키지의 개념을 간략히 서술하시오.
정답:
메시지를 버퍼에 저장하고 버퍼로부터 메시지를 읽어오기 위한 인터페이스를 제공하는 패키지이다.
'Challenge > 자격증' 카테고리의 다른 글
제2302회 리눅스마스터 1급 1차(B형) 가채점/가답안 (1) | 2023.09.10 |
---|---|
리눅스 마스터 1급 필기(1차)&실기(2차) 대비 요약 - 완전판 (0) | 2023.08.10 |
1. 정보처리기사 '현행 시스템 분석 및 요구사항 확인' 키워드 정리 및 문제 (1) | 2022.04.10 |
2022년도 3월 26일(토) 컴활 1급 필기시험 합격 후기 (1) | 2022.03.27 |