[2020 개정 정보처리기사] 오답같지만 사실 정답인 것들의 모음

2020. 8. 13. 11:51컴퓨터언어

728x90
반응형

 

2과목 소프트웨어 개발

4장 애플리케이션 테스트 관리

<애플리케이션 테스트의 기본 원리>

테스트는 개발자와 관계없는 별도의 팀에서 수행해야 한다.


3과목 데이터베이스 구축

1장 논리 데이터베이스 설계

 

<개체>

개체는 컴퓨터가 취급하는 파일의 레코드에 대응된다.

개체는 독립적으로 존재하거나 그 자체로서도 구별 가능하다.

하나의 개체는 하나 이상의 속성을 가진다.


<속성>

속성으로 지정할 후보는 최대한 많이 선택하는 것이 좋다.

속성명은 웹/클라이언트/서버 등 어떤 환경에서든 사용자 인터페이스(UI)에 나타난다.

개체명은 속성명으로 사용할 수 없다.

하나의 속성은 하나의 개체에만 존재한다.


<식별자>

주식별자와 보조식별자 모두 개체를 유일하게 식별할 수 있어야 한다.

주식별자는 기본키, 보조식별자는 유니크인덱스로 지정되어 사용한다.

대리식별자는 최대한 범용적인 값을 사용한다.


<관계형 데이터베이스>

관계형 데이터베이스는 성능이 다소 떨어진다.


<정규형>

이상현상은 데이터(튜플)의 종속이 아니라 속성(필드)간 종속 또는 데이터(튜플)의 중복으로 인해 발생하는 것이다.


2장 물리 데이터베이스 설계

<테이블>

테이블은 논리 데이터 모델의 개체(속성x)에 대응하는 객체이다.

테이블의 구성 요소인 컬럼은 데이터 타입과 길이로 정의된다.

 

<CRUD 분석>

프로세스에는 C 또는 R이 없을 수 있다. 따라서 CRUD 매트릭스 검토사항이 아니다.

 

<뷰>

뷰는 여러 사용자의 상이한 응용이나 요구를 지원해준다.

뷰 위에 또 다른 뷰를 정의할 수 있다.

뷰는 기본 테이블 검색 연산과 동일하게 별다른 제약이 없다.

 

<인덱스>

비트맵 인덱스는 분포도(선택성)가 낮을수록(좋을수록, 적중이 덜 될수록, 10~15%) 효율적이다.

인덱스 대상 컬럼은 ORDER BY, GROUP BY, UNION이 빈번한 것을 대상으로 한다.

인덱스 대상 컬럼은 수정이 빈번하지 않은 것을 대상으로 한다.

인덱스들이 자주 조합되어 사용되는 경우 하나의 결합 인덱스로 생성한다.

인덱스의 범위는 작게 한다.

랜덤 액세스가 빈번히 발생하는 테이블을 인덱스 테이블로 선정한다.

 

<클러스터링>

분포도가 넓은 테이블

대량의 범위를 자주 조회하는 테이블

입력, 수정, 삭제가 자주 발생하지 않는 테이블

자주 조인되는 테이블

ORDER BY, GROUP BY, UNION이 빈번한 테이블

단일 테이블 클러스터링은 처리 범위가 넓은 경우에 사용되고, 다중 테이블 클러스터링은 조인이 많이 발생하는 경우에 사용된다.

 

<분산데이터베이스 설계>

분산데이터베이스는 사이트 간의 데이터들이 서로 오류가 발생할 가능성이 높아진다.

 

<백업>

물리백업(운영체제)이 논리백업(DBMS)보다 빠르다.

 

<데이터 변환>

서브타입으로 변환하면 테이블 스캔시간은 짧아지고 속도는 느려진다.

슈퍼타입을 기준으로 하나의 테이블로 통합하면 여러 테이블을 조인하지 않아도 되므로 수행 속도가 빨라진다.

서브타입을 기준으로 서브타입들을 개별적인 테이블로 변환하면 처리할 때마다 서브타입 유형을 구분할 필요가 없다.

슈퍼타입과 서브타입을 각각의 테이블로 변환하면 테이블 사이에는 1:1 관계가 형성된다.

 

<SQL>

INSERT, DELETE는 한 번에 한 개의 테이블만 다룰 수 있다. 튜플은 여러 개 가능

 

<프로시저, 사용자 정의 함수>

프로시저도 단일값을 반환할 수 있으며, 1개 이상도 가능하다.

사용자 정의 함수는 SELECT로 조회만 가능하다.

구분 프로시저 사용자 정의 함수
반환값 없거나 1개 이상 가능 1개
파라미터 입/출력 모두 가능 입력만 가능
사용 가능 명령문 DML, DCL SELECT
호출 프로시저, 사용자 정의 함수 사용자 정의 함수
사용방법 실행문 DML에서 속성명 자리에 배치

 

<트리거>

트리거는 프로시저와 다르게 DCL을 사용할 수 없다.

트리거가 반응하는 이벤트는 DML과 관계있다.

 

<정적/동적 SQL>

동적 SQL은 SQL 코드가 상황에 따라 수시로 변화하므로 프리컴파일이 불가능하다.

 

<DBMS 접속기술>

ODBC와 JDBC 모두 드라이버가 필요하다.

 

<SQL 테스트>

단문 SQL은 DDL, DML, DCL이 포함되어 있는 SQL과 TCL을 직접 실행한 후 결과를 확인한다.

DDL : DESC(RIBE)

DML : SELECT

DCL : SELECT or SHOW

 

절차형 SQL(프로시저, 사용자 정의 함수, 트리거)은 디버깅을 통해 검증한다.

절차형 SQL은 오류 및 경고 메시지가 상세히 출력되지 않으므로 SHOW 명령어를 활용해야 한다.

DB에 변화를 줄 수 있는 절차형 SQL문은 주석처리하며, Oracle은 DBMS_OUTPUT, MySQL은 SELECT를 이용하여 출력한다.

절차형 SQL은 DBMS에 따라 변수 또는 값의 화면 출력이 다르다.

 

<데이터 전환>

데이터 전환 계획서 작성 시, 목표는 간략히, 일정과 역할은 상세히 작성한다.

전환에 많은 시간이 소요되는 작업은 사전에 미리 진행한다.

728x90
반응형