정보처리기사/내용

2024 정보처리기사 필기 요약 3과목 - 데이터베이스 구축

내가 그린 코딩 그림 2023. 7. 14. 22:01
반응형

정보처리기사 필기 요약 3과목

3과목 데이터베이스 구축 정보처리기사 필기 핵심 요약입니다. 기출문제는 이런식으로 문제가 나온다는 것을 보여드리기 위한것으로 충분히 답 추측이 가능하게 하여 별도 답을 기재하지는 않았습니다.

 

정보처리기사 필기 요약 글 모음

1과목 - 소프트웨어 설계 요약
2과목 - 소프트웨어 개발 요약
3과목 - 데이터베이스 구축 요약(현재글)
4과목 - 프로그래밍 언어 활용 요약
5과목 - 정보시스템 구축관리 요약

총 정리 및 합격 후기

 

1. 데이터베이스 기초 개념

릴레이션(=테이블) : 데이터를 표 형태로 표현한 것

속성 : 릴레이션의 열

차수 : 속성의 수

튜플 : 릴레이션의 행

카디널리티 : 튜플의 수

도메인 : 속성에 들어가는 원자값 집합

 

아래와 같은 릴레이션이 있다면

릴레이션은 테이블 그 자체이기에 1개

차수는 3(학번, 이름, 전공)

카디널리티는 2이다(값이 들어가는 실질적인 행 수)

학번 이름 전공
20230701 홍길동 컴퓨터공학
20230702 김철수 경영

 

1-1 계산공식

위처럼 카디널리티2, 차수3인 릴레이션에

카디널리티 4, 차수 3인 릴레이션을 단순히 이어붙이면

카디널리티는 곱연산으로 2*4 = 8

차수는 합연산으로 3+3 = 6 이 된다.

속성이 4개, 튜플이 7개라는 점에서 차수 예측이 가능합니다. 답 3번(해당 문제만 답을 추가했습니다)

 

1-2 튜플

튜플 사이에는 순서가 없다.

 

 

2. DDL, DML, DCL

DDL(Data Definition Language) 데이터 정의어 : 데이터 구조를 정의하는 명령어

  - CREATE : 테이블 생성

  - ALTER : 테이블 속성 변경(위 제시된 릴레이션에서 나이 속성을 추가하고 싶을 때 등등)

  - DROP : 테이블 드랍

DML(Data Manipulation Language) 데이터 조작어 : 데이터에 변형을 가하는 명령어

  - SELECT : 조회

  - INSERT : 삽입

  - UPDATE : 수정

  - DELETE : 삭제

DCL(Data Control Language) 데이터 제어어 : 데이터베이스에 접근하고 객체들을 사용할 수 있게 권한을 주거나 회수하는 명령어

  - GRANT : 권한 부여

  - REVOKE : 권한 회수

  - COMMIT : 결과 반영

  - ROLLBACK : 결과 되돌리기

 

 

3. SQL 명령어 중 기출 출제

DISDINCT - 중복제거(SELECT 절에 쓴다)

CASCADE - 부모 항목 값 삭제 시 자식들도 같이 삭제

ALTER - 속성 추가, 삭제 등 릴레이션 자체에 대한 수정

BETWEEN AND - 서로 짝(함께 붙어다닌다)

UPDATE SET - 서로 짝(함께 붙어다닌다)

 

 

4. 후보키 vs 슈퍼키

후보키 : 유일성과 최소성 모두 만족하는 키

슈퍼키 : 유일성은 만족하지만 최소성은 만족하지 못하는 키

기본키 : null값이나 중복값을 못가지는 키

외래키 : 기본키를 참조하는 키

대체키 : 기본키가 없을 때 그 자리를 대신해줄 수 있는 키

 

 

5. 로킹 ★

로킹(Locking) : 트랜잭션이 접근하는 동안 데이터를 잠궈 다른 트랜잭션이 접근하지 못하도록 보호

로킹 단위가 커지면 그 외 모든게 작아지고(로크 수, 병행성, 오버헤드, 공유도 등 작아짐) 관리가 수월해진다.

반대로, 로킹 단위가 작아지면 모든게 커지고 관리가 복잡해진다

 

※ 로킹 문제가 나오면 단위가 커지는데 다른게 똑같이 커진다거나 하는게 없는지부터 보자

 

 

6. 정규화

비정규 릴레이션 -> 제1정규형 -> 제2정규형 -> 제3정규형 -> BCNF(보이스/코드 정규형) -> 제4정규형 -> 제5정규형

 

각 화살표에 해당하는 부분에서 아래 과정을 해야한다.

비정규 -> 제1정규 : 비정규 릴레이션이 제1정규형이 되기위해 도메인이 원자값 되어야 한다.

제1정규 -> 제2정규 : 부분적 함수 종속 제거가 필요

제2정규 -> 제3정규 : 이행적 함수 종속 제거가 필요

제3정규 -> BCNF : 결정자이면서 후보키가 아닌 것 제거 필요

BCNF -> 제4정규 : 다치 종속 제거 필요

제4정규 -> 제5정규 : 조인 종속성 이용

 

"도부이 결다조" 키워드를 꼭 외워야 한다.

 

6-1 이행적 함수 종속 관계

삼단논법이랑 비슷한데

A->B이고 B->C일 때, A->C를 만족하는 관계를 이행적 함수 종속 관계라고 하며

이러한 관계를 지우는게 제2정규형에서 제3정규형이 되기위한 조건이기도 하다.

 

 

7. 트랜잭션 특징

영어만으로도 출제되기 때문에 영어도 기억해야 한다.

원자성(Automicity) : 트랜잭션 연산은 데이터베이스에 모두 반영되거나, 전혀 반영되지 않아야 한다.

일관성(Consistency) : 트랜잭션이 그 시행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.

영속성(Durability) : 성공적으로 완료된 트랜잭션 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.

격리성(Isolation) : 트랜잭션 실행 중 다른 트랜잭션의 접근이 불가해야 한다.

 

※ '모두 반영' 이라는 키워드가 나오면 일단 Automicity(원자성)를 떠올리자

 

8. 무결성

개체 무결성 : 테이블의 기본키를 구성하는 어떤 속성도 null 값이나 중복값을 가질 수 없다.

참조 무결성 : 외래키 값은 null이거나 참조 릴레이션이 기본키 값과 동일해야 한다.

도메인 무결성 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다.

 

 

9. 관계 대수 연산

관계대수 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는가를 기술하는 절차적 언어

 

순수관계 연산자

select - 기호(σ) - 조건에 맞는 튜플 검색

project - 기호(𝝅) - 특정 속성만 보여주기

join - 기호(▷◁) - 합치기

division - 기호(÷) - 해당 튜플의 검색 대상 속성은 제거하고 보여주기

 

※ 관계대수 설명이 나올 때 비절차적 언어라 하면 무조건 틀린 지문이다.

 

10. 뷰

뷰(View) : 테이블을 기반으로 만들어진 가상의 테이블

  - 논리적으로만 존재

  - 기본 테이블 삭제 시 뷰도 같이 삭제

  - 뷰위에 또 다른 뷰 정의 가능

  - 삽입, 갱신, 삭제에 제약 존재

  - CREATE, DROP은 가능하지만 ALTER는 안됨

 

11. 데이터베이스 목표

위치투명성(Location Trasparency) : 데이터베이스의 실제 위치를 알 필요없이 논리적 명칭만으로 액세스 가능

중복투명성(Replication Trasparency) : 데이터가 여러 곳에 있더라도 마치 하나인 것처럼 사용 가능

병행투명성(Concurrency Trasparency) : 다수 트랜잭션이 동시 실행되더라도 결과는 영향x

장애투명성(Failure Trasparency) : 장애에도 트랜잭션을 정확히 수행

분할투명성(Division Trasparency) : 각 단편의 사본이 여러 시스템에 저장되어 있음을 인식할 필요가 없음

 

 

12. 물리적 설계, 논리적 설계

물리적 설계

  - 레코드 집중 분석 및 설계

  - 저장 레코드 양식 설계

  - 저장 경로 지정

  - 접근 경로 설계

 

논리적 설계

  - 논리적 구조 매핑

  - 트랜잭션 인터페이스 설계

  - 스키마 평가 및 정제

 

※ 저장경로, 레코드 등 키워드가 들어가면 물리적 설계

 

 

반응형