프로그래밍기능사 CBT
종목 메뉴

개념 한 쪽

프로그래밍기능사 자료구조 기본 — 데이터 계층과 주소 지정

데이터베이스의 데이터는 테이블·레코드·필드의 포함 관계로 조직된다. 컴퓨터가 명령어를 실행할 때는 주소를 해석하는 방식과 명령어 형식, 그리고 각 장치의 역할 구분이 문제의 갈림길이 된다.

2026-10-22 기준 · 프로그래밍기능사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

뜻

데이터베이스에서 데이터는 계층적으로 조직된다. 가장 큰 단위는 테이블이고, 테이블은 여러 개의 행과 열로 이루어진다. 각 행은 하나의 레코드로 특정 개체나 사건에 대한 전체 정보를 담고, 각 열은 필드로 레코드 내 개별 속성을 나타낸다. 그래서 범위는 테이블이 가장 크고 그 안에 레코드가 있으며 레코드 안에 필드가 있다.

주소 지정 방식은 데이터를 어디서 찾을지를 정하는 규칙이다. 간접지정번지는 명령어에 적힌 번지가 데이터를 직접 가리키지 않고, 그 번지에 저장된 다른 주소가 실제 접근 대상이 되는 방식이다. 저장된 주소가 한 번 더 거쳐 실제 번지가 된다는 점이 핵심이다. 반면 절대지정이나 상대지정은 명령어 자체에 실제 주소나 기준 주소로부터의 거리를 직접 담는 방식이므로 간접지정과 구분된다.

명령어는 연산 내용을 나타내는 연산자와 작업 대상이 되는 주소로 구성된다. 주소 부분이 전혀 없이 연산자만 존재하는 형식을 0-주소 형식이라 하고, 스택 구조에서 피연산자 주소 없이 연산을 처리할 때 쓰인다. 1-주소, 2-주소, 3-주소 형식은 각각 그 수만큼의 주소를 포함한다. 기억장치의 고유 번지를 16진수처럼 숫자로 직접 지정한 주소는 절대 주소라 한다.

중앙처리장치는 여러 부분이 역할을 나눈다. 산술 및 논리 연산을 직접 수행하는 장치는 산술논리연산장치(ALU)이다. 다음에 수행될 명령어의 주소를 저장하는 레지스터는 프로그램 카운터(PC)이고, 현재 실행될 명령어를 가지고 있는 것은 명령어 레지스터(IR)이다.

입출력과 통신 쪽도 역할 구분이 문제가 된다. 원격지에 설치된 입출력 장치는 단말장치라 하고, 중앙처리장치와 입출력장치가 속도에서 서로 맞지 않아 생기는 문제를 없애는 장치는 채널장치이다.

예제

범위 비교 문제는 테이블·레코드·필드의 포함 관계를 거꾸로 뒤집어 선지를 만든다. 테이블을 레코드보다 작은 단위로 두거나 필드를 레코드 위에 놓으면 틀린다. 테이블을 박스, 레코드를 줄, 필드를 칸으로 놓고 포함 관계를 그려 확인한다.

주소와 장치 문제는 정의의 방향을 바꿔 함정을 만든다. 저장된 주소가 실제 번지가 되는 방식을 간접지정이 아니라 직접 지정 계열로 돌리거나, 다음 명령어 주소를 저장하는 레지스터를 명령어 레지스터로 바꾸면 틀린다. 산술·논리 연산 수행 장치를 저장용 유닛으로 두는 선지, 속도 차이 해결 장치를 제어장치나 단말장치로 돌리는 선지도 같은 방식의 함정이다. 각 장치의 이름과 저장 대상을 짝지어 확인한다.

자주 묻는 물음

테이블·레코드·필드의 범위는 어떻게 되나요?
테이블이 가장 크고 그 안에 레코드가 있으며 레코드 안에 필드가 있다. 테이블은 레코드의 집합이고 레코드는 필드의 집합이므로 범위 순은 테이블, 레코드, 필드가 된다.
간접지정번지는 무엇인가요?
명령어에 적힌 번지에 저장된 주소가 실제 접근 대상이 되는 방식이다. 저장된 주소가 한 번 더 거쳐 실제 번지가 되며, 주소가 주소를 가리키는 구조로 이해한다.
0-주소 형식은 어떤 경우에 쓰나요?
주소 부분이 없이 연산자만 존재하는 형식으로, 피연산자 주소 없이 스택 구조에서 산술에 필요한 명령어를 처리할 때 쓰인다.
이 개념 문제 10개 풀기 회원용

프로그래밍기능사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.