[정처기] 3과목 : 데이터베이스 구축 내용정리 - 1

2025. 5. 22. 17:25·자격증/정보처리기사

34. 자료구조


(1) 자료 구조


1️⃣ 자료 구조의 분류 

 


 

2️⃣ 자료 구조의 활용

구분 설명
정렬 집합된 데이터 레코드를 일정 기준으로 재배열
검색 원하는 값을 빠르게 찾는  것
인덱스 (Index) ⭐️ DB에서 데이터를 빠르게 검색 할 수 있게 구성한 순서 데이터
파일 편성 파일에서레코드의 물리적인 배열 방법

 

 

 

(2) 선형 자료 구조


 1️⃣ 리스트

❶ 선형 리스트 : 배열처럼 연속된 리스트

❷ 연결 리스트 : 노드의 포인터를 연결시킨 리스트

 


 

2️⃣ 스택

❶ 리스트의 한쪽 끝에서만 자료의 삽입과 삭제가 이루어지는 자료 구조

❷ 후입 선출 LIFO(Last In First Out) 방식

❸ 마지막에 삽입된 자료 Top, 가장 먼저 삽입된 자료 Bottom

❹ 스택 가드 : 메모리상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장해두었다가

그 값이 변경 되었을 경우 오퍼플로우 상태로 가정하여 프로그램 실행을 중단

❺ 스택 응용 분야 : 인터럽트 처리, 수식의 계산, 0-주소 지정 방식 / 

재귀 호출, 후위 표현의 연산, 깊이 우선 탐색

 

 

스택 삽입 알고리즘

if TOP >= n then call Stack-Full;
else TOP = TOP + 1;
Stack(TOP) = Data;
end Insert

 

 

스택의 삭제 알고리즘

if TOP = 0
then Underflow
Else
Remove S(TOP)
TOP = TOP - 1

 

 

스택의 오버플로 알고리즘

TOP <- TOP + 1
if TOP > n then goto AA
else Stack(TOP) <- item

 


 

3️⃣ 큐(QUEUE)

❶ 삽입 작업은 선형 리스트의 한쪽 끝(Rear)에서, 제거 작업은 다른 쪽 끝(Front)에서 수행

❷ 가장 먼저 삽입된 자료가 가장 먼저 삭제 , 선입 선출 (FIFO, First In First Out) 방식

 


 

4️⃣ 데크(Deque)

❶ 자료의 삽입과 삭제가 리스트의 양쪽 끝에서 이루어짐

❷ 스택과 큐를 합한 형태

❸ 입력 제한 데크를 Scroll, 출력 제한 데크를 Shelf

 

 

[관련 기출 문제]

스택가드 / 데크 / 2 / 1 / 2

 

 

 

35. 비선형 구조


(1) 트리


1️⃣ 트리

 

트리의 정의

: 그래프의 특수한 형태로, 노드와 가지를 이용하여 사이클을 이루지 않도록 구성한 자료

 

 

트리 관련 용어

노드 트리의 기본 구성 요소
근노드  Root Node 가장 상위에 위치한 노드
레벨 Level 근노드 기준으로 특정 노드 까지 길이
조상 노드 Ancestors Node 특정 노드까지 이르는 경로 상 모든 노드
부모 노드 Parent Node 특정 노드에 연결 된 이전 레벨의 노드
자식 노드 Child Node 어떤 노드에 연결된 다음 레벨의 노드
형제 노드 Brother Node 같은 부모를 가진 노트
깊이 Depth 트리의 최대 레벨
차수 Degree 어떤 노드에 연결된 자식 노드의 수
단말 노드 Terminal Node 트리의 제일 마지막에 위치한 노드
트리의 차수 Degree 트리 노드 중 가장 큰 차수

 


 

2️⃣ 이진 트리

: 차수가 2 이하인 노드로 구성된 트리 (자식이 2이하)

 

 

이진 트리의 구조

 

 

이진 트리의 운행법 ⭐️

전위 운행 Preorder Root - Left - Right
중위 운행 Inorder Left - Root - Right
후위 운행 Postorder Left - Right - Root

 

 

수식의 표기법

전위 표기법 연산자 - 피연산자 - 피연산자 + A B
중위 표기법 피연산자 - 연산자 - 피연산자 A + B
후위 표기법 피연산자 - 피연산자 - 연산자 A B +

 

 

 

(2) 그래프(Graph)


1️⃣ 그래프 Graph

: 정점(Vertex)와 간선(Edge)의 집합으로 이루어진 자료 구조

 

 

최대 간선 수 계산하기 : n(n-1)/2개

 

 

[관련 기출 문제]

2, 4 / 3 / (+**/ABCDE)

 

 

 

36. 정렬


(1) 정렬


❶ 내부 정렬 : 주 기억 장치에서 정렬

❷ 외부 정렬 : 보조 기억 장치에서 정렬

 

 

 

(2) 내부 정렬


구분 설명
삽입 정렬 ❶ 정렬된 파일에 새로운 하나의 레코드를 순서에 따라 삽입시켜 정렬
❷ 정렬할 대상을 키 값으로 올려 삽입
버블 정렬 ❶ 인접한 데이터를 비교하면서 크기에 따라 데이터 위치를 바꾸어 정렬
❷ 회전 할 때마다, 큰 값이 뒤로 가서 정렬이 이루어짐
선택 정렬 ❶ 최대, 최소, 평균 시간 복잡도 : O(𝑛²)
❷ 값이 많아질 수록 시간이 오래 걸림
❸ 회전 할 때마다, 작은 값이 앞으로 와서 정렬이 이루어짐
병합(합병) 정렬 ❶ 최대, 최소, 평균 시간 복잡도 O(𝑛log₂𝑛)
❷ 값이 많아질 수록 시간이 오래 걸림
퀵 정렬 최대, 최소, 평균 시간 복잡도 O(𝑛log₂𝑛)
최악일 때, O(𝑛²)
힙 정렬 전이진 트리를이용하여 정렬하는 방법
최대, 최소, 평균 시간 복잡도 
O(𝑛log₂𝑛)
최악일 때, O(log₂𝑛²)
시간 복잡도 ⭐️ 정렬
O(𝑛log₂𝑛) 힙, 퀵, 삽입 정렬
 O(𝑛²) 버블, 선택, 삽입 정렬

 

 

 

[관련 기출 문제]

38497 / 병합 정렬 / 4 / 4 / 4

 

 

 

37. 검색과 해싱


(1) 검색


1️⃣ 검색 방식의 종류 ⭐️

종류 설명
이분 (이진) 검색 자료가 순차적으로 정렬되어 있어야 함
선형(순차) 검색 첫 번째 레코드부터 순차적으로 비교
피보나치 검색 비교 대상 기준을 피보나치 수열로 결정
블록 검색 블로긍로 분리한 후 키 값을 순서대로 비교
이진 트리 검색 레코드를 2진 트리로 구성하여 검색

 

 

 

(2) 해싱


1️⃣ 해싱

 

해싱의 정의

❶ 인덱싱하여 빠르게 데이터를 찾을 때 사용

❷ 충돌 시 오버플로 해결이 어려움

 

 

해싱 함수의 종류

❶ 제산 방법 Division

❷ 중간 제곱방법 Mid-Square

❸ 중첩 방법 Folding

❹ 기수 변환 방법 Redix Conversion Method

❺ 계수 분석 방법 Digit Analysis Method

 

 

 

(3) 해싱 관련 용어


용어 설명
동의어 Synonym 해싱에서 동일한 홈주소로 인해 충돌이 일어난 레코드
슬롯 Slot 한 개의 레코드를 저장할 수 있는 공간
충돌 Collision 레코드 삽입시 2개의 상이한 레코드가 똑같은 버킷으로 해싱되는 것 - 항상 오버플로우 발생
버킷이 여러 슬롯으로 구성될 땐, 충돌이 발생해도 오버플로우 발생 하지 않을 수 있음

 

 

 

[관련 기출 문제]

동의어 / (n+1)/2 / 2 / 3 / 3

 

 

 

38. 인덱스 구조와 파일 편성


(1) 인덱스


❶ 인덱스를 통해 레코드에 빠르게 접근 가능

❷ DB의 물리적 구조와 밀접한 관계

❸ 레코드 삽입/삭제가 자주 발생 시 인덱스 갯수 최소화

 

 

 

(2) 인덱스 구성방법


구분
B 트리
B+ 트리
트라이 색인

 

 

 

(3) 파일 편성 방법


1️⃣ 색인 순차 파일 (ISAM)

기본 영역 데이터 레코드를 지정하는 부분
색인 영역 기본 영역에 인덱스가 저장되는 부분
구성 트랙 인덱스
실린더 인덱스
마스터 인덱스
오버플로 영역 ⭐️ 레코드가 모든 영역을 차지하여 추가 레코드를 입력할 수 없을 때, 블록을 할당 받아 연결

 

 

VSAM 파일

❶ 동적 인덱스 방법을 이용한 색인 순차 파일

❷ 기본 영역과 오버플로 영역을 구분하지 않는다

 

 

직접 파일

: 해싱 함수를 계산하여 물리적 주소에 직접 접근하는 방식

 

 

역파일

: 특정 파일을 여러 개 색인으로 만들고 항목별 특성에 맞게 작업하도록 구성

 

 

 

(4) 정적 인덱싱과 동적 인덱싱


구분 설명  예시
정적 인덱싱 인덱스 내용이 변할 때, 인덱스 구조는 변하지 않음 색인 순차 파일
동적 인덱싱 ❶ 삽입될 레코드를 위해 빈 공간을 미리 준비
❷ 레코드가 블록에 차면 동적으로 분열
❸ 인덱스 부분과데이터 부분을 별개의 파일로 구성
가상 기억 접근 방식

 

 

[관련 기출 문제]

직접 파일 / 색인 순차 파일 / 4 / 3

 

 

 

39. 데이터베이스의 개념과 DBMS


(1) 자료 처리


1️⃣ 데이터베이스의 정의

❶ 통합된 데이터 : 각 사용자의 데이터를 한 곳에 모아 통합한 데이터

❷ 저장된 데이터 :  컴퓨터 하드웨어 저장장치에 저장된 데이터

 

❸ 운영 데이터 : 데이터베이스는 조직의 고유 기능을 수행하기 위해 필요한 데이터

❹ 공용 데이터 : 여러 사용자가 공동/소유/관리 활용하는 데이터

 

 

데이터베이스의 특성

❶ 실시간 접근성

❷ 내용에 의한 참조

❸ 동시 공유

❹ 계속적 변화

 

 

데이터베이스 시스템의 구성

❶ DBMS

❷ 스키마

❸ 데이터베이스 언어

❹ 데이터베이스 사용자

 


 

 

2️⃣ 데이터 웨어하우스 

❶ 기간 업무 시스템에서 추출되어 새로 생성된 데이터베이스

❷ OLAP : 대용량 데이터를 고속으로 처리하며 다양한 관점에서 추출, 분석 하는 데이터 분석 기술

❸ OLAP 연산 종류 : Roll-Up, Drill-Down, Dicing, Slicing

 


 

3️⃣ 데이터베이스 용어

구분 설명
빅데이터 데이터의 생성 양, 주기, 형식 등이 매우 큰 데이터
데이터 마이닝 데이터웨어하우징에서 수집되고 분석된 자료를 분류 및 가공 하는 요소 기술
Hadoop ❶ 일반 컴퓨터로 가상화된 대형 스토리지를 구현
❷ 빅데이터 분산 처리를 돕는 자바 소프트웨어 오픈 소스 프레임워크

 

 

[관련 기출 문제]

데이터 마이닝 / Hadoop / 1 / 1 / 3

 

 

 

40. 데이터베이스의 구성, 모델


(1) 데이터베이스의 구성


1️⃣ 스키마

: 데이터 베이스의 구조(개체, 속성, 관계)에 대한 정의

 

 

스키마 3계층

구분 설명
외부 스키마 External Schema 사용자나 응용 프로그래머가 접근할 수 있는 정의
개념 스키마 ⭐️ Concept Schema 내부 데이터베이스를 어떻게 조직화 할 것인지 정의
내부 스키마 Internal Schema 데이터를 실제로 하드디스크에 어떻게 저장할 것인지 정의

 


 

2️⃣  데이터베이스 언어

구분 설명
데이터 정의어 DDL, Data Definition Language 데이터 스키마를 정의하고 변경하고 삭제할 수 있는 기능
데이터 조작어 DML, Manipulation 데이터 안의 레코드를 CRUD 할 때
데이터 제어어 DCL, Controll ❶ 데이터를 보호
❷ 무결성 유지
❸ 데이터 회복 및 병행 제어 수행

 

 

 

(2) 데이터베이스 모델의 종류


1️⃣ 데이터 모델의 구성요소 ⭐️

구분 설명
데이터 구조 Structure 데이터 구조 및 정적 성질 표현
연산 Operation 인스턴스에 적용가능한 연산 명세와 조작 기법 표현
제약조건 Constraints 데이터의 논리적 제한 명시 및 조작 규칙

 


 

2️⃣ 데이터 모델의 구분

 


 

3️⃣ E-R 다이어그램

 


 

4️⃣ 논리적 모델

관계형 데이터 모델 DB를 테이블의 집합으로 표현
계층형 데이터 모델 DB를 트리구조로 표현
네트워크형 데이터 모델 DB를 그래프 구조로 표현

 

 

[관련 기출 문제]

개념 스키마 / 2 / 3 / 2 / 4

 

 

 

41. 관계형 데이터베이스 모델


(1) 관계형 데이터베이스 모델의 개요


1️⃣ 관계형 데이터베이스 모델 구조

❶ 튜플 : 테이블의 행(가로)에 해당하며 파일 구조의 레코드와 같은 의미

카디널리티 (Cardinality) : 튜플 수 (기수)

❷ 속성 : 테이블의 열(세로)에 해당하며 파일 구조의 항목, 필드와 같은 의미

차수(Degree) : 속성의 수

❸ 도메인 : 하나의 속성이 가질 수 있는 원자 값들의 집합

 


 

2️⃣ 릴레이션의 특징

구분 설명
튜플의 유일성 모든 튜플은 서로 다른 값을 갖는다
튜플의 무순서성 하나의 릴레이션에서 튜플의 순서는 없다
속성의 원자성 속성값은 원자 값을 갖는다
속성의 무순서성 각 속성은 릴레이션에서 유일한 값을 가지며 순서는 큰 의미가 없다

 

 

 

(2) 키의 종류와 무결성


1️⃣ 무결성 ⭐️

무결성 종류 설명
개체 무결성 기본키의 값은 널 값이나 중복 값을 가질 수 없다
참조 무결성 참조할 수 없는 외래키는 가질 수 없다
도메인 무결성 하나의 속성은 반드시 원자 값이어야 한다

 

 

[관련 기출 문제]

슈퍼키 / 최소성 / 도메인 / 2 / 2

 

 

 

[참고 영상]

[정보처리기사 필기 절대족보] 핵심이론 3과목(데이터베이스 구축)

 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)
'자격증/정보처리기사' 카테고리의 다른 글
  • [정처기] 2과목 : 소프트웨어 개발 내용정리 - 2
  • [정처기] 2과목 : 소프트웨어 개발 내용정리 - 1
  • [정처기] 1과목 : 소프트웨어 설계 내용정리 - 4
  • [정처기] 1과목 : 소프트웨어 설계 내용정리 - 3
leonie.
leonie.
  • leonie.
    leveloper
    leonie.
  • 글쓰기 관리
    • 분류 전체보기 N
      • Language
        • Java
      • Git
      • CS
      • CodingTest
        • [프로그래머스] 자바
      • Framework
        • Spring
      • Information
      • DBMS
        • Redis
        • SQL
      • AWS
      • OS
        • Mac
      • 자격증 N
        • 정보처리기사 N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    정처기필기
    springboot
    자바
    프로그래머스
    알고리즘
    스프링
    정처기
    JPA
    코딩테스트
    Java
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
leonie.
[정처기] 3과목 : 데이터베이스 구축 내용정리 - 1
상단으로

티스토리툴바