데이터베이스
저장된 데이터와 그 데이터의 메타데이터(=데이터 사전, 시스템 카탈로그, 데이터 구조)를 포함
Shared Data 공용 데이터
Stored Data 저장 데이터
Operational Data 운영 데이터
Integrated Data 통합 데이터
데이터베이스 회복
- 갱신 중 고장나도 일관성을 유지하는 기능
- Restart : DB 재가동시 수행
- Commit : 하나의 논리적 단위에 대한 작업이 끝 + 일관성 상태이면 관리자에게 연산 완료를 알림
- Abort : 실패 후 실행 이전으로 복귀된 상태
- REDO 는 로그를 이용한 재실행, UNDO는 신뢰성을 잃어버린 경우 변경 취소
JAVA 코드 해석
- Int a = new int[3] : a는 int타입 3개이다. = a.length가 3이다.
- 계산식 이해 필요
SQL
- NULL값 확인시에는 비교연산자를 사용하지 않음
- 절차형 SQL = DECLAER , BEGIN , END
- 집계성 SQL = Aggregation 집계 함수 + Group 그룹 함수 + Window 윈도우 함수
- 집계함수는 GROUP BY와 사용되고 종류 중 COUNT(*)만 NULL을 포함함
- 윈도우 함수는 행간 관계 정의 목적으로 분석함수, 순위함수라고도 불림
- CUM_DIST() = 누적 백분율 도출 , RANK() = ORDER BY절과 사용 , LEAD() = 파티션 이후 행값 도출, LANK(), LAG()
SQL 부분처리
- 스캔범위를 나눠서 빠른 처리 속도 실현
- 부분처리가 안되는 경우 대체 : MINUS, INTERSECT를 (NOT)/EXISTS, (NOT)/IN로 기입
사용자 정의함수
- 매개변수를 받음, 복잡 계산 수행 후 동작 결과를 반환
- 파라미터를 ()로 정의
- 데이터타입을 RETURN으로 정의 (필수적으로 RETURN해야 함)
INDEX 생성
- 뷰와 동일하게 CREATE, DROP 사용
- CREATE [UNIQUE] INDEX <인덱스명> ON <테이블명><컬럼>
해싱
- 신속 검색을 위해 저장 위치에 직접 접근하는 방식
- 해싱 충돌 해결법 : 선형 개방 주소법(충돌지에서 차례대로 검색하여 최초 빈 버킷에 할당) , 체인법(별도 버킷 연결), 다중 해싱(디렉토리 확장)
- 용어
- 버킷 : 동일 해시 주소를 갖는 메모리 블록
- 슬롯 : 1개 해시 레코드를 저장하는 공간으로 모이면 버킷됨
- Collision 충돌 : 2개 이상 데이터가 같은 해시 주소를 가짐
- Synonyms 동거자 : 같은 주소로 변환시키는 모든 레코드, 충돌발생한 레코드 집합
- 오버플로우 : 저장 공간이 없는 상태
캐리 : 최상위비트인 MBS에서 그 위 비트로 자리올림이 발생하는 것
- 양수끼리 더할 떄 자리올림 발생 = 오버플로 유발
버스 대역폭 : 버스클록Hx * 버스폭bit
시스템 소프트웨어
- 응용소프트웨어와 구분 필요
- OS 운영체제 + 어셈블러 + 컴파일러 + 인터프린터 + Preprocessor 전처리기 + 링커(독립) + 로더(Allocation&Linking&Relocation&Loading)
조인
- 논리적조인
- 내부조인 = 동등조인, 자연조인(모든 컬럼 비교 후 같은 컬럼명+같은값이면 추출), 교차조인
- 외부조인
- 셀프조인 = 테이블 내
- 물리적 조인 : 옵티마이저에 의한 내부적 발생 결합
집합 연산자
- 조인과의 차이 : 조인은 두개이상의 테이블과 결합하여 검색이 목적
- 집합 연산자 : 컬럼개수와 데이터 타입이 동일한 테이블의 결과를 연결하여 한개로 결합함
- UNION / UNION ALL(중복행제거없음) / INTERSECTION / EXPECT(차집합)
서브쿼리
- 단일행 서브쿼리 : 결과가 항상 1건, < = > 등 단일 연산자사용됨
- 다중행 서브쿼리 : 결과가 여러건
- 다중컬럼 서브쿼리 : 결과가 여러 컬럼
시스템카탈로그 = 시스템 테이블
- DB의 메타데이터(=모든 데이터)를 포함하여 정보를 유지 관리하는 시스템 테이블
- 스스로 생성하고 유지되는 특별한 집합체
트랜잭션 상태전이
병행제어
- 다중 사용자 환경을 지원하여 여러 트랜잭션이 동시 성공 실행을 지원함
- 직렬성 보장, 데이터 무결성 및 일관성 보장
- 기법 = 2단계 로킹기법, Validation검증, 타임스탬프 순서
- 병행제어를 하지 않을 때 문제 : Lost update갱신분실 = 먼저 실행된 트랜잭션 무효화, Dirty read오류 데이터 읽기, Inconsistency 모순성, Casecade Rollback 연쇄 복귀, Unrecoverability 회복불능, Uncommited Dependency비완료 의존성
데이터 모델 종류
- 개념적 데이터 모델 : 인간이 이해하는 정보 구조로 표현
- 논리적 데이터 모델 : 컴퓨터 세계 환경에 맞도록 변환
데이터베이스 분산
- 위치 분산 : 구조 변화없음
- 테이블 분할 분산 : 테이블을 쪼갬
- 테이블 복제 분산 : 동시 생성 관리
- 테이블 요약 분산 : 비슷하지만 서로 다른 유형으로 존재하는 경우
데이터 전환 수행 절차
- 계획서 작성 ~ 체크리스트 작성 ~ 데이터 변환 프로그램 개발 ~ 수행 결과 검증 ~ 결과 보고서 작성
키의 특징 : 유일성, 최소성
E-R다이어그램 기호
- 삼각형은 생각도 하지말것..
관계해석 : WHAT = 답변은 기술하지 않음 , UNION/INTERSECTION/DIFFERENCE , 비절차적 언어
관계 질의 : HOW , 절차적 언어
OP Code 연산코드 : 연산자 위치
Operand 주소 : 기억장치 주소, 레지스터 번호, 사용할 데이터
명령어의 수행
- 명령어 Fetch 인출 ~ 명령어 operand 주소따라 cycle이 분기 ~ 명령어 해독 ~ 명령어 실행 ~ 데이터 저장
- 주상태 = CPU가 1개 명령어를 실행하는 처리과정
- Fetch인출= 주기억장치에 접근하여 명령어를 꺼내 디코딩 , 간접 , 실행 , 인터럽트(현 동작 중지하고 타 동작 수행, 인터럽트 루틴 = 인식 ~ 상태 보존 ~ 요청 서비스 분기 ~ 사용자 상태 복구 및 재개)
옵티마이저 :최적 SQL 실행계획 수립
클러스터 : 1개 이상 로우를 같은 장소에 저장
HINT : 생성된 SQL의 계획 수동제어
임의접근 기억장치
- 주와 보조 장치 처리속도 차이 감소를 위해 RAM을 위치시켜 극복
- 임의접근 : 자기드럼, 자기코어, 자기 디스크
- 순차접근 : 자기테이프
입출력 고립형 I/O
- = Mapped I/O
- 각 뚜렷한 입출력 명력은 레지스터 주소를 보유
- 기억장치의 주소 공간과 전혀 다른 입출력 포트 보유
반도체 기억소자
- DRAM 동적RAM : 적은 소비전력, 대용량메모리 제조
- SRAM 정적RAM : 캐시메모리용, 전원있어야 보존, 내부회로 플립플롯
속성 = 정보의 최소단위
- 유형 : 기본 속성, 설계 속성, 파생 속성
- 한개의 속성은 한 시점에서 한 개의 값만 가짐
물리 모델링 변환
슈퍼타입기준 엔티티 통합 : 서브타입 엔티티와 단일 테이블로 통합됨
서브타입기준 엔티티 통합 : 슈퍼타입 속성을 각 서브타입에 추가하여 서브타입마다 각 테이블로 변환됨
레지스터 동작
누산기(AC)의 데이터가 옮겨지면서 AC는 초기화됨
일시저장 : 읽힌 명령어를 IR(인스트럭션레지스터)에 일시 저장
명령어 인출 : MAR(주소레지스터)이 지시하는 주기억장치 주소 읽어, MBR에 저장
데이터 저장 : MBR(버퍼레지스터)에 저장된 데이터를 MAR에 저장된 주소에 저장
SQL 성능튜닝
- 조건절에 사용된 컬럼은 함수를 지양
- NOT 연산자 사용 지양
- 범위 검색시 BETWEEN 연산자 지향
데이터 전환
- 데이터 적재후 ETL(Extract Transformation Load) 도구를 활용하여 결과 검증
- 잘못된 데이터를 수정하는 과정
UNIX명령어 chmod (접근권한 변경) 활용
- read=r , write = w , execute =x 권한 제한
- $chmod 755 = 첫숫자는 자신 + 두번째 숫자는 속한 그룹 + 세번째 숫자는 타 그룹 접근권한
분산처리 시스템
- 가용성과 신뢰성 상승, 점진적 확장
- 모델 : 클라이언트-서버 / 프로세서 풀(통합) / 혼합(병렬수행)
가상 기억장치 구현
- PMT 페이징 기법(고정분할) : 내부 단편화, 실주소와 주기억 장치 주소 상이함, 할당 단위 고정, 짧은 교체 시간
- 세그멘테이션 기법(유동분할) : 외부 단편화, 보호키 필요, 각 고유 이름 보유, 여러 블록화 수행
OS의 가상기억 장치
- 워킹시트 : 자주 참조하는 페이지 모음(스레싱,방지 등)
- 프리페이징 : 과도한 페이지 부재 축소
메모리 인터리빙 : 중복접근 방지를 위한 기억장치 모듈의 순차처리
단편화 : 낭비되는 기억 공간
임계영역 : 다양 프로세스가 공유하는 자원을 한 시점에서 1개 프로세스만 허용
- 상호배제 유발, 인터럽트 금지
오류제어 목적의 자동반복요청식(ARQ)
- Stop and wait, Go back N, Selective Repeat
디스크 스켸줄링
- 이동디스크
- FC(come)FS(serve) : 큐 요청순서 처리
- SSTF : 헤드에 가까운 순서 처리
- SCAN = 엘레베이터 알고리즘 : 밖에서 안으로 스캔
- LOOK : SCAN기법 개선 버전, 처리블록 없으면 돌아옴
- 에센바흐
- 고정디스크
- SLTF = Sector Queing : 최단 지연 시간
- SP(positioning)TF : 최단 위치
- SA(access)TF : 최단 접근 시간
CPU 스켸줄링
- 시간 계산 방법 : 각 법칙 맞게 실행시간 순서 나열 ~ 대기시간 = 0부터 셈하여 실행개수만큼 나열 하고 개수만큼 나눔 ~ 반환시간 = 대기시간+실행시간/실행시간
- HRN = 우선순위 = (대기시간+서비스시간)/서비스시간
- SJF 풀이법 사진 참고
페이지 교체 알고리즘
- 주기억 장치에 적제 공간 부족으로 진행
- LRU(Least Recently) : 효율적이지만 오버헤드 발생
- NUR(Not Used Recently) : 오버헤드 해결
- FIFO, 옵티마이저 등
- Multilevel Feedback Queue : 상위단계 미완 작업을 하위단계로 전달
프로토콜
- 3대요소 = 구문 + 타이밍 + 의미
- PPP : 비동기 직렬 링크인 컴퓨터의 통신 지원, 동기/비동기 회선 지원, 절대적 회선 링크 교환 방식
- LCP = 링크 설립, 감시, 설정
- DHCP : 임대 개념의 IP관리
- L4 : 전송계층 장비로 TCP/UDP 포트 번호를 토대로 서비스 별 분류 후 포워딩, 트래픽 전송 차단 가능
- NAT : 1개의 공인IP 주소에 다량 가상 IP 주소로 할당
- SCTP : UDP와 TCP 결합물, 장애대비 경로확보(멀티로밍), 고도 신뢰 링크 전송, 멀티 스트리밍, 세션초기화(4-way), 데이터 전송, 세션 종료
IP 주소체계 구성
- 클래스 타입 : A~E, D는 멀티 태스킹용, E는 예비용
- 네트워크 주소 : 각 호스트가 속한 네트워크를 대표함
- 호스트 주소 : 32BIT 중 주소제외 나머지 부분
네트워크 기술
- WPAN : 10M 이내 단거리 전송 및 제어, 무선기술
- NAT : 내부 네트워크의 IP주소 변환
- 구성 방식 = Static(1:1) , Dynamic, PAT, LSNAT(1개 외부회선을 N내 내부 회선과 매핑)
DTE = 통신기와 컴퓨터간 통신기기
- DCE : C는 Circuit로 상호 통신기기
- DSU : S는 Serive로 전송 적합한 신호 형식화
- DCS : C는 Crossconnet로 망 구성에 따른 선택적 연결
PCM = Pluse Code Modulation
- 송신 순서 : 표본화 ~ 양자화 ~ 부호화
매체 접근기법
- CSMA/CD : 경쟁적 데이터 전송(충돌O)
- 토큰 제어 : 토큰이라는 패킷 순환 후 전송 완료시 반납, 제어방식 = 토큰링&토큰버스
SW배포기술
- 도커 : 리눅스컨테이너(LXC) 기술 바탕의 배포 자동화 기술
- 하이퍼바이저 : 하드웨어 가상화, 동작 오버헤드 큼, 관리콘솔 필요함
CI/CD : 인티그레이션 헬, 지속적 통합과 서비스 제공으로 짧은 주기의 자동화 실현
역공학
- 현존하는 프로그램을 분해하여 인사이트를 얻음, Reverse Engineering
원인의거 SW 유지보수
- 수정적 Corrective : 오류 해결
- 완전적 Perfective : 기능 추가
- 예방적 Preventive : 신뢰성을 위한 구조 변경 (ex_외계코드 수정 등)
- 적응적 Adaptive : 환경 변화에 따른 새 자료 이식
클라우드 컴퓨팅
- LaaS : 인프라만 지원
- PaaS : OS와 미들웨어도 지원
- SaaS : 전부 지원
질문
Q. 데이터베이스 설계단계에서 개념적 설계 단계에 대한 설명으로 틀린 것은?
1. 산출물로 ER-D가 만들어진다.
2. DBMS에 독립적 개념 스키마를 설계한다.
3. 트랜잭션 인터페이스를 설계한다.
4. 논리적 설계 단계 앞 단계에서 수행된다.
=> 데이터 베이스 설계는 개념설계 이후 논리설계 ~ 물리설계로 이어지고, 논리설계에서 논리적 자료 구조를 매핑하고, 정규화 등의 작업이 이뤄지면서 트랜잭션 인터페이스를 설계한다
A. 3.
Q. UNIX의 쉘(Shell)에 대한 설명이 아닌 것은?
1. 명령어 해석기이다.
2. 시스템과 사용자 간 인터페이스를 담당한다.
3. 여러 종류의 쉘이 있다.
4. 프로세스, 기억장치, 입/출력 관리를 수행한다.
=> OS는 운영체제로 프로세스, 기억장치, 입/출력 관리를 수행한다. echo$SHELL은 현 사용중인 쉘 종류를 반환한다.
A. 4.
Q. 시스템 분류 제안 중 하나로 하나의 데이터 흐름이 다수의 프로세서들로 전달되며, 각 프로세스는 서로 다른 명령어를 실행하는 구조는?
A. 다중 명령어, 단일데이터 흐름
Q. 병행 제어 기법이 아닌 것은?
1.로킹기법 2.시분할 기법 3.타임 스탬프기법 4.다중 버전 기법
=> 시분할 기법은 트랜잭션 직렬화 기법이다.
A. 2
Q. 데이터베이스 설계에서 물리적 설계 옵션 선택 시 고려사항이 아닌것은?
1. 저장공간의 효율화
2. 응답시간
3. 수정,삭제 시 이상현상 최소화
4. 트랜잭션 처리도(throughput)
=> 이상현상에 관련된 것은 정규화 과정으로 논리적 설계 부분이다. 물리적 설계 옵션은 평가&성능&처리.
a. 3
'관련 도서 및 지식 > 자격증' 카테고리의 다른 글
[정보처리기사] 필기 합격 + 실기 접수일 공유 (0) | 2023.03.23 |
---|---|
[ 정보처리기사 기사패스- 정보처리기사 필기 적중문제 ] 오답 및 추가 상식 요약(5파트) (0) | 2023.01.24 |
[ 정보처리기사 기사패스- 정보처리기사 필기 적중문제 ] 오답 및 추가 상식 요약(1파트,2파트) (1) | 2023.01.23 |
[ 정보처리기사 실기 ] C언어 - 기본적 문법 구조 (2) | 2023.01.21 |
[ 정보처리기사 필기 ] 5파트 요약 : 프로젝트 비용 산정 , 프로그램 기술 , 보안 , 정보 원칙 , 공격 , 네트워크 관리 신기술 , 암호화 (0) | 2023.01.16 |