갈색붕어빵

[정보처리기사-실기] 3과목 핵심개념 본문

정보처리기사

[정보처리기사-실기] 3과목 핵심개념

도레미애 2023. 5. 25. 12:45

정보처리기사 실기 시험날 가져가려고 만들었던 3과목 오답노트 및 핵심개념이다.

2020년도 ~ 2022년도 기출문제를 직접 풀고 틀렸던 개념, 계속 틀렸던 개념, 많이 나오는 개념 위주로만 적었다.

지극히 주관적이고 개인적이라서 제목만 적고 내용을 안적은 것은 있고, 없는 문제나 개념들도 많지만 시험 볼 때 도움이 많이 되기도 했고, 나중에 공부할 때도 도움이 될 것 같아 적었다!


스키마 (20.3)

  • 데이터베이스의 구조와 제약조건에 대해 명세를 기술한것
  • 외부스키마 / 개념스키마 / 내부스키마

RDBMS 모델링 (21.1, 22.1)

속성 도메인 튜플 릴레이션

차수 (Degree) : 속성의 개수

기수 (Cardinality) : 튜플의 개수

키(key)

  • 유일성 : 튜플을 유일하게 구분할 수 있는 성질
  • 최소성 : 가장 적은 수의 속성으로 구성되는 성질
  • 1. 후보키 - 유일성, 최소성을 만족 2. 기본키 - 튜플의 식별을 위해 지정된 키 3. 대체키 - 기본키 외 후보키 4. 슈퍼키 - 유일성은 만족하지만, 최소성은 만족하지 못함 / 두 개 이상의 속성의 집합 5. 외래키 - 관계뙨 다른 릴레이션의 기본키를 참조

무결성 제약사항

  1. 도메인 무결성
  2. 개체 무결성 - 기본키로 지정된 속성은 중복값과 Null값이 있어서는 안된다.
  3. 참조 무결성

데이터 모델링 (21.1)

정의 : 현실세계의 데이터를 디지털 세계의 데이터 구조로 변환하는 과정

구성요소 : 구조 연산 제약조건

절차 : 개념적 설계 - 논리적 설계 - 물리적 설계

관계스키마 이상현상 (20.4, 22. 1)

이상현상 : 잘못된 스키마 설계로 릴레이션에 이상현상이 발생하는 것

삭제이상 : 특정 튜플을 삭제할 때, 관련된 정보을 삭제하지 않으면 삭제되지 않는 현상

삽입이상 : 특정 튜플을 삽입할 때, 관련되지 않는 정보을 삽입하지 않으면 삽입되지 않는 현상

갱신이상 : 특정 데이터를 갱신할 때, 데이터 불일치가 발생하는 현상

확장 E-R다이어그램 객체지향 추상화(IS-A관계) (21.3)

is - a 관계 : `서브타입 is a 슈퍼타입 of things`

특수화(Specialization) : 하나의 개체 타입을 여러개의 하위 레벨 개체 타입으로 분리, 하향식 설계방식

일반화(Generalization) : 여러 개체 타입의 공통적인 특성을 상위 개체 타입으로 표현, 상향식 설계방식

상속(Inheritance) : 새로운 개체 타입을 설계할 때 기존의 개체 타입을 그대로 사용할 수 있다

집단화(Aggregation) : 각각의 관련있는 개체 타입을 통해 하나의 새로운 개체 타입을 만드는 것

분류화(Classification) : 개체 타입과 그 개체 타입의 개체 어커런스들의 관계를 표현

순수관계연산자 (SELECT, PROJECT, JOIN, DIVISION)  (20.3)

SELECT

σ조건(R) : 릴레이션R에 포함되면서 조건을 성립하는 요소

PROJECT

π속성들(R) : 릴레이션R에 포함되면서 지정된 속성에 해당되는 요소

세타조인

R▷◁<조건> S : 릴레이션 R과 S의 속성이 포함된 조건을 성립하는 요소

자연조인

R▷◁NS : 두 릴레이션에 공통으로 포함되는 속성의 값이 동일한 요소

디비전

R÷S : 릴레이션 R에서 릴레이션 S의 속성의 데이터와 일치하는 요소 중 S속성을 제외한 요소

정규화 3과목  (21.2)

도 부 이 결 다 조

비정규형 : 전혀 정규화가 이루어지지 않은 경우

제 1 정규형 : 도메인이 원자성을 갖는 경우

제 2 정규형 : 부분 함수 종속 제거

제 3 정규형 : 이행적 함수 종속 제거

보이스코드정규형 : 결정자이면서 후보키아 아닌 함수 종속 제거

제 4 정규형 : 다치종속성 제거

제 5 정규형 : 조인종속성 제거

SQL 명령어 

DDL(데이터 정의어) : 논리적, 물리적 데이터베이스를 생성, 수정할 목적으로 사용되는 명령어

구분명령어설명제약조건

생성 CREATE 데이터베이스 혹은 테이블 생성 PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK
변경 ALTER 테이블 변경 ADD, MODIFY, DROP <br />RENAME COLUMN원래이름TO바꿀이름,<br />ADD CONSTRAINT, ENABLE CONSTRAINT,<br />DROP CONSTRAINT, DISABLE CONTSTRAINT
삭제 DROP 데이터베이스 혹은 테이블을 삭제 CASCADE, RESTRICT
삭제 TRUNCATE 테이블의 모든 튜플을 삭제  
  • 인덱스 생성
    • `CREATE [UNIQUE] INDEX 인덱스명 ON 테이블명(필드[, ...])` - 중복값을 허용하지않는 인덱스생성
    • `ALTER TABLE 테이블명 DROP INDEX 인덱스명` - 인덱스삭제
    • `CREATE [UNIQUE] INDEX 인덱스명 ON 테이블명(필드[,...])` - 수정은 삭제 후 재생성
    • `SHOW INDEX FROM 테이블명`

DML(데이터 조작어) : 데이터를 조회, 수정, 삽입, 삭제할 수 있는 명령어

구분명령어설명

삽입 INSERT INSERT INTO 테이블명 (필드[, ...]) VALUES (값[, ...]);
수정 UPDATE UPDATE 테이블명 SET 필드=값
삭제 DELETE  
조회 SELECT DISTINCT, *, GROUP BY, HAVING BY, ORDER BY, AS, LIKE, ..

DCL(데이터 제어어) : 다수의 사람들이 데이터를 공유할 수 있도록 병행제어를 수행하는 명령어

  • GRANT : `GRANT [권한|ROLE] TO [사용자|ROLE|PUBLIC] [WITH GRANT/ADMIN OPTION]` - 사용자에게 권한 부여

DML (21. 2)

데이터 조작어

  1. INSERT 필드 삽입
  2. UPDATE 튜플 갱신 - `UPDATE 테이블명 SET 필드=값[, ...] WHERE 조건식`
  3. DELETE 튜플 삭제
  4. SELECT 조회
    1. DISTINCT : 중복제거
    2. \* : 모든 필드 조회
    3. GROUP BY : 지정된 필드의 데이터를 기준으로 튜플 조회
    4. HAVING BY : 그룹별 조건을 만족하는 튜플 조회
    5. ORDER BY : ASC , DESC
    6. AS
    7. AND , OR, IN, IS NULL, LIKE 정%, BETWEEN
    8. 정% : 정으로 시작하는 문자열 %정 : 정으로 끝나는 문자열 %정% : 정을 포함하는 문자열 정_ : 정으로 시작하는 2글자 정__ : 정으로 시작하는 3글자
    9. 서브쿼리
    10. 정렬
    11. 그룹화
    12. 조인 `SELECT * FROM 학생 JOIN 과목 ON 학생.과목코드 = 과목.과목코드`
      1. INNER : 교집합
      2. LEFT : 왼쪽 + 교집합
      3. RIGHT : 오른쪽 + 교집합
      4. CROSS : 전체 ( 왼 + 교 + 오)

DCL TCL  (20.2)

DCL : 데이터 제어어 : 데이터를 공유할 수 있도록 병행 제어를 수행하는 명령어

  • GRANT : `GRANT [권한|ROLE] TO [사용자|ROLE|PUBLIC] [WITH GRANT/ADMIN OPTION]`
    • PUBLIC : 모든 사용자에게 권한 부여
    • WITH GRANT OPTION : 부여된 권한을 또다른 사용자에게 권한 부여, 권한 회수 가능
    • WITH ADMIN OPTION : 부여된 권한을 또다른 사용자에게 권한 부여, 권한 회수 불가능
  • REVOKE : `REVOKE [권한|ROLE] FROM [사용자|ROLE|PUBLIC]`
    • TO, FROM 으로 권한 부여, 회수를 구분
  • COMMIT : 변경사항이 물리적인 디스크에 저장된다
  • ROLLBACK : 이미 수행되었던 작업을 취소하고 원래 상태로 복구한다
  • SAVEPOINT : 특정 지점을 정의하여 해당 지점부터 다시 시작할 수 있다
  •  

트랜잭션 특징 (20.1, 21.2)

  1. 원자성 : 트랜잭션의 연산은 모두 반영되거나 모두 반영되지 않아야 한다.
  2. 일관성 (무결성) : 트랜잭션을 마친 후에도 동일하게 오류가 발생하지 않아야 한다.
  3. 고립성 : 트랜잭션 실행 중 다른 트랜잭션의 영향을 받지 않아야 한다.
  4. 지속성 : 트랜잭션의 결과는 항상 유지, 보존되어야한다.

병행제어기법 (21.2)

  1. 로킹 : 하나의 트랜잭션에서 갱신하는 데이터를 다른 트랜잭션이 접근하지 못하도록 잠그는 행위 (고립성)
  2. 타임스탬프
  3. 낙관적 병행 제어
  4. 다중 버전 병행 제어

회복 (22.1)

어떤 장애 요인에도 데이터베이스의 일관성 유지에 제약이 걸렸을 때, 장애 이전의 상태로 복원하여 일관성을 유지하는 작업

  1. 로그를 이용한 회복 :
    1. 즉시갱신(Undo) - 로그를 이용해 오류내용을 취소하고 복구
    2. 지연갱신(Redo) - 이전으로 돌아가 실패전까지의 과정을 재실행
  2. 검사시점에 의한 회복
  3. 그림자 페이징 기법

반정규화 (20.1)

정의 : 정규화된 릴레이션의 성능향상 및 개발 운영 단순화를 위해 릴레이션을 중복, 통합,분리를 수행하는 데이터 모델링

<-> 정규화 목적 : 릴레이션의 중복 및 종속성에 의한 이상현상을 제거하기 위한 기법.

분산데이터베이스 목표

  • 위치 투명성 : 데이터베이스의 실제 위치를 알 필요가 없고, 데이터베이스 논리적 명칭으로 엑세스할 수 있다.
  • 중복 투명성 : 중복된 데이터 유무와 저장 위치에 대한 정보를 사용자가 알 필요가 없다
  • 분할 투명성 : 전역 스키마의 분할과 관계없이 전역 질의를 여러 개의 단편 질의로 반환해주는 성질
  • 장애 투명성 : 분산된 물리적 환경에서 장애가 발생해도 데이터 무결성이 보장되는 성질
  • 병행 투명성 : 다수의 트랜잭션이 동시에 수행되더라도 트랜잭션의 결과는 영향을 받지 않는 성질

빅데이터 (20.1)

데이터웨어하우스 : 정보의 효율적인 분석과 신속한 의사결정을 위한 데이터베이스 환경

데이터마트 : 소규모 단일 주제에 대한 데이터웨어하우스 시스템

OLAP(Online Analytical Process) : 온라인으로 다양한 데이터 분석 정보를 실시간으로 제공하는 시스템

데이터마이닝 : 데이터웨어하우스에서 유용하고 가능성있는 정보 및 정보 패턴을 발견하는 기법

하둡 : 오픈소스 기반 분산 컴퓨팅 플랫폼, 맵리듀스 - 대용량 데이터 처리를 위한 병렬 처리 기법