251. SQL 부분범위 처리
- SQL 부분범위 처리의 개념
- 조건을 만족하는 전체의 범위를 처리하는 것이 아니라 일단 운반단위까지만 처리하여 추출하는 처리 방식
- SQL 부분범위 처리의 목적
- 스캔 범위를 나누어서 운반 단위를 가능한 빨리 채워서 처리 속도 향상
- 일부 부분만 처리하고서도 Optimizer의 특성을 이용하여 정확한 결과 도출
- 처리 범위가 넓더라도 빠른 속도를 얻도록 하기 위함
- SQL 부분범위 처리 적용 원칙
- 부분범위처리의 자격
- 논리적으로 일부분만 처리한 결과가 전체범위를 읽어 추가적인 가공을 하지 않고도 처리한 결과와 동일하다면 자격이 있음
- 부분범위처리를 할 수 없는 경우
- Order By가 사용된 경우
- UNION, MINUS, INTERSECT 등 조회 후 추가 연산을 사용한 경우
- 부분범위처리를 할 수 없는 경우의 대체
- Order by : Index를 이용하여 Order by를 하지 않아도 되는 형태로 대체
- MINUS, INTERSECT : EXISTS, NOT EXISTS, IN, NOT IN 등으로 대체
- 부분범위처리의 자격
253. 사용자 권한 제어
- 무결성
- COMMIT : 수행된 결과를 실제 물리적 디스크로 저장
- ROLLBACK : 명령 수행 실패를 의미하며 수행된 결과를 원복시킴
- SAVEPOINT (checkpoint) : 저장점 지정, 지정된 저장점부터 현재까지 일부만 ROLLBACK 가능
- 데이터 보안
- GRANT : 데이터베이스 사용자에게 사용 권한 부여
- REVOKE : 데이터베이스 사용자에게 부여된 사용 권한 취소
254. 뷰
- 뷰의 개념
- 물리적으로 구현되는 테이블이 아니며 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 테이블로부터 유도된, 이름을 가지는 가상 테이블
- FROM 절에 있는 하나의 뷰를 통해 뷰를 구성하는 복수의 테이블을 대체하는 단순성에 그 의의가 있음
- 뷰의 장단점
- 장점
- 논리적 독립성 제공 : 뷰는 논리 테이블 (테이블의 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 됨)
- 사용자 데이터 관리 용이 : 복수 테이블에 존재하는 여러 종류의 데이터에 대해 단순한 질의어 사용 가능
- 데이터 보안 용이 : 중요 보안 데이터를 저장 중인 테이블에는 접근 불허하고, 해당 테이블의 일부 정보만 뷰를 통해 허용하는 방식으로 데이터에 대한 접근 제어 가능
- 단점
- 뷰 자체 인덱스 불가 : 인덱스는 물리적으로 저장된 데이터를 대상으로 하기에 논리적 구성인 뷰 자체는 인덱스를 가지지 못함
- 뷰 정의 변경 불가 : 뷰의 정의를 변경하려면 뷰를 삭제하고 재생성
- 데이터 변경 제약 존재 : 뷰의 내용에 대한 삽입, 삭제, 변경 제약
- 장점
- 뷰의 특징
- 저장 장치 내에 물리적으로 존재하지 않음 (가상 테이블)
- 데이터 보정 등 임시적인 작업을 위한 용도로 사용
- 기본 테이블과 같은 형태의 구조로 조작이 거의 비슷
- 삽입, 내용 갱신에 제약
- 논리적 독립성 제공
- 독자적인 인덱스를 가질 수 없음
- Create를 이용하여 뷰를 생성
- 필요한 데이터만 골라 뷰를 이용하여 처리
255. 데이터 모델에 표시할 요소
- 데이터 구조 (Structure) : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현
- 연산 (Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세, 데이터베이스를 조작하는 기본 도구
- 제약조건 (Constraint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
256. 함수종속성의 유형, 정규화의 유형
- 함수종속성 유형
- 완전 함수 종속
- 일반 속성이 식별자 전부에 종속
- 부분 함수 종속
- 일반 속성이 식별자 일부에 종속
- 제 2정규화 필요
- 이행 함수 종속
- 일반 속성 간 함수적 종속
- 제 3정규화 필요
- 결정자 함수 종속
- 결정자가 후보키가 아닌 경우 존재, 후보키에 종속자 존재
- 보이스/코드(BCNF) 정규화 필요
- 완전 함수 종속
- 정규화의 유형
- 제1정규형(1NF) : 릴레이션 R의 모든 속성 값이 원자값을 가지는 릴레이션
- 제2정규형(2NF) : 릴레이션 R이 제1정규형이고 기본키가 아닌 속성이 기본키에 완전 함수 종속일 때
- 제3정규형(3NF) : 릴레이션 R이 제2정규형이고 기본키가 아닌 속성이 기본키에 비이행적 non-transitive으로 종속할 때 (직접 종속)
- 보이스 / 코드 정규형(BCNF) : 릴레이션 R에서 함수 종속성 X -> Y가 성립할 때 모든 결정자 X가 후보키 일 때
- 제4정규형(4NF) : 릴레이션 R에서 MVD A->>B가 존재할 때 R의 모든 애트리뷰트들이 A에 함수종속(FD)이면 R은 4NF (즉 R의 모든 애트리뷰트 X에 대해 A->X이고 A가 후보키)
- 제5정규형(5NF) : 릴레이션 R에 존재하면 모든 조인 종속이 R의 후보키를 통해 성립되면, R은 5NF
259. 관계 데이터 모델의 구성
- 속성 (Attributes) : 개체의 성질, 분류, 식별, 수량, 상태 등을 나타내는 세부 정보의 관리 요소로서 개체를 구성하는 항목
- 튜플 (Tuple) : 릴레이션의 행을 구성하는 속성 값들의 집합, 행/레코드와 같은 개념
- 차수 (Degree) : 속성들의 수
- 카디널리티 (Cardinality) : 튜플들의 수
- 도메인 (Domain) : 하나의 속성이 취할 수 있는 같은 타입의 원자 값들의 집합, 표현되는 속성 값의 범위를 나타냄
- 릴레이션 인스턴스 (Relation Instance) : 릴레이션의 어느 시점에 들어 있는 튜플들의 집합 (동적인 성질), 튜플들의 집합으로 현재 들어가 있는 실제 데이터를 지침
260. OLAP 연산
- Pivot : 차원테이블을 바꿔가면서 다양한 관점으로 분석 수행
- Slicing & Dicing : 차원별로 큐브를 수직, 수평으로 잘라서 분석
- Drill-up & down : 큐브를 상위 혹은 하위 레벨로 조회
- Drill-Through : 원천 데이터 추적, ROLAP만 가능
- 보고서 / 차트 생성 : 다양한 형태의 보고서, 차트 생성
262. 논리주소(2, 176)
- 논리 주소 2의 시작번호에서 176이 떨어진 물리 주소를 의미
- 논리 주소 2의 시작 주소는 222, 해당 시작 주소에서 176번째 물리 주소는 222 + 176 = 398
- 세그먼트 번호 2의 길이인 198(바이트)보다 더 멀리 떨어진 주소를 요청하면 에러가 발생
세그먼트번호 | 시작 주소 | 길이(바이트) |
0 | 670 | 248 |
1 | 1752 | 422 |
2 | 222 | 198 |
3 | 996 | 604 |
266. 공통모듈의 재사용
- 설계 측면
- 모듈 : 설계 시 관련이 있는 기능을 한 부분에 모아 공통 라이브러리 형태로 사용
- 컴포넌트 : 바이너리 형태의 재사용 가능한 실행 프로그램으로 인터페이스에 의해 호출하여 로직을 수행할 수 있는 모듈
- 서비스 : Loosely-coupled 형태의 서비스를 제공하는 모듈 단위
- 구현 측면
- 매크로 : 프로그램 구현 시 반복되는 부분을 특정 이름으로 부여하고 이름을 호출하여 실행할 수 있도록 하는 프로그래밍 기법, 전처리기가 매크로가 사용된 모든 곳에 코드를 대체
- 함수 : 프로그램 구현 시 커다란 프로그램의 일부 코드로 특정한 작업을 함수로 구현하고 상대적으로 다른 코드에 비해 독립적인 모듈임
- 인라인 : 프로그램 구현 시 반복되는 부분을 특정 이름을 부여해 놓고 이름을 호출하여 실행할 수 있도록 하는 프로그램 기법, 컴파일러는 인라인이 사용된 모든 곳에 코드를 복사
269. 결합도
- 자료 결합도 (Data Coupling) : 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 상호 작용이 일어남
- 스탬프 결합도 (Stamp Coupling) : 모듈 간의 인터페이스로 배열이나 오브젝트, 스트럭처 등이 전달되는 경우
- 제어 결합도 (Control Coupling) : 단순처리할 대상인 값만 전달하는 것이 아니라 어떻게 처리해야 한다는 제어요소가 전달되는 경우
- 외부 결합도 (External Coupling) : 모듈에서 외부로 선언한 데이터(변수)를 다른 모듈에서 참조할 때의 경우로 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 때 주로 발생
- 공통 결합도 (Common Coupling) : 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용
- 내용 결합도 (Content Coupling) : 다른 모듈 내부에 있는 변수나 기능을 또 다른 모듈에서 사용하는 경우
270. 환경
- 환경 변수 확인 및 설정
- 환경 변수 : 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임
- Windows 환경
- SET 명령어를 변수 없이 사용하면 모든 환경 변수와 그에 따른 모든 값을 보여 줌
- $SET 변수 = 값 : Windows의 특정한 값에 변수를 설정하려면 다음과 같이 사용
- $SET 변수 = : 해당 변수 자체가 지워짐
- Unix나 Linux 환경
- env, setenv, printenv 명령어 : 변수 없이 사용하면 모든 환경 변수와 그에 따른 모든 값을 보여줌
- env, set : 환경 변수를 설정하는데 쓰임, 자주 쉘명령어에 직접 통합되기도 함
- printenv : 변수 이름을 명령어에 단일 변수로 주면 하나의 단일 변수를 인쇄하는데 쓰임
- Unix 명령어 사용 예시
- $export 변수=값 : Bourne, bash, 다른 쉘 등에서 쓰임
- $setenv 변수 값 : csh과 관련된 쉘에서 쓰임
- env, setenv, printenv 명령어 : 변수 없이 사용하면 모든 환경 변수와 그에 따른 모든 값을 보여줌
273. 응집도
- 응집도의 개념
- 모듈 내부의 구성 요소 간 관계의 밀접 정도로 평가
- 응집도가 높을수록 필요한 요소들로 구성되어 짐, 낮을수록 요소들 간의 관련성이 적은 요소들로 구성
- 품질 측면의 단계 : 가장 낮은 품질 - 우연적 < 논리적 < 시간적 < 절차적 < 통신척 < 순차적 < 기능적 - 가장 높은 품질
- 응집도의 종류
- 기능적 응집도 (Functional Cohesion) : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행
- 순차적 응집도 (Sequential Cohesion) : 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용하는 경우
- 통신적 응집도 (Communication Cohesion) : 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우
- 절차적 응집도 (Procedural Cohesion) : 모듈이 다수의 관련 기능을 가질 때, 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행하는 경우
- 시간적 응집도 (Temporal Cohesion) : 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리하는 경우
- 논리적 응집도 (Logical Cohesion) : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
- 우연적 응집도 (Coincidential Cohesion) : 모듈 내부의 각 구성 요소들이 연관이 없는 경우
274. 언어별 변수 타입 및 크기
구분 | 타입 | 크기 | 범위 |
JAVA | byte | 1byte | -128 ~ 127 |
short | 2byte | -32,768 ~ 32,787 | |
int | 4byte | -2,147,483,648 ~ 2,147,483,647 | |
long | 8byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
C / C++ | short | 2byte | -32,768 ~ 32,767 |
usigned short | 2byte | 0 ~ 65,535 | |
int | 2byte (or 4byte) | -32,768 ~ 32,767 (or -2,147,483,648 ~ 2,147,483,647) | |
usigned int | 2byte (or 4byte) | 0~65,535 (or 0 ~ 4,294,967,295) | |
long | 4byte | -2,147,483,648 ~ 2,147,483,647 | |
usigned long | 4byte | 0~4,294,967,295 |
275. Whell 스크립트 해석
- who : 현재 시스템에 로그인한 유저의 목록
- | (파이프) : 앞의 who 명령어의 출력 결과를 뒤의 grep 명령어로 전달
- grep : 앞 who 명령문의 결과 중 wow 유저가 로그인 하면 그 결과를 필터링 하여 출력
- sleep : 명령문 뒤의 숫자(초)만큼 수행을 대기
277. 파이썬의 리스트 슬라이싱
- 형식 : 리스트명[초기 인덱스 : 종료 인덱스 : 증감값]
- 리스트의 인덱스 : 0번째부터 시작, 리스트 안의 항목 번호
- [a:b] : a번째 항목부터 b번째 항목 바로 전까지만 추출
- 초기 또는 종료 인덱스를 생략할 경우 맨 앞 또는 맨 뒤까지 추출
- a[:x:y] : a라는 리스트에서 0번째 항목부터 x-1번째 항목까지 y칸 간격으로 추출
279. PHP 연산자의 종류
- 산술 연산자 : +, -, *, **, /, %
- 관계 연산자 : ==, ===, !=, <>, !==, >, <, >=, <=
- 대입 연산자 : =, +=, -=, *=, /=, %=
- 증가/증감 연산자 : ++, --
- 논리 연산자 : and, or, xor, &&, ||, !
- 문자열 연산자 : . , .=
- 비트 연산자 : &, |, ^, ~, <<, >>
- 에러 제어 연산자 : @
283. 맵리듀스
- 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어 프레임워크
- 페타바이트 이상의 대용량 데이터를 신뢰도가 낮은 컴퓨터로 구성된 클러스터 환경에서 병렬처리를 지원하기 위해서 개발
- 함수형 프로그래밍에서 일반적으로 사용되는 Map과 Reduce라는 함수 기반으로 주로 구성
284. 접근통제
- 접근통제의 개념
- 보안 정책에 따라 접근 객체 (시스템 자원, 통신 자원 등)에 대한 접근 주체 (사용자, 프로세스 등)의 접근 권한 확인
- 접근통제 정책의 유형
- 임의 접근 통제 (DAC)
- 시스템 객체에 대한 접근을 사용자 개인 또는 그룹의 식별자를 기반으로 제한하는 방법
- 주체와 객체의 신분 및 임의적 접근 통제 규칙에 기초하여 객체에 대한 주체의 접근을 통제하는 기능
- 통제 권한이 주체에 있음
- 통제 권한을 배분하여 제어할 수 있음
- 강제 접근 통제 (MAC)
- 정보시스템 내에서 어떤 주체가 특정 객체에 접근하려 할 때 양쪽의 보안 레이블에 기초하여 높은 보안 수준을 요구하는 정보(객체)가 낮은 보안 수준의 주체에게 노출되지 않도록 접근을 제한하는 통제 방법
- 통제 권한이 제3자에게 있음
- 주체는 접근 통제 권한과 무관
- 역할 기반 접근 통제 (RBAC)
- 사용자가 주어진 역할에 대한 접근 권한을 부여받는 방식
- 사용자가 바뀌어도 역할에는 변함없음
- DB 작업 권한 통제
- 운영체제 작업 권한 통제
- 임의 접근 통제 (DAC)
295. 소프트웨어 비용 추정모형, PERT
- 소프트웨어 비용 추정 모형의 종류 : COCOMO, Putnam, Function-Point
- PERT (프로젝트 일정 관리 기법)
- 프로젝트 지연을 방지하고 계획대로 진행될 수 있게 일정을 계획하는 것
- 대단위 계획의 조직적인 추진을 위해 자원의 제약 하에 적게 사용하면서 초단 시간 내 계획 완성을 위한 프로젝트 일정 관리 방법
299. CMM 모델
- CMM 모델
- 조직의 프로세스에 대한 가이드이자 기준
- '능력'과 '성숙도'로 조직의 프로세스를 측정하고 평가하는 모델의 통합 버전인 프로세스 개선 성숙도 모델
- 시스템과 소프트웨어 영역을 하나의 프로세스 개선 툴로 통합시켜 기업의 프로세스 개선 활동에 광범위한 적용성을 제공하는 모델
- 기존 CMM에 프로젝트 관리, Procurement, 시스템 엔지니어링 등의 요소를 추가한 모델
- CMM 모델 레벨
- 초기 단계 : 프로세스 없음, 예측/통제 불가능
- 관리 단계 :규칙화된 프로세스, 기본적인 프로젝트 관리 체계 수립
- 정의 단계 : 표준화된 프로세스, 조직 차원이 표준 프로세스를 통한 프로젝트 지원
- 정량적 관리 단계 : 예측 가능한 프로세스, 정량적으로 프로세스가 측정 / 통제됨
- 최적화 단계 : 지속적인 개선 프로세스, 프로세스 개선 활동
'정보처리기사 > 문제풀이' 카테고리의 다른 글
[정보처리기사 필기] 2022 기사패스 정보처리기사 기출문제 상세풀이 800제 : 351 ~ 400 오답정리 (0) | 2025.04.10 |
---|---|
[정보처리기사 필기] 2022 기사패스 정보처리기사 기출문제 상세풀이 800제 : 301 ~ 350 오답정리 (0) | 2025.04.09 |
[정보처리기사 필기] 2022 기사패스 정보처리기사 기출문제 상세풀이 800제 : 201 ~ 250 오답정리 (0) | 2025.04.07 |
[정보처리기사 필기] 2022 기사패스 정보처리기사 기출문제 상세풀이 800제 : 151 ~ 200 오답정리 (0) | 2025.04.02 |
[정보처리기사 필기] 2022 기사패스 정보처리기사 기출문제 상세풀이 800제 : 101 ~ 150 오답정리 (0) | 2025.04.01 |