정보처리산업기사필기요약 정의 ( 조직 )(Definition) 기능 : 데이터의형 (Type) 과구조, 데이터가 DB 에저장될때의제약조건등을명시하는기능 조작 (Manipulation) 기능 : 데이터검색, 갱신, 삽입삭제등을체계적으로처리하기위해데이터접근수단등을정하는기능

Similar documents
프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

금오공대 컴퓨터공학전공 강의자료

DBMS & SQL Server Installation Database Laboratory

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

untitled

chap 5: Trees

2 장수의체계 1. 10진수 2. 2진수 3. 8진수와 16진수 4. 진법변환 5. 2진정수연산과보수 6. 2진부동소수점수의표현 한국기술교육대학교전기전자통신공학부전자전공 1

OCW_C언어 기초

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

03-01 데이터모델링과데이터모델의개념 개체-관계모델 논리적데이터모델

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

PowerPoint Presentation

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

슬라이드 1

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

슬라이드 제목 없음

슬라이드 제목 없음

Computer Architecture

Microsoft PowerPoint - hw8.ppt [호환 모드]

Microsoft PowerPoint - hy2-12.pptx

금오공대 컴퓨터공학전공 강의자료

CH06)자료구조.hwp

PowerPoint 프레젠테이션

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

슬라이드 제목 없음

슬라이드 1

4. 다음주소지정방식중속도가가장빠른주소방식은? 가. immediate addressing mode 나. direct addressing mode 다. indirect addressing mode 라. index register. 5. 간접주소 (indirect addr

02-01 데이터베이스의필요성 데이터베이스의정의와특성

PowerPoint Presentation

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - chap04-연산자.pptx

Chapter 4. LISTS

Microsoft PowerPoint - hy2-12.pptx

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

PowerPoint 프레젠테이션

chap 5: Trees

PowerPoint Presentation

Microsoft PowerPoint - QVIZMVUMWURI.pptx

8장 조합논리 회로의 응용

슬라이드 제목 없음

PowerPoint 프레젠테이션

MySQL-.. 1

Computer Architecture

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

정보기사_핵심_부속

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft Word - logic2005.doc

ºÎ·ÏB

Object Oriented Analyis & Design Training Agenda

강의 개요

lecture01

Microsoft Word - FunctionCall

Microsoft PowerPoint - 2장 (DBConcepts) [호환 모드]

JVM 메모리구조

Microsoft PowerPoint - 1-2장 디지털_데이터 .ppt

7장

학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 제어장치

Microsoft PowerPoint - 사본 - DB06-SQL,시스템카탈로그,뷰.ppt

Microsoft Word - PLC제어응용-2차시.doc

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

PowerPoint 프레젠테이션

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

PowerPoint Presentation

08장.트리

Chap 6: Graphs

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

2002년 2학기 자료구조

3차시.ppt

C# Programming Guide - Types

Chap 6: Graphs

05_tree

adfasdfasfdasfasfadf

PowerPoint Presentation

Microsoft PowerPoint - 사본 - OAS04-사무자동화 기술(HW-CPU).ppt

gisa_pil_070304_pdf.hwp

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 10Àå.ppt

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

03_queue

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - 26.pptx

< B3E220C1A632C8B820C4C4C7BBC5CDBFEEBFEBBBE72041C7FC28C3D6C1BE292E687770>

쉽게 풀어쓴 C 프로그래밊

SQL

강의 개요

5장 SQL 언어 Part II

11장 포인터

Transcription:

1 과목 데이터베이스 001 정보시스템 12.3, 07.9, 06.3, 05.3, 03.8, 00.5, 99.6 정보시스템 조직체에필요한 Data 를수집, 저장해두었다가필요시에처리해서의사결정에유용한정보를생성하고분배하는수단이다. 사용하는목적에따라경영정보시스템, 군사정보시스템, 인사행정정보시스템, 의사결정지원시스템등으로사용된다. 정보와자료 자료 (Data) : 현실세계에서관찰이나측정을통해수집한단순한사실이나결과값으로, 가공되지않은상태 정보 (Information) : 의사결정에도움을줄수있는유용한형태로, 자료를가공 ( 처리 ) 해서얻는결과물 002 자료 자료처리시스템 가공 ( 처리 ) 정보 자료처리시스템 : 정보시스템이사용할자료를처리하는정보시스템의서브시스템으로, 처리형태에따라일괄처리시스템, 온라인실시간처리시스템, 분산처리시스템으로분류 데이터웨어하우스 (DataWare House) : 조직이나기업체의중심이되는주요업무시스템에서추출되어새로이생성된데이터베이스로서의사결정지원시스템을지원하는주체적, 통합적, 시간적데이터의집합체 14.8, 14.3, 13.6, 13.3, 12.8, 12.3, 11.6, 10.9, 09.3, 08.9, 08.3, 07.5, 07.3, 05.4, 04.5, 99.4 데이터베이스의정의 통합된데이터 (Integrated Data) : 자료의중복을배제한데이터의모임 저장된데이터 (Stored Data) : 컴퓨터가실시간으로접근할수있는저장매체에저장된자료 운영데이터 (Operational Data) : 조직의고유한업무를수행하는데있어서존재가치가확실하고없어서는안될반드시필요한자료 공용데이터 (Shared Data) : 여러응용시스템들이공동으로소유하고유지하는자료 003 004 005 정보처리산업기사필기요약 14.5, 14.3, 13.8, 13.3, 12.8, 12.5, 11.8, 11.3, 10.5, 10.3, 09.8, 09.3, 08.5, 07.5, 07.3 데이터베이스의특성 실시간접근성 (Real Time Accessibility) : 수시적이고비정형적인질의 ( 조회 ) 에대하여실시간처리 (Real-Time Processing) 에의한응답이가능함 계속적인변화 (Continuous Evolution) : 새로운데이터의삽입 (Insertion), 삭제 (Deletion), 갱신 (Update) 으로항상최신의데이터를유지함 동시공유 ( 동시공용 )(Concurrent Sharing) : 여러사용자가동시에자기가원하는데이터를이용할수있음 내용에의한참조 (Content Reference) : 데이터베이스에있는데이터를참조할때데이터주소나위치에의해서가아니라사용자가요구하는데이터내용으로데이터를찾음 09.5, 02.3, 01.3, 99.10 기존의파일처리방식에서의문제점 종속성으로인한문제점 종속성이란응용프로그램과데이터파일이상호의존적인관계를말한다. 데이터파일이보조기억장치에저장되는방법이나저장된데이터의접근방법을변경할때는응용프로그램도같이변경해야한다. 중복성으로인한문제점 일관성 : 중복된데이터간에내용이일치하지않는상황이발생하여일관성이없어짐 보안성 : 중복되어있는모든데이터에동등의보안수준을유지하기가어려움 경제성 : 저장공간의낭비와동일한데이터의반복작업으로인한비용의증가 무결성 : 제어의분산으로인해데이터의정확성을유지할수없음 14.8, 13.6, 10.9, 10.5, 07.9, 06.9, 06.5, 05.5, 04.9, 04.5, 03.3, 02.9, 02.5, 02.3, 01.9, 01.6, 00.5, 00.3, 99.10 DBMS 의정의및필수기능 DBMS 란사용자와데이터베이스사이에서사용자의요구에따라정보를생성해주고, 데이터베이스를관리해주는소프트웨어로다음과같은 3 가지의필수기능이있다. 4

정보처리산업기사필기요약 정의 ( 조직 )(Definition) 기능 : 데이터의형 (Type) 과구조, 데이터가 DB 에저장될때의제약조건등을명시하는기능 조작 (Manipulation) 기능 : 데이터검색, 갱신, 삽입삭제등을체계적으로처리하기위해데이터접근수단등을정하는기능 제어 (Control) 기능 - 데이터베이스를접근하는갱신, 삽입, 삭제작업이정확하게수행되어데이터의무결성이유지되도록제어해야한다. - 정당한사용자가허가된데이터만접근할수있도록보안 (Security) 을유지하고권한 (Authority) 을검사할수있어야한다. - 여러사용자가데이터베이스를동시에접근하여데이터를처리할때처리결과가항상정확성을유지하도록병행제어 (Concurrency Control) 를할수있어야한다. 백업 (Backup) 장비고장등의비상사태에도데이터베이스가보존되도록복사해놓는작업 007 13.6, 10.5, 10.3, 08.5, 08.3, 06.9, 02.9, 00.10, 00.3, 99.10 스키마 (Schema) 의정의 데이터베이스의구조와제약조건에관한전반적인명세 (Specification) 를기술 (Description) 한다. 데이터베이스를구성하는데이터개체 (Entity), 속성 (Attribute), 관계 (Relationship) 및데이터조작시데이터값들이갖는제약조건등에관해전반적으로정의한다. 스키마는사용자의관점에따라외부스키마, 개념스키마, 내부스키마로나누어진다. 스키마 (Schema) 는데이터사전에저장되며, 다른이름으로메타데이터 (Meta-data) 라고도한다. 006 14.8, 12.5, 12.3, 11.3, 06.5, 05.9, 05.4, 05.3, 04.9, 02.9, 02.5, 00.10, 00.3 DBMS의장 단점 장점 데이터의중복을피할수있음 저장된자료를공동으로이용할수있음 데이터의일관성을유지할수있음 데이터의무결성을유지할수있음 보안을유지할수있음 데이터를표준화할수있음 데이터를통합하여관리할수있음 항상최신의데이터를유지함 데이터의실시간처리가가능함 데이터의논리적 물리적독립성이보장됨 논리적독립성과물리적독립성 단점 데이터베이스전문가부족 전산화비용이증가함 대용량디스크로의집중적인 Access 로과부하 (Overhead) 가발생함 파일의예비 (Backup) 와회복 (Recovery) 이어려움 시스템이복잡함 파일시스템에비해자료처리방법이복잡함 논리적독립성 : 응용프로그램과데이터베이스를독립시킴으로써, 데이터의논리적구조를변경시키더라도응용프로그램은변경되지않음 물리적독립성 : 응용프로그램과보조기억장치같은물리적장치를독립시킴으로써, 데이터베이스시스템의성능향상을위해새로운디스크를도입하더라도응용프로그램에는영향을주지않고데이터의물리적구조만을변경함 5 008 14.5, 11.8, 11.6, 11.3, 09.8, 09.3, 08.9. 08.3, 07.9, 07.3, 06.5, 06.3, 05.9, 05.3, 04.5, 03.5, 03.3, 02.9, 02.5, 01.9, 01.6, 01.3 스키마 (Schema) 의 3계층 외부스키마 (External Schema) = 서브스키마 = 사용자뷰 (View) 사용자나응용프로그래머가각개인의입장에서필요로하는데이터베이스의논리적구조를정의한다. 전체데이터베이스의한논리적인부분으로볼수있으므로서브스키마 (Subschema) 라고도한다. 하나의데이터베이스시스템에는여러개의외부스키마가존재할수있으며, 하나의외부스키마를여러개의응용프로그램이나사용자가공용할수있다. 같은데이터베이스에대해서도서로다른관점을정의할수있도록허용한다. 일반사용자는질의어 (SQL) 를사용하여 DB 를사용한다. 개념스키마 (Conceptual Schema) = 전체적인뷰 (View) 데이터베이스의전체적인논리적구조로서, 모든응용프로그램이나사용자들이필요로하는데이터를종합한조직전체의데이터베이스로하나만존재한다. 개념스키마는개체간의관계와제약조건을나타내고데이터베이스의접근권한, 보안및무결성규칙에관한명세를정의한다.

데이터베이스파일에저장되는데이터의형태를나타낸것으로단순히스키마 (Schema) 라고하면개념스키마를의미한다. 기관이나조직체의관점에서데이터베이스를정의한것이다. 데이터베이스관리자에의해서구성된다. 내부스키마 (Internal Schema) 물리적저장장치의입장에서본데이터베이스구조로, 물리적인저장장치와밀접한계층이다. 실제로데이터베이스에저장될레코드의물리적인구조를정의하고, 저장데이터항목의표현방법, 내부레코드의물리적순서등을나타낸다. 시스템프로그래머나시스템설계자가보는관점의스키마이다. 009 13.8, 09.5, 05.4, 05.3, 03.8, 03.5, 02.5, 02.3, 01.6, 00.7, 00.5, 99.10 데이터베이스언어 (Database Language) 데이터정의언어 (DDL; Data Definition Language) DB 구조, 데이터형식, 접근방식등 DB 를구축하거나수정할목적으로사용하는언어이다. 번역한결과가데이터사전 (Data-Dictionary) 이라는특별한파일에여러개의테이블로저장된다. 데이터정의언어의기능 - 외부스키마명세정의 - 데이터베이스정의및수정 - 스키마에사용되는제약조건에대한명세정의 - 데이터의물리적순서규정 데이터조작언어 (DML; Data Manipulation Language) = 서브언어 사용자로하여금데이터를처리할수있게하는도구로서사용자 ( 응용프로그램 ) 와 DBMS 간의인터페이스를제공한다. 응용프로그램을통하여사용자가 DB 의데이터를실질적으로조작할수있도록하기위해 C, COBOL 등의호스트언어에 DB 기능을추가시켜만든언어이다. 대표적인데이터조작어 (DML) 에는질의어가있으며, 질의어는터미널에서주로이용하는비절차적 (Non procedural) 데이터언어이다. 010 정보처리산업기사필기요약 데이터제어언어 (DCL; Data Control Language) 무결성, 보안및권한제어, 회복등을하기위한언어이다. 데이터를보호하고데이터를관리하는목적으로사용된다. 데이터제어언어의기능 - 불법적인사용자로부터데이터를보호하기위한데이터보안 (Security) - 데이터의정확성을위한무결성 (Integrity) 유지 - 시스템장애에대비한데이터회복과병행수행제어 14.3, 13.8, 09.5, 09.3, 08.9, 07.5, 06.9, 06.5, 05.9, 05.4, 04.9, 04.5, 03.8, 03.5, 02.9, 01.9, 01.6, 00.7 기타데이터베이스사용자 DBA(DataBase Administrator) 데이터베이스시스템의모든관리와운영에대한책임을지고있는사람이나그룹을의미한다. 데이터베이스구성요소결정 개념스키마및내부스키마정의 데이터베이스의저장구조및접근방법정의 보안및데이터베이스의접근권한부여정책수립 장애에대비한예비 (Back Up) 조치와회복 (Recovery) 에대한전략수립 무결성을위한제약조건의지정 데이터사전의구성과유지관리 DBMS 의선택, 보완, 평가에대한책임 사용자의요구와불평의청취및해결 변화요구에대한적응과성능향상에대한감시 시스템감시및성능분석 데이터사용추세, 이용형태및각종통계등을종합, 분석 응용프로그래머 응용프로그래머는일반호스트언어로프로그램을작성할때데이터조작어를삽입해서일반사용자가응용프로그램을사용할수있게, 인터페이스를제공할목적으로데이터베이스를접근하는사람들이다. 응용프로그래머는 C, COBOL, PASCAL 등의호스트언어와 DBMS 가지원하는데이터조작어에능숙한컴퓨터전문가이다. 6

일반사용자 일반사용자는보통터미널을이용하여데이터베이스에있는자원을활용할목적으로질의어나응용프로그램을사용하여데이터베이스에접근하는사람들이다. 011 05.3, 03.8, 02.5, 00.7, 99.10 데이터모델의정의 현실세계의정보들을컴퓨터에표현하기위해서단순화, 추상화하여체계적으로표현한개념적모형이다. 데이터, 데이터의관계, 데이터의의미및일관성, 제약조건등을기술하기위한개념적도구들의모임이다. 현실세계를데이터베이스에표현하는중간과정, 즉데이터베이스설계과정에서데이터의구조를논리적으로표현하기위해사용되는도구이다. 012 개념적데이터모델 04.9, 01.6, 00.5, 99.10 데이터모델의종류 현실세계에대한인간의이해를돕기위하여현실세계에대한인식을추상적개념으로표현하는과정이다. 속성들로기술된개체타입과이개체타입들간의관계를이용하여현실세계를표현하는방법이다. 현실세계에존재하는개체를인간이이해할수있는정보구조로표현하기때문에정보모델이라고도한다. 대표적으로개체 - 관계 (E-R) 모델이있다. 논리적데이터모델 개념적모델링과정에서얻은개념적구조를컴퓨터가이해하고처리할수있는컴퓨터세계의환경에맞도록변환하는과정이다. 필드로기술된데이터타입과이데이터타입들간의관계를이용하여현실세계를표현하는방법이다. 단순히데이터모델이라고하면논리적데이터모델을의미한다. 논리적데이터모델은데이터간의관계를어떻게표현하느냐에따라관계형모델, 계층형모델, 네트워크형모델, 객체지향모델로구분한다. 013 정보처리산업기사필기요약 14.8, 13.6, 12.5, 11.3, 08.5, 08.3, 06.9, 06.3, 05.9, 04.3 데이터모델에표시할사항 구조 (Structure) : 논리적으로표현된개체들간의관계를표시함 연산 (Operation) : 데이터베이스에저장된실제데이터를처리하는방법을표시하는것으로서, 데이터베이스를조작하는기본도구임 제약조건 (Constraint) : 데이터베이스에저장될수있는실제데이터의논리적인제약조건을표시함 014 개체 (Entity) 14.5, 14.3, 12.8, 12.5, 11.6, 11.3, 10.9, 10.5, 10.3, 09.8, 09.3, 07.9, 05.5, 05.3, 04.9, 00.10, 00.3 데이터모델의구성요소 데이터베이스에표현하려는것으로, 사람이생각하는개념이나정보단위같은현실세계의대상체이다. 유형, 무형의정보로서서로연관된몇개의속성으로구성된다. 파일시스템의레코드에대응하는것으로, 어떤정보를제공하는역할을수행한다. 독립적으로존재하거나그자체로서도구별이가능하다. 속성 (Attribute) 데이터의가장작은논리적단위로서파일구조의데이터항목또는데이터필드에해당된다. 개체를구성하는항목이다. 교수개체의구성요소 - 속성 : 개체가가지고있는특성, 교수번호, 성명, 전공, 소속 - 개체타입 : 속성으로만기술된개체의정의 7

정보처리산업기사필기요약 - 개체인스턴스 : 개체를구성하고있는각속성들이값을가져하나의개체를나타내는것으로개체어커런스 (Occurence) 라고도함 기호기호이름의미 사각형 개체 (Entity) 타입 - 개체세트 : 개체인스턴스의집합관계 (Relationship) 개체간의관계또는속성간의관계 위그림의관계는교수가학생을지도하는관계이다. 마름모 타원 밑줄타원 복수타원 n m 관계 선, 링크 관계 (Relationship) 타입 속성 (Attribute) 기본키속성 복합속성 성명은성과이름으로구성 1:1, 1:N, N:M 등의개체관계에대해선위에대응수기술 개체타입과속성연결 015 11.8, 09.8, 09.5, 07.9, 06.9, 05.4, 04.3, 03.8, 02.3 개체- 관계 (Entity-Relationship) 모델 개념적데이터모델의가장대표적인것으로, 1976 년 Peter Chen 에의해제안되었다. 개체타입 (Entity Type) 과이들간의관계타입 (Relationship Type) 을이용해현실세계를개념적으로표현한다. 데이터를개체 (Entity), 관계 (Relationship), 속성 (Attribute) 으로묘사한다. 특정 DBMS 를고려한것은아니다. E-R 다이어그램으로표현하며, 1:1, 1:N, N:M 등의관계유형을제한없이나타낼수있다. 016 02.5, 02.3, 02.5, 02.3 14.5, 13.8, 12.8, 12.3, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 06.3, 05.5, 05.3, 04.9, 04.5, 04.3, 03.5, 02.9, E-R 다이어그램 E-R 모델의기본적인아이디어를시각적으로표현하기위한도구이다. 개체간의관계는물론시스템내의역할을하는모든개체들, 즉조직, 부서, 사용자, 프로그램, 데이터를모두표시한다. 017 05.9, 99.10 관계형데이터모델 계층모델과망모델의복잡한구조를단순화시킨모델이다. 2 차원적인표 (Table) 를이용해서데이터상호관계를정의하는 DB 구조를말하는데, 파일구조처럼구성한테이블들을하나의 DB 로묶어서테이블내에있는속성들간의관계 (Relationship) 를설정하거나테이블간의관계를설정하여이용한다. 데이터간의관계를기본키 (Primary Key) 와이를참조하는외래키 (Foreign Key) 로표현한다. 대표적인 DBMS : Oracle, MS-SQL, Informix 등 1:1, 1:N, M:N 관계를자유롭게표현할수있다. 장점 : 간결하고, 보기편리하며, 다른데이터베이스로의변환이용이함 단점 : 성능이다소떨어짐 8

018 14.3, 07.9, 03.8, 02.3, 01.6, 99.8 계층형데이터모델 데이터의논리적구조도가트리형태이며, 개체가트리를구성하는노드역할을한다. 개체집합에대한속성관계를표시하기위해개체를노드로표현하고개체집합들사이의관계를링크로연결한다. 개체간의관계를부모와자식간의관계로표현한다. 개체타입간에는상위와하위관계가존재하며, 일대다 (1:N) 대응관계만존재한다. 레코드삭제시연쇄삭제 (Triggered Delete) 가된다. 개체타입들간에는사이클 (Cycle) 이허용되지않는다. 계층형모델에서는개체 (Entity) 를세그먼트 (Segment) 라부른다. 대표적인 DBMS : IMS 등 019 020 14.5, 14.3, 13.8, 13.6, 11.8, 11.6, 11.3, 10.3, 09.8, 08.5, 05.9, 03.3, 00.3, 99.6 망 ( 그래프, 네트워크 ) 형데이터모델 CODASYL 이제안한것으로, CODASYL DBTG 모델이라고도한다. 그래프를이용해서데이터논리구조를표현한데이터모델이다. 상위와하위레코드사이에서다대다 (N:M) 대응관계를만족하는구조이다. 상위의레코드를 Owner, 하위의레코드를 Member 라하여 Owner-Member 관계라고도한다. 레코드타입간의관계는 1:1, 1:N, N:M 이될수있다. 대표적인 DBMS : DBTG, EDBS, TOTAL 등 06.3, 05.4, 05.3, 03.5, 03.3, 00.10, 00.7, 00.5, 99.8 14.8, 14.3, 13.6, 13.3, 12.8, 12.5, 12.3, 11.8, 11.6, 11.3, 10.9, 10.5, 10.3, 09.8, 09.5, 09.3, 08.9, 08.3, 07.5, 07.3, 06.9, 데이터베이스설계 개념적설계 ( 정보모델링, 개념화 ) 정보의구조를얻기위하여현실세계의무한성과계속성을이해하고, 다른사람과통신하기위하여현실세계에대한인식을추상적개념으로표현하는과정이다. 개념스키마모델링과트랜잭션모델링을병행하여수행한다. 정보처리산업기사필기요약 요구분석단계에서나온결과 ( 요구조건명세 ) 를 DBMS 에독립적인 E-R 다이어그램 ( 개체관계도 ) 으로작성한다. DBMS 에독립적인개념스키마를설계한다. 논리적설계 ( 데이터모델링 ) 현실세계에서발생하는자료를컴퓨터가처리할수있는물리적저장장치에저장할수있도록변환하기위해특정 DBMS 가지원하는논리적자료구조로변환시키는과정이다. 개념세계의데이터를필드로기술된데이터타입과이데이터타입들간의관계로표현되는논리적구조의데이터로모델화한다. 개념적설계가개념스키마를설계하는단계라면논리적설계에서는개념스키마를평가및정제하고 DBMS 에따라서로다른논리적스키마를설계하는단계이다. 트랜잭션의인터페이스를설계한다. 관계형데이터베이스라면테이블을설계하는단계이다. 물리적설계 ( 데이터구조화 ) 논리적설계단계에서논리적구조로표현된데이터를디스크등의물리적저장장치에저장할수있는물리적구조의데이터로변환하는과정이다. 물리적설계단계에서는다양한데이터베이스응용에대해처리성능을얻기위해데이터베이스파일의저장구조및액세스경로를결정한다. 저장레코드의형식, 순서, 접근경로와같은정보를사용하여데이터가컴퓨터에저장되는방법을묘사한다. 물리적설계단계에꼭포함되어야할것은저장레코드의양식설계, 레코드집중 (Record Clustering) 의분석및설계, 접근경로설계등이있다. 물리적데이터베이스구조의기본적인데이터단위는저장레코드 (Stored Record) 이다. 물리적데이터베이스구조는여러가지타입의저장레코드집합이라는면에서단순한파일과다르다. 물리적데이터베이스구조는데이터베이스시스템의성능에중대한영향을미친다. 물리적설계옵션선택시고려사항 - 반응시간 (Response Time) : 트랜잭션수행을요구한시점부터처리결과를얻을때까지의경과 ( 응답 ) 시간 9

- 공간활용도 (Space Utilization) : 데이터베이스파일과액세스경로구조에의해사용되는저장공간의양 - 트랜잭션처리량 (Transaction Throughput) : 단위시간동안데이터베이스시스템에의해처리될수있는트랜잭션의평균개수 021 요구분석 개념적설계 논리적설계 물리적설계 구현 022 13.8, 13.6, 12.5, 10.3, 08.5, 08.3, 07.5, 07.3, 06.9, 06.5, 05.9, 05.4, 04.5, 03.8, 03.5, 03.3, 02.9, 01.9 데이터베이스설계순서 요구조건명세서작성 개념스키마, 트랜잭션모델링, E-R 모델 목표 DBMS 에맞는스키마설계, 트랜잭션인터페이스설계 목표 DBMS 에맞는물리적구조의데이터로변환 특정 DBMS 의 DDL 로데이터베이스생성, 트랜잭션작성 02.9, 02.3, 01.9, 01.6, 00.10 14.5, 13.6, 12.8, 12.5, 12.3, 10.9, 09.5, 09.3, 07.9, 07.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.3, 04.9, 04.5, 04.3, 03.5, 03.3, 관계데이터베이스의 Relation 구조 속성 (Attribute, 애트리뷰트 ) 정보처리산업기사필기요약 데이터베이스를구성하는가장작은논리적단위 파일구조상의데이터항목또는데이터필드 ( 열 ) 에해당된다. 개체의특성을기술한다. 속성의수 = 디그리 (Degree) = 차수 도메인 (Domain) 하나의애트리뷰트가취할수있는같은타입의원자 (Atomic) 값들의집합 실제애트리뷰트값이나타날때그값의합법여부를시스템이검사하는데에도이용된다. 릴레이션스키마 한릴레이션의논리적구조를기술한것이다. 릴레이션스키마는정적인성질을가지며, 릴레이션인스턴스는동적인성질을가진다. 릴레이션인스턴스 (Relation Instance) 데이터개체를구성하고있는속성들에데이터타입이정의되어구체적인데이터값을갖고있는것을말한다. < 학생 > 릴레이션의인스턴스 릴레이션은데이터들을표 (Table) 의형태로표현한것으로, 구조를나타내는릴레이션스키마와실제값들인릴레이션인스턴스로구성된다. 023 05.5, 05.3, 04.9, 04.5, 99.10 14.8, 14.3, 13.8, 13.3, 12.8, 12.5, 11.6, 10.9, 10.5, 10.3, 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.5, 06.3, 05.9, 릴레이션의특징 < 학생 > 릴레이션 < 학생 > 릴레이션 속성 릴레이션스키마 < 학생 > 릴레이션 학번이름학년신장학과 튜플 학번 이름 학년 신장 학과 89001 홍길동 2 170 CD 89002 이순신 1 169 CD 87012 임꺽정 2 180 ID 86032 장보고 4 174 ED 89001 홍길동 2 170 CD 89002 이순신 1 169 CD 87012 임꺽정 2 180 ID 86032 장보고 4 174 ED 학년의도메인릴레이션인스턴스 튜플 (Tuple) 릴레이션을구성하는각각의행 속성의모임으로구성된다. 파일구조에서레코드와같은의미이다. 튜플의수 = 카디널리티 (Cardinality) = 기수 = 대응수 한릴레이션에포함된튜플들은모두상이하다. < 학생 > 릴레이션을구성하는홍길동레코드는홍길동에대한학적사항을나타내는것으로 < 학생 > 릴레이션내에서는유일하다. 한릴레이션에포함된튜플사이에는순서가없다. < 학생 > 릴레이션에서홍길동레코드와임꺽정레코드의위치가바뀌어도상관없다. 10

정보처리산업기사필기요약 튜플들의삽입, 삭제등의작업으로인해릴레이션은시간에따라변한다. < 학생 > 릴레이션에새로운학생의레코드를삽입하거나, 기 존학생에대한레코드를삭제함으로써테이블은내용면에 서나크기면에서변하게된다. 릴레이션스키마를구성하는속성들간의순서는중요하지않다. 학번, 이름등의속성을나열하는순서가이름, 학번순으로 바뀌어도데이터처리에는아무런영향을미치지않는다. 속성의유일한식별을위해속성의명칭은유일해야하지만, 속성을구성하는값은동일한값이있을수있다. 각학생의학년을기술하는속성인 학년 은다른속성명들 과구분되어유일해야하지만 학년 속성에는 2, 1, 2, 4 등 이입력된것처럼동일한값이있을수있다. 릴레이션을구성하는튜플을유일하게식별하기위해속성들의부분집합을키 (Key) 로설정한다. < 학생 > 릴레이션에서는 학번 이나 이름 이튜플들을구분 하는유일한값인키가될수있다. 속성은더이상쪼갤수없는원자값만을저장한다. 학년 에저장된 1, 2, 4 등은더이상세분화할수없다. 024 01.3, 99.10, 99.4 14.5, 14.3, 13.3, 12.8, 12.3, 11.8, 11.3, 10.5, 10.3, 09.8, 09.5, 08.5 08.3, 07.9, 06.5, 05.9, 05.4, 04.9, 03.3, 02.5, 02.3, 키 (Key) 의개념및종류 키 (Key) 는데이터베이스에서조건에만족하는튜플을찾거나순서대로정렬할때다른튜플들과구별할수있는유일한기준이되는애트리뷰트 ( 속성 ) 이다. < 학생 > 릴레이션 < 수강 > 릴레이션 후보키 (Candidate Key) 기본키 (Primary Key) 대체키 (Alternate Key) 슈퍼키 (Super Key) 외래키 (Foreign Key) 릴레이션을구성하는속성들중에서튜플을유일하게식별하기위해사용하는속성들의부분집합, 즉기본키로사용할수있는속성들을말함 릴레이션에있는모든튜플에대해서유일성과최소성을만족시켜야함 < 학생 > 릴레이션에서 학번 이나 주민번호 는다른레코드를유일하게구별할수있는기본키로사용할수있으므로후보키이다. 후보키중에서선택한주키 (Main Key) 한릴레이션에서특정튜플을유일하게구별할수있는속성 Null 값을가질수없음 기본키로정의된속성에는동일한값이중복되어저장될수없음 < 학생 > 릴레이션에서는 학번 이나 주민번호 가기본키가될수있고, < 수강 > 릴레이션에서는 학번 + 과목명 으로조합해야기본키가만들어진다. 학번 이 < 학생 > 릴레이션의기본키로정의되면이미입력된 1001 은다른튜플의 학번 속성의값으로입력할수없다. 후보키가둘이상일때기본키를제외한나머지후보키들을말하며, 보조키라고도함 < 학생 > 릴레이션에서 학번 을기본키로정의하면 주민번호 는대체키가된다. 슈퍼키는한릴레이션내에있는속성들의집합으로구성된키로서릴레이션을구성하는모든튜플중슈퍼키로구성된속성의집합과동일한값은나타나지않음 릴레이션을구성하는모든튜플에대해유일성은만족시키지만, 최소성은만족시키지못함 < 학생 > 릴레이션에서는 학번, 주민번호, 학번 + 주민번호, 주민번호 + 성명, 학번 + 주민번호 + 성명 등으로슈퍼키를구성할수있다. 관계 (Relationship) 를맺고있는릴레이션 R1, R2 에서릴레이션 R1 이참조하고있는릴레이션 R2 의기본키와같은 R1 릴레이션의속성 관계형데이터모델에서외래키는참조되는릴레이션의기본키와대응되어릴레이션간에참조관계를표현하는데중요한도구로사용됨 외래키로지정되면참조테이블의기본키에없는값은입력할수없음 < 수강 > 릴레이션이 < 학생 > 릴레이션을참조하고있으므로 < 학생 > 릴레이션의 학번 은기본키이고, < 수강 > 릴레이션의 학번 은외래키이다. < 수강 > 릴레이션의 학번 에는 < 학생 > 릴레이션의 학번 에없는값은입력할수없다. 11

정보처리산업기사필기요약 잠깐만요! 널 값 (NULL Value) : 데이터베이스에서아직알려지지않았거나모르는값으로서 해당없음 등의이유로정보부재를나타내기위해사용하는, 이론적으로아무것도없는특수한데이터 최소성과유일성 : 학번 + 주민번호 를사용하여슈퍼키를만들면다른튜플들과구분할수있는유일성은만족하지만, 학번 이나 주민번호 하나만가지고도다른튜플들을구분할수있으므로최소성은만족시키지못함 025 00.10, 00.7, 00.5, 00.3, 99.10, 99.8, 99.6 13.6, 13.3, 12.8, 11.8, 10.3, 09.8, 09.3, 08.5, 08.3, 07.9, 07.5, 05.4, 05.3, 04.5, 03.8, 03.3, 02.9, 02.3, 01.9, 01.6, 무결성 (Integrity) 개체무결성 : 릴레이션에서기본키를구성하는속성은널 (NULL) 값이나중복값을가질수없음 < 학생 > 릴레이션에서 학번 이기본키로정의되면튜플을 추가할때 주민번호 나 성명 필드에는값을입력하지않아 도되지만 학번 속성에는반드시값을입력해야한다. 또한 학번 속성에는이미한번입력한속성값을중복하여입 력할수없다. 참조무결성 : 외래키값은 NULL 이거나참조릴레이션의기본키값과동일해야함, 즉릴레이션은참조할수없는외래키값을가질수없음 < 수강 > 릴레이션의 학번 속성에는 < 학생 > 릴레이션의 학 번 속성에없는값은입력할수없다. 도메인무결성 : 특정속성의값이, 그속성이정의된도메인에속한값이어야한다는규정 성별속성의도메인은 남 과 여 로, 그외의값은입력할 수없다. 026 12.8, 12.5, 11.8, 09.8, 05.3 관계대수 관계형데이터베이스에서원하는정보와그정보를어떻게유도하는가를기술하는절차적인언어이다. 릴레이션을처리하기위해연산자와연산규칙을제공하는언어로피연산자가릴레이션이고, 결과도릴레이션이다. 질의에대한해를구하기위해수행해야할연산의순서를명시한다. 순수관계연산자 : Select, Project, Join, Division 일반집합연산자 : UNION( 합집합 ), INTERSECTION ( 교집합 ), DIFFERENCE ( 차집합 ), Cartesian Product( 교차곱 ) 027 14.8, 14.5, 12.3, 10.9, 10.3, 09.5, 08.9, 08.5, 03.8, 03.5, 99.8 순수관계연산자 관계데이터베이스에적용할수있도록특별히개발한관계연산자 연산자 Select Project Join Division 028 특징 릴레이션에존재하는튜플중에서선택조건을만족하는튜플의부분집합을구하여새로운릴레이션을만듦 릴레이션의행 ( 가로 ) 에해당하는튜플을구하는것이므로수평연산이라고도함 연산자의기호는그리스문자시그마 (σ) 를사용함 주어진릴레이션에서속성 List 에제시된 Attribute 만을추출하는연산 릴레이션의열 ( 세로 ) 에해당하는 Attribute 를추출하는것이므로수직연산자라고도함 연산자의기호는그리스문자파이 (π) 를사용함 공통속성을중심으로 2 개의릴레이션을하나로합쳐서새로운릴레이션을만드는연산 연산자의기호는 를사용함 조인조건이 = 일때동일한속성이두번나타나게되는데, 이중중복된속성을제거하여같은속성을한번만표기하는방법을자연 (NATURAL) 조인이라고함 X Y 인 2 개의릴레이션에서 R(X) 와 S(Y) 가있을때, R 의속성이 S 의속성값을모두가진튜플에서 S 가가진속성을제외한속성만을구하는연산 14.5, 14.3, 12.8, 12.5, 11.6, 10.9, 10.5, 09.5, 09.3, 07.9, 06.3, 04.3, 00.5 관계해석 코드 (E. F. Codd) 가수학의 Predicate Calculus( 술어해석 ) 에기반을두고관계데이터베이스를위해제안했다. 관계해석은원하는정보가무엇이라는것만정의하는비절차적특성을지닌다. 원하는정보를정의할때는계산수식을사용한다. 튜플관계해석과도메인관계해석이있다. 기본적으로관계해석과관계대수는관계데이터베이스를처리하는기능과능력면에서동등하다. 질의어로표현한다. 12

029 정규화의개요 14.5, 13.3, 10.5, 09.5, 05.4, 04.3, 00.3 정규화 (Normalization) 함수적종속성등의종속성이론을이용하여잘못설계된관계형스키마를더작은속성의세트로쪼개어바람직한스키마로만들어가는과정이다. 정규형에는제 1 정규형, 제 2 정규형, 제 3 정규형, BCNF 형, 제 4 정규형, 제 5 정규형이있으며, 차수가높아질수록만족시켜야할제약조건이늘어난다. 정규화는데이터베이스의개념적설계단계와논리적설계단계에서수행한다. 정규화는논리적처리및품질에큰영향을미친다. 정규화의목적 데이터구조의안정성을최대화한다. 어떠한릴레이션이라도데이터베이스내에서표현가능하게만든다. 효과적인검색알고리즘을생성할수있다. 중복을배제하여삽입, 삭제, 갱신이상의발생을방지한다. 데이터삽입시릴레이션을재구성할필요성을줄인다. 정규화의원칙 정보의무손실표현, 즉하나의스키마를다른스키마로변환할때정보의손실이있어서는안된다. 분리의원칙, 즉하나의독립된관계성은하나의독립된릴레이션으로분리시켜표현해야한다. 데이터의중복성이감소되어야한다. 갱신이상 (Update Anomaly) 031 비정규릴레이션 정보처리산업기사필기요약 릴레이션에서튜플에있는속성값을갱신할때일부튜플의정보만갱신되어정보에모순이생기는현상 14.8, 14.5, 13.8, 13.6, 13.3, 12.8, 12.3, 11.6, 11.3, 10.9, 10.5, 10.3, 09.8, 09.5, 09.3, 07.9, 07.5, 06.9, 06.5, 05.4, 04.3, 정규화과정 도메인이원자값 1NF 부분적함수종속제거 2NF 이행적함수종속제거 3NF 결정자이면서후보키가아닌것제거 BCNF 다치종속제거 4NF 조인종속성이용 5NF 정규화단계암기요령 정규화라는출소자가말했다. 두부이겨다줘 도부이결다조 도메인이원자값 부분적함수종속제거 이행적함수종속제거 결정자이면서후보키가아닌것제거 03.5, 01.6, 01.3, 00.10 030 11.6, 11.3, 07.3, 05.4, 02.5, 02.3, 01.3, 00.5, 99.8, 99.4 Anomaly( 이상 ) 의개념및종류 다치종속제거 조인종속성이용 이상 (Anomaly) 의개념 : 정규화 (Normalization) 를거치지않은데이터베이스내에데이터들이불필요하게중복되어릴레이션조작시에발생하는예기치못한곤란한현상 이상의종류 삽입이상 (Insertion Anomaly) 릴레이션에데이터를삽입할때의도와는관계없이원하지않은값들도함께삽입되는현상 함수적종속관계 < 수강 > 릴레이션이 ( 학번, 이름, 과목명 ) 으로되어있을때, 학번 이결정되면 과목명 에상관없이 학번 에는항상같은이름이대응된다. 학번 에따라 이름 이결정될때 이름 을 학번 에함수종속적이라고하며 학번 이름 과같이쓴다. 삭제이상 (Deletion Anomaly) 릴레이션에서한튜플을삭제할때의도와는관계없는값들도함께삭제되는연쇄삭제현상 13

완전함수적종속관계 속성 A 가다른속성들의집합 B 전체에대해서함수적종속관계를갖지만집합 B 의진부분집합에대해서는종속관계를갖지않으면, 속성 A 는집합 B 의속성들에대해완전함수적종속관계에있다고한다. < 수강 > 릴레이션이 ( 학번, 과목명, 성적 ) 으로되어있을때, 성적 은 ( 학번, 과목명 ) 에는함수종속이지만, 학번 이나 과목명 에는함수종속이아니다. 이행적종속관계 A B 이고 B C 일때 A C 를만족하는관계 032 00.10, 99.4 14.8, 14.5, 14.3, 13.6, 13.3, 12.8, 11.6, 11.3, 10.9, 10.3, 09.8, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.5, 05.5, 04.3, 02.5, SQL의분류 DCL( 데이터제어어 ) 정보처리산업기사필기요약 데이터의보안, 무결성, 데이터회복, 병행수행제어등을정의하는데사용하는언어이다. 데이터베이스관리자가데이터관리를목적으로사용한다. 데이터제어어 (DCL) 의종류 명령어 COMMIT ROLLBACK GRANT REVOKE 기능 명령에의해수행된결과를실제물리적디스크로저장하고, 데이터베이스조작작업이정상적으로완료되었음을관리자에게알려줌 데이터베이스조작작업이비정상적으로종료되었을때원래의상태로복구함 데이터베이스사용자에게사용권한을부여함 데이터베이스사용자의사용권한을취소함 DDL( 데이터정의어 ) SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를정의하거나변경또는삭제할때사용하는언어이다. 데이터베이스관리자나데이터베이스설계자가사용한다. 데이터정의어 (DDL) 의 3 가지유형 명령어 CREATE ALTER DROP DML( 데이터조작어 ) 기능 SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를정의함 TABLE 에대한정의를변경하는데사용함 SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를삭제함 데이터베이스사용자가응용프로그램이나질의어를통하여저장된데이터를실질적으로처리하는데사용하는언어이다. 데이터베이스사용자와데이터베이스관리시스템간의인터페이스를제공한다. 데이터조작어 (DML) 의 4 가지유형 명령어 SELECT INSERT DELETE UPDATE 기능 테이블에서조건에맞는튜플을검색함 테이블에새로운튜플을삽입함 테이블에서조건에맞는튜플을삭제함 테이블에서조건에맞는튜플의내용을변경함 14 033 14.3, 13.8, 12.5, 12.3, 10.5, 09.5, 09.3, 08.9, 06.9, 05.9, 05.5, 05.4, 04.9, 04.3, 03.5, 02.5, 00.7, 99.10 Select 문 테이블을구성하는튜플 ( 행 ) 들중에서전체또는조건을만족하는튜플 ( 행 ) 을검색하여주기억장치상에임시테이블로구성시키는명령문이다. SELECT Predicate [ 테이블명.] 속성명 1, [ 테이블명.] 속성명 2, FROM 테이블명1, 테이블명2, [WHERE 조건 ] [GROUP BY 속성명1, 속성명2, ] [HAVING 조건 ] [ORDER BY 속성명 [ASC DESC]]; 1. SELECT 절 Predicate : 불러올튜플수를제한할명령어를기술함 - ALL : 모든튜플을검색할때지정하는것으로, 주로생략함 - DISTINCT : 중복된튜플이있으면그중첫번째한개만검색함 - DISTINCTROW : 중복된튜플을검색하지만선택된속성의값이아닌, 튜플전체를대상으로함 속성명 : 검색하여불러올속성 ( 열 ) 및수식들을지정함 - 기본테이블을구성하는모든속성을지정할때는 * 를기술한다. - 두개이상의테이블을대상으로검색할때는반드시테이블명. 속성명으로표현해야한다.

정보처리산업기사필기요약 2. FROM 절 : 질의에의해검색될데이터들을포함하는테이블명을기술함 3. WHERE 절 : 검색할조건기술 4. GROUP BY 절 특정속성을기준으로그룹화하여검색할때그룹화할속성을지정한다. 일반적으로 GROUP BY 절은그룹함수와함께사용된다. 그룹함수의종류 - COUNT( 속성명 ) : 그룹별튜플수를구하는함수 - MAX( 속성명 ) : 그룹별최대값을구하는함수 - MIN( 속성명 ) : 그룹별최소값을구하는함수 - SUM( 속성명 ) : 그룹별합계를구하는함수 - AVG( 속성명 ) : 그룹별평균을구하는함수 5. HAVING 절 : GROUP BY 와함께사용되며, 그룹에대한조건을지정함 6. ORDER BY 절 : 특정속성을기준으로정렬하여검색할때사용함 속성명 : 정렬의기준이되는속성명을기술함 [ASC DESC] : 정렬방식으로서 ASC 는오름차순, `DESC` 는내림차순임, 생략하면오름차순으로지정됨 034 13.8, 11.6, 07.5, 07.3, 06.3, 05.9, 05.5, 05.4, 05.3, 03.5, 03.3, 02.3, 00.3 삽입, 삭제, 갱신문 삽입문 (INSERT INTO ~ ) 기본테이블에새로운튜플을삽입할때사용한다. INSERT INTO 테이블명 ( 속성명 1, 속성명 2, ) VALUES ( 데이터 1, 데이터 2, ); 대응하는속성과데이터는개수와데이터형식이일치해야한다. 기본테이블의모든속성을사용할때는속성명을생략할수있다. SELECT 문을사용하여다른테이블의검색결과를삽입할수있다. 삭제문 (DELETE FROM ~ ) 기본테이블에있는튜플들중에서특정튜플을삭제할때사용한다. 15 DELETE FROM 테이블명 WHERE 조건 ; 모든레코드를삭제할때는 WHERE 절을생략한다. 모든레코드를삭제하더라도테이블구조는남아있기때문에디스크에서테이블을완전히제거하는 DROP 과는다르다. 갱신문 (UPDATE ~ SET ~ ) 기본테이블에있는튜플들중에서특정튜플의내용을변경할때사용한다. UPDATE 테이블명 SET 속성명 = 데이터 [, 속성명 = 데이터 ] WHERE 조건 ; 035 06.3, 05.5, 04.5, 04.3, 03.8, 03.3, 01.9, 01.6, 01.3, 00.5 내장 SQL(Embedded SQL) 응용프로그램이실행될때함께실행되도록호스트프로그램언어로만든프로그램에삽입된 SQL 이다. 내장 SQL 실행문은호스트언어에서실행문이나타날수있는곳이면프로그램의어느곳에서나사용할수있다. 일반 SQL 문은수행결과로여러개의튜플을반환하는반면, 내장 SQL 은단하나의튜플만을반환한다. 내장 SQL 문에의해반환되는튜플은일반변수를사용하여저장할수있다. Host Program 의컴파일시내장 SQL 문은선행처리기에의해분리되어컴파일된다. 호스트변수와데이터베이스필드의이름은같아도된다. 내장 SQL 문에사용된호스트변수의데이터타입은이에대응하는데이터베이스필드의 SQL 데이터타입과일치하여야한다. 내장 SQL 문이실행되면 SQL 의실행상태가 SQL 상태변수에전달된다. 호스트언어의실행문과 SQL 문을구분시키는방법 - 명령문의구분 : C/C++ 에서내장 SQL 문은 $ 와세미콜론 (;) 문자사이에기술하고, Visual Basic 에서는내장 SQL 문앞에 EXEC SQL 을기술함 - 변수의구분 : 내장 SQL 에서사용하는호스트변수는변수앞에콜론 (:) 문자를붙임

036 07.3, 06.9, 06.5, 06.3, 05.4, 04.3, 03.8, 03.4, 03.3, 02.9, 02.5, 01.9, 01.6, 00.10, 00.7, 00.3 14.8, 14.5, 14.3, 13.8, 13.6, 13.3, 12.8, 12.5, 12.3, 11.8, 11.6, 11.3, 10.9, 10.5, 10.3, 09.8, 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 뷰 (View) 사용자에게접근이허용된자료만을제한적으로보여주기위해하나이상의기본테이블로부터유도된가상테이블이다. 저장장치내에물리적으로존재하지않지만, 사용자에게는있는것처럼간주된다. 데이터보정작업, 처리과정시험등임시적인작업을위한용도로활용된다. 뷰 (View) 의특징 기본테이블로부터유도된테이블이기때문에기본테이블과같은형태의구조를가지며, 조작도기본테이블과거의같다. 가상테이블이기때문에물리적으로구현되어있지않다. 필요한데이터만뷰로정의해서처리할수있기때문에관리가용이하고명령문이간단해진다. 조인문의사용을최소화하여사용상의편의성을최대화한다. 뷰를통해서만데이터에접근하게하면뷰에나타나지는데이터를안전하게보호할수있다. 기본테이블의기본키를포함한속성 ( 열 ) 집합으로뷰를구성해야만삽입, 삭제, 갱신연산이가능하다. 정의된뷰는다른뷰의정의에기초가될수있다. 하나의뷰를삭제하면그뷰를기초로정의된다른뷰도자동으로삭제된다. 뷰의장점 논리적데이터독립성을제공한다. 동일데이터에대해동시에여러사용자의상이한응용이나요구를지원해준다. 사용자의데이터관리를간단하게해준다. 접근제어를통한자동보안이제공된다. 뷰의단점 독립적인인덱스를가질수없다. 뷰의정의를변경할수없다. 뷰로구성된내용에대한삽입, 삭제, 갱신연산에제약이따른다. 뷰정의문 CREATE VIEW 뷰이름 [( 속성이름 [, 속성이름 ])] AS SELECT 문 ; 정보처리산업기사필기요약 SELECT 문을부질의로사용하여 SELECT 문의결과로서뷰를생성한다. 부질의로서의 SELECT 문에는 UNION 이나 ORDER BY 절을사용할수없다. 속성이름을기술하지않으면 SELECT 문의속성이름이자동으로사용된다. 뷰삭제문 DROP VIEW 뷰이름 {RESTRICT CASCADE}; RESTRICT : 뷰를다른곳에서참조하고있으면삭제가취소됨 CASCADE : 뷰를참조하는다른뷰나제약조건까지모두삭제됨 037 14.8, 13.8, 13.3, 12.5, 11.8, 11.6, 11.3, 10.9, 10.5, 10.3, 09.8, 09.5, 08.3, 05.5, 03.3, 01.9, 01.6, 01.3, 00.7, 00.5, 00.3, 99.8 시스템카탈로그 시스템그자체에관련이있는다양한객체에관한정보를포함하는시스템데이터베이스이다. 데이터베이스에포함되는모든데이터객체에대한정의나명세에관한정보를유지관리하는시스템테이블이다. 데이터정의어의결과로구성되는기본테이블, 뷰, 인덱스, 패키지, 접근권한등의데이터베이스구조및통계정보를저장한다. 카탈로그들이생성되면자료사전 (Data Dictionary) 에저장되기때문에좁은의미로는카탈로그를자료사전이라고도한다. 카탈로그에저장된정보를메타데이터 (Meta-Data) 라고한다. 시스템카탈로그의특징 카탈로그자체도시스템테이블로구성되어있어일반이용자도 SQL 을이용하여내용을검색해볼수있다. INSERT, DELETE, UPDATE 문으로갱신하는것은허용하지않는다. DBMS 가스스로생성하고유지한다. 카탈로그는사용자가 SQL 문을실행시켜기본테이블, 뷰, 인덱스등에변화를주면시스템이자동으로갱신한다. 16

038 14.8, 11.3, 10.9, 08.9, 06.3, 03.8, 01.9, 00.7, 00.3, 99.6 트랜잭션 데이터베이스의상태를변환시키는하나의논리적기능을수행하기위한작업의단위또는한꺼번에모두수행되어야할일련의연산들을의미한다. 응용프로그램이나사용자가데이터베이스의내용을접근하거나변경하기위해실행되는동작또는동작들의모임이다. 데이터베이스시스템에서복구및병행수행시처리되는작업의논리적단위이다. Atomicity ( 원자성 ) Consistency ( 일관성 ) Isolation ( 독립성, 격리성 ) Durability ( 영속성, 지속성 ) 039 트랜잭션의연산은데이터베이스에모두반영되든지아니면전혀반영되지않아야함 트랜잭션내의모든명령은반드시완벽히수행되어야하며, 모두가완벽히수행되지않고어느하나라도에러가발생하면트랜잭션전부가취소되어야함 트랜잭션이그실행을성공적으로완료하면언제나일관성있는데이터베이스상태로변환함 시스템이가지고있는고정요소는트랜잭션수행전과트랜잭션수행완료후의상태가같아야함 둘이상의트랜잭션이동시에병행실행되는경우어느하나의트랜잭션실행중에다른트랜잭션의연산이끼어들수없음 수행중인트랜잭션은완전히완료될때까지다른트랜잭션에서수행결과를참조할수없음 성공적으로완료된트랜잭션의결과는영구적으로반영되어야함 05.9, 05.4, 04.5, 04.3, 03.3, 02.5, 02.3, 01.9, 01.6, 01.3, 00.7, 00.3, 99.6, 99.4 14.8, 14.5, 14.3, 13.8, 13.6, 13.3, 12.8, 12.3, 11.8, 11.6, 11.3, 10.3, 09.3, 08.9, 08.5, 08.3, 07.9, 07.3, 06.9, 06.5, 06.3, 자료구조의분류 선형구조 : 선형리스트 ( 배열 ), 연결리스트, 스택, 큐, 데크 비선형구조 : 트리, 그래프 정보처리산업기사필기요약 연결을위한링크 ( 포인터 ) 부분이필요하기때문에순차리스트에비해기억공간의이용효율이좋지않다. 접근속도가느리다. 희소행렬을링크드리스트로표현하면기억장소가절약된다. 트리를표현하기에적합하다. 잠깐만요! 희소행렬 (Sparse Matrix) 행렬의요소중많은항들이 0으로되어있는형태로, 기억장소를절약하기위해링크드리스트를이용하여저장합니다. 041 04.3, 03.8, 03.3, 02.3 14.8, 12.5, 12.3, 11.8, 11.3, 10.9, 10.5, 10.3, 09.8, 09.5, 09.3, 08.9, 07.9, 07.5, 06.9, 06.5, 06.3, 05.5, 05.4, 04.9, 04.5, 스택 (Stack) 리스트의한쪽끝으로만자료의삽입, 삭제작업이이루어지는자료구조이다. 가장나중에삽입된자료가가장먼저삭제되는후입선출 (LIFO; Last-In, First-Out) 방식으로자료를처리한다. TOP : Stack 으로할당된기억공간에가장마지막으로삽입된자료가기억된위치를가리키는요소, 스택포인터라고도함 Bottom : 스택의가장밑바닥임 Stack 의용도 부프로그램호출시복귀주소를저장할때 함수호출의순서제어 인터럽트가발생하여복귀주소를저장할때 후위표기법 (Postfix Notation) 으로표현된산술식을연산할때 0 주소지정방식명령어의자료저장소 재귀 (Recursive) 프로그램의순서제어 컴파일러를이용한언어번역시 040 11.6, 08.3, 06.3, 05.4, 00.5 연결리스트 (Linked List) 연결리스트는자료들을임의의기억공간에기억시키되, 자료항목의순서에따라노드의포인터부분을이용하여서로연결시킨자료구조이다. 노드의삽입, 삭제작업이용이하다. 기억공간이연속적으로놓여있지않아도저장이가능하다. 17 042 삽입 (Push) Top = Top + 1 If Top M Then Overflow Else X(Top) Item 13.8, 13.6, 13.3, 12.5, 11.8, 11.6, 09.8, 09.3, 07.9, 07.5, 07.3, 06.9 스택의삽입 (Push) 과삭제 (Pop) 스택포인터 (Top) 를 1 증가시킨다. 스택포인터가스택의크기보다크면 Overflow 그렇지않으면 Item 이가지고있는값을스택의 Top 위치에삽입한다.

M : 스택의크기 X : 스택의이름 삭제 (Pop) If Top = 0 Then Underflow Else Item X(Top) Top = Top-1 스택포인터가 0 이면스택의바닥이어서더이상삭제할자료가없으므로 Underflow 를처리한다. 그렇지않으면 Top 위치에있는값을 Item 으로옮기고스택포인터를 1 감소시킨다. Underflow : Top Pointer 가주소 0 을가지고있다면스택에는삭제할자료가없으므로 Underflow 를발생시킴 잠깐만요! Stack 에기억되어있는자료를삭제시킬때는제일먼저삭제할자료가있는지없는지부터확인해야합니다. 043 02.3, 00.3, 99.6 14.8, 14.5, 14.3, 13.8, 13.6, 12.8, 12.5, 11.8, 11.6, 08.9, 08.5, 08.3, 07.3, 06.5, 05.5, 05.3, 04.3, 03.8, 03.5, 02.9, 02.5, 큐 (Queue) 선형리스트의한쪽에서는삽입작업이이루어지고다른한쪽에서는삭제작업이이루어지도록구성한자료구조이다. 가장먼저삽입된자료가가장먼저삭제되는선입선출 (FIFO; First-In, First-Out) 방식으로처리한다. 시작과끝을표시하는두개의포인터를갖는다. - 프런트 (F, Front) 포인터 : 가장먼저삽입된자료의기억공간을가리키는포인터로, 삭제작업을할때사용함 - 리어 (R, Rear) 포인터 : 가장마지막에삽입된자료가위치한기억장소를가리키는포인터로, 삽입작업을할때사용함 Queue 를이용하는예 Top : 스택포인터 Overflow : 스택으로할당받은메모리부분의마지막주소가 M 번지라고할때, Top Pointer 의값이 M 보다커지면스택의모든기억장소가꽉채워져있는상태이므로더이상자료를삽입할수없어 Overflow 를발생시킴 창구업무처럼서비스순서를기다리는등의대기행렬의처리에사용한다. 운영체제의작업스케줄링에사용한다. 044 정보처리산업기사필기요약 07.5, 04.9, 02.9, 01.9, 00.10, 99.10, 99.4 데크 (Deque) 삽입과삭제가리스트의양쪽끝에서모두발생할수있는자료구조이다. Double Ended Queue 의약자이다. Stack 과 Queue 의장점만따서구성한것이다. 입력이한쪽에서만발생하고출력은양쪽에서일어날수있는입력제한과입력은양쪽에서일어나고출력은한곳에서만이루어지는출력제한이있다. - 입력제한데크 : Scroll - 출력제한데크 : Shelf 045 14.5, 14.3, 13.6, 12.3, 11.6, 11.3, 10.9, 10.3, 09.8, 08.5, 05.4, 04.5, 00.10, 99.8 트리 (Tree) 정점 (Node, 노드 ) 과선분 (Branch, 가지 ) 을이용하여사이클을이루지않도록구성한 Graph의특수한형태로가족의계보 ( 족보 ), 연산수식, 회사조직구조도, 히프 (Heap) 등을표현하기에적합하다. K E L B F A C G 근노드 (Root Node) H M D I J Level 1 Level 2 Level 3 Level 4 Depth 노드 (Node) : 트리의기본요소로서자료항목과다른항목에대한가지 (Branch) 를합친것 A, B, C, D, E, F, G, H, I, J, K, L, M 근노드 (Root Node) : 트리의맨위에있는노드 A 디그리 (Degree, 차수 ) : 각노드에서뻗어나온가지의수 A = 3, B = 2, C = 1, D = 3 트리의디그리 : 노드들의디그리중에서가장많은수 노드 A 나 D 가 3 개의디그리를가지므로위트리의디그리는 3 이다. 단말노드 (Terminal Node) = 잎노드 (Leaf Node) : 자식이하나도없는노드, 즉디그리가 0 인노드 K, L, F, G, M, I, J 비단말노드 (Non-Terminal Node) : 자식이하나라도있는노드, 즉디그리가 0 이아닌노드 A, B, C, D, E, H 18

정보처리산업기사필기요약 자식노드 (Son Node) : 어떤노드에연결된다음레벨의노드들 D 의자식노드 : H, I, J 부모노드 (Parent Node) : 어떤노드에연결된이전레벨의노드 E, F 의부모노드는 B 형제노드 (Brother Node, Sibling) : 동일한부모를갖는노드들 H 의형제노드는 I, J Level : 근노드의 Level 을 1 로가정한후어떤 Level 이 L 이면자식노드는 L+1 이다. H 의레벨은 3 깊이 (Depth, Height) : 어떤 Tree 에서노드가가질수있는최대의레벨 위트리의깊이는 4 046 14.8, 14.5, 13.8, 13.6, 13.3, 12.8, 12.5, 11.8, 11.6, 11.3, 10.9, 10.5, 10.3, 09.3, 06.5, 05.9, 05.4, 04.3, 03.8, 02.9, 02.5, 이진트리의운행법 B A 01.9, 01.6, 00.5 전위 (Preorder) 운행 : Root Left Right 순으로운행함 A, B, C 중위 (Inorder) 운행 : Left Root Right 순으로운행함 B, A, C 후위 (Postorder) 운행 : Left Right Root 순으로운행함 B, C, A 다음트리를 Inorder, Preorder, Postorder 방법으로운행했을때각노드를방문한순서는? H <Preorder 운행법의방문순서 > D B I E 서브트리를하나의노드로생각할수있도록다음그림과같이서브트리단위로묶는다. Preorder, Inorder, Postorder 모두공통으로사용한다. A F C C G 047 H 2 A 1 3 B C D I E ❶ Preorder 는 Root Left Right 이므로 A13 이된다. ❷ 1 은 B2E 이므로 AB2E3 이된다. ❸ 2 는 DHI 이므로 ABDHIE3 이된다. ❹ 3 은 CFG 이므로 ABDHIECFG 가된다. 방문순서 : ABDHIECFG <Inorder 운행법의방문순서 > ❶ Inorder 는 Left Root Right 이므로 1A3 이된다. ❷ 1 은 2BE 이므로 2BEA3 이된다. ❸ 2 는 HDI 이므로 HDIBEA3 이된다. ❹ 3 은 FCG 이므로 HDIBEAFCG 가된다. 방문순서 : HDIBEAFCG <Postorder 의방문순서 > ❶ Postorder 는 Left Right Root 이므로 13A 가된다. ❷ 1 은 2EB 이므로 2EB3A 가된다. ❸ 2 는 HID 이므로 HIDEB3A 가된다. ❹ 3 은 FGC 이므로 HIDEBFGCA 가된다. 방문순서 : HIDEBFGCA 14.3, 12.5, 12.3, 09.8, 09.5, 08.9, 07.9, 07.5, 07.3, 05.5, 05.3, 04.3, 03.5,03.3, 99.4 수식의표기법 A 전위표기법 (Prefix) : 연산자 Left Right, +AB 중위표기법 (Infix) : Left 연산자 Right, A+B 후위표기법 (Postfix) : Left Right 연산자, AB+ Infix 표기를 Postfix 로바꾸기 + Infix 로표기된수식에서연산자를해당피연산자두개의뒤 ( 오른쪽 ) 에오도록이동하면 Postfix 가된다. F B G 19

정보처리산업기사필기요약 X = A / B * (C + D) + E X A B / C D + * E + = ❶ 연산우선순위에따라괄호로묶는다. ( X = ( ( (A / B) * (C + D) ) + E ) ) ❷ 연산자를해당괄호의뒤로옮긴다. X = ( ( (A / B) * (C + D) ) + E) ) ( X ( ( (AB) / (CD) + ) * E ) + ) = ❸ 괄호를제거한다. X A B / C D + * E + = Infix 표기를 Prefix 로바꾸기 Infix 로표기된수식에서연산자를해당피연산자두개의앞 ( 왼쪽 ) 에오도록이동하면 Prefix 가된다. ❶ 연산우선순위에따라괄호로묶는다. (X = ( ( (A / B) * (C + D) ) + E) ) ❷ 연산자를해당괄호의앞으로옮긴다. (X=(((A/B)(C+D))+E)) * =(X + ( * ( / ( A B) + (C D) ) E) ) ❸ 괄호를제거한다. =X + * / A B + C D E Postfix 를 Infix 로바꾸기 Postfix 는 Infix 표기법에서연산자를해당피연산자 2 개의뒤 ( 오른쪽 ) 로이동한것이므로연산자를다시해당피연산자 2 개의가운데로옮기면된다. A B C - / D E F + * + A / (B - C) +D * (E + F) ❶ 먼저인접한피연산자 2 개와오른쪽의연산자를괄호로묶는다. ( (A (B C -) / ) (D (E F +) *) + ) ❷ 연산자를해당피연산자의가운데로이동시킨다. ( ( A / ( B - C ) ) + ( D * ( E + F ) ) ) ❸ 필요없는괄호를제거한다. A / (B - C) + D * (E + F) 20 048 14.5, 13.3, 06.9, 05.4, 03.8, 03.5, 02.9, 02.5, 01.9, 01.3, 00.10, 00.7, 00.3, 99.10, 99.8 정렬 (Sort) 정렬 (Sort) 은파일을구성하는각레코드들을특정키항목을기준으로오름차순 (Ascending) 또는내림차순 (Descending) 으로재배열하는작업이고, 이과정을 Sorting 이라한다. 내부정렬 소량의데이터를주기억장치에만기억시켜서정렬하는방식이다. 종류 : 히프정렬, 삽입정렬, 버블정렬, 셀정렬, 선택정렬, 퀵정렬, 2-Way Merge 정렬, 기수정렬 (=Radix Sort) 외부정렬 대량의데이터를보조기억장치에기억시켜서정렬하는방식으로, 대부분병합정렬 (Merge Sort) 기법으로처리한다. 종류 : 밸런스병합정렬, 케스캐이드병합정렬, 폴리파즈병합정렬, 오실레이팅병합정렬 정렬알고리즘선택시고려사항 데이터의양 초기데이터의배열상태 키값들의분포상태 소요공간및작업시간 사용컴퓨터시스템의특성 049 삽입정렬 예제 14.8, 14.5, 14.3, 13.8, 13.6, 13.3, 12.8, 12.5, 12.3, 11.8, 11.6, 11.3, 10.9, 10.5, 10.3, 09.8, 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 주요정렬알고리즘의이해 8, 5, 6, 2, 4 를삽입정렬로정렬하시오. 초기상태 : 1 회전 : 07.3, 06.9, 05.9, 05.3 두번째값 5 를첫번째값과비교하여첫번째자리에삽입하고 8 을한칸뒤로이동시킨다. 2 회전 : 8 5 6 2 4 8 5 6 2 4 5 8 6 2 4 5 8 6 2 4 5 6 8 2 4 세번째값 6 을첫번째, 두번째값과비교하여 8 자리에삽입하고 8 은한칸뒤로이동시킨다.

정보처리산업기사필기요약 3 회전 : 네번째값 2 를처음부터비교하여맨처음에삽입하고나머지를한칸씩뒤로이동시킨다. 4 회전 : 다섯번째값 4 를처음부터비교하여 5 자리에삽입하고나머지를한칸씩뒤로이동시킨다. 버블정렬 예제 5 6 8 2 4 2 5 6 8 4 2 5 6 8 4 2 4 5 6 8 8, 5, 6, 2, 4 를버블정렬로정렬하시오. 2-Way 합병정렬 (Merge Sort) 예제 71, 2, 38, 5, 7, 61, 11, 26, 53, 42를 2-Way 합병정렬로정렬하시오. 1 회전 : 2 개씩묶은후각각의묶음안에서정렬합니다. (71, 2) (38, 5) (7, 61) (11, 26) (53, 42) (2, 71) (5, 38) (7, 61) (11, 26) (42, 53) 2 회전 : 묶여진묶음을 2 개씩묶은후각각의묶음안에서정렬합니다. ((2, 71) (5, 38)) ((7, 61) (11, 26)) (42, 53) 초기상태 : 8 5 6 2 4 (2, 5, 38, 71) (7, 11, 26, 61) (42, 53) 1 회전 : 2회전 : 3회전 : 4회전 : 5 8 6 2 4 5 6 8 2 4 5 6 2 8 4 5 6 2 4 8 5 6 2 4 8 5 2 6 4 8 5 2 4 6 8 2 5 4 6 8 2 4 5 6 8 2 4 5 6 8 3 회전 : 묶여진묶음을 2 개씩묶은후각각의묶음안에서정렬합니다. ((2, 5, 38, 71) (7, 11, 26, 61)) (42, 53) (2, 5, 7, 11, 26, 38, 61, 71) (42, 53) 4 회전 : 묶여진묶음 2 개를하나로묶은후정렬합니다. ((2, 5, 7, 11, 26, 38, 61, 71) (42, 53)) 2, 5, 7, 11, 26, 38, 42, 53, 61, 71 선택정렬예제 8, 5, 6, 2, 4를선택정렬로정렬하시오. 초기상태 : 8 5 6 2 4 050 12.8, 09.5, 06.5, 05.9, 05.3, 04.3, 02.5, 00.5 이분검색 ( 이진검색 ) 제어검색의일종인이분검색은반드시순서화된파일이어야검색할수있다. 1 회전 : 2 회전 : 5 8 6 2 4 5 8 6 2 4 2 8 6 5 4 2 8 6 5 4 2 6 8 5 4 2 5 8 6 4 전체파일을두개의서브파일로분리해가면서 Key 레코드를검색한다. 찾고자하는 Key 값을파일의중간레코드 Key 값과비교하면서검색한다. 중간레코드번호 (M) : F+L 2 ( 단, F : 첫번째레코드번호, L : 마지막레코드번호 ) 2 4 8 6 5 3 회전 : 2 4 6 8 5 2 4 5 8 6 4 회전 : 2 4 5 6 8 21

정보처리산업기사필기요약 051 14.8, 14.5, 13.3, 12.5, 12.3, 11.8, 10.3, 09.8, 08.9, 08.3, 06.9, 06.3, 04.5, 04.3, 02.3, 01.9, 01.6, 00.10, 00.5 해싱 (Hashing) Hash Table 이라는기억공간을할당하고, 해시함수 (Hash Function) 를이용하여레코드키에대한 Hash Table 내의 Home Address 를계산한후주어진레코드를해당기억장소에저장하거나검색작업을수행하는방식이다. DAM( 직접접근방법 ) 파일을구성할때해싱이사용되며, 접근속도는빠르지만기억공간이많이요구된다. 여러가지검색방식중검색속도가가장빠르다. 삽입, 삭제작업의빈도가많을때유리한방식이다. 키 - 주소변환방법이라고도한다. 해시테이블 (Hash Table) 레코드를 1 개이상보관할수있는 Home Bucket 들로구성한기억공간으로, 보조기억장치에구성할수도있고주기억장치에구성할수도있다. 052 제산 (Divide) 법 제곱 (Mid-Square) 법 폴딩 (Folding) 법 ( 접지법 ) 기수 (Radix) 변환법 대수적코딩 (Algebraic Coding) 법 계수분석 (Digit Analysis) 법 ( 숫자분석법 ) 무작위 (Random) 법 08.5. 08.3, 06.3, 05.3, 04.3, 99.10 해시함수 (Hash Function) 코드키 (K) 를해시표 (Hash Table) 의크기보다큰수중에서가장작은소수 (Prime, Q) 로나눈나머지를홈주소로삼는방식, 즉 h(k) = K mod Q 임 레코드키값 (K) 을제곱한후그중간부분의값을홈주소로삼는방식 레코드키값 (K) 을여러부분으로나눈후각부분의값을더하거나 XOR( 배타적논리합 ) 한값을홈주소로삼는방식 키숫자의진수를다른진수로변환시켜주소크기를초과한높은자릿수는절단하고, 이를다시주소범위에맞게조정하는방식 키값을이루고있는각자리의비트수를한다항식의계수로간주하고, 이다항식을해시표의크기에의해정의된다항식으로나누어얻은나머지다항식의계수를홈주소로삼는방식 주어진모든키값들에서키값을이루는숫자의분포를분석하여비교적고른자리를필요한만큼택해서홈주소로삼는방식 난수 (Random Number) 를발생시켜나온값을홈주소로삼는방식 버킷 (Bucket) : 하나의주소를갖는파일의한구역을의미하며, 버킷의크기는같은주소에포함될수있는레코드수를의미함 슬롯 (Slot) : 1 개의레코드를저장할수있는공간으로 n 개의슬롯이모여하나의버킷을형성함 Collision( 충돌현상 ) : 서로다른 2 개이상의레코드가같은주소를갖는현상 Synonym : 같은 Home Address 를갖는레코드들의집합 Overflow - 계산된 Home Address 의 Bucket 내에저장할기억공간이없는상태 - Bucket 을구성하는 Slot 이여러개일때는 Collision 은발생해도 Overflow 는발생하지않을수있음 22 053 14.3, 11.6, 10.5, 09.5, 07.5, 07.3, 05.3 순차파일 (Sequential File) = 순서파일 입력되는데이터들을논리적인순서에따라물리적연속공간에순차적으로기록하는방식이다. 급여관리등과같이변동사항이크지않고기간별로일괄처리를주로하는경우에적합하다. 주로순차접근이가능한자기테이프에서사용된다. 순차파일의장점 기록밀도가높아기억공간을효율적으로사용할수있다. 레코드가키순서대로편성되어취급이용이하다. 매체변환이쉬워어떠한매체에도적용할수있다. 레코드를기록할때사용한키순서대로레코드를처리하는경우, 다른편성법보다처리속도가빠르다. 순차파일의단점 파일에새로운레코드를삽입, 삭제, 수정하는경우파일전체를복사해야하므로시간이많이소요된다. 데이터검색시처음부터순차적으로하기때문에검색효율이낮다.

054 14.8, 14.3, 13.8, 13.6, 10.9, 10.5, 07.9, 07.5, 05.4, 03.8, 03.3, 02.9, 00.7, 00.5, 99.10, 99.8, 99.6 색인순차파일 (Indexed Sequential File) 순차처리와랜덤처리가모두가능하도록레코드들을키값순으로정렬 (Sort) 시켜기록하고, 레코드의키항목만을모은색인을구성하여편성하는방식이다. 색인을이용한순차적인접근방법을제공하여 ISAM (Index Sequential Access Method) 이라고도한다. 레코드를참조하는경우색인을탐색한후색인이가리키는포인터 ( 주소 ) 를사용하여직접참조할수있다. 일반적으로자기디스크에많이사용되며, 자기테이프에서는사용할수없다. 색인순차파일의구성 기본구역 (Prime Data Area) : 실제레코드들을기록하는부분으로, 각레코드는키값순으로저장됨 색인구역 (Index Area) : 기본구역에있는레코드들의위치를찾아가는색인이기록되는부분으로, 트랙색인구역, 실린더색인구역, 마스터색인구역으로구분할수있음 오버플로구역 (Overflow Area) : 기본구역에빈공간이없어서새로운레코드의삽입이불가능할때를대비하여예비적으로확보해둔부분 실린더오버플로구역 (Cylinder Overflow Area) 독립오버플로구역 (Independent Overflow Area) 색인순차파일의장점 각실린더마다만들어지는오버플로구역으로, 해당실린더의기본구역에서오버플로된데이터를기록함 실린더오버플로구역에더이상오버플로된데이터를기록할수없을때사용할수있는예비공간으로, 실린더오버플로구역과는별도로만들어짐 순차처리와랜덤처리가모두가능하므로, 목적에따라융통성있게처리할수있다. 효율적인검색이가능하고레코드의삽입, 삭제, 갱신이용이하다. 색인순차파일의단점 색인구역과오버플로구역을구성하기위한추가기억공간이필요하다. 파일이정렬되어있어야하므로추가, 삭제가많으면효율이떨어진다. 색인을이용한액세스를하기때문에액세스시간이랜덤편성파일보다느리다. 23 정보처리산업기사필기요약 2 과목 전자계산기구조 055 14.3, 13.6, 12.5, 11.3, 10.9, 07.3, 06.5, 05.5, 04.9, 04.3, 03.8, 02.3 불대수의기본공식 교환법칙 : A + B = B + A, A B = B A 결합법칙 : A + (B + C) = (A + B) + C, A (B C) = (A B) C 분배법칙 : A (B+C) = A B + A C, A+B C = (A+B) (A+C) 멱등법칙 : A + A = A, A A = A 보수법칙 : A + Ā = 1, A Ā = 0 항등법칙 : A + 0 = A, A + 1 = 1, A 0 = 0, A 1 = A 드모르강 : Ā + B - = (A B ), A B = ( Ā+B - ) 복원법칙 : A = A 056 14.5, 13.8, 12.8, 07.9, 06.5, 05.5, 04.9, 03.8, 02.5, 02.3, 01.9, 01.6, 00.10, 00.3 논리게이트 게이트기호의미진리표논리식 AND OR NOT BUFFER NAND NOR XOR XNOR A B A B A A A B A B A B A B Y Y Y Y Y Y Y Y 입력신호가모두 1 일때 1 출력 입력신호중 1 개만 1 이어도 1 출력 입력된정보를반대로변환하여출력 입력된정보를그대로출력 NOT + AND, 즉 AND 의 부정 NOT + OR, 즉 OR 의부정 입력신호가모두같으면 0, 한개라도틀리면 1 출력 NOT + XOR, 즉 XOR 의 부정 A B Y 0 0 0 0 1 0 1 0 0 1 1 1 A B Y 0 0 0 0 1 1 1 0 1 1 1 1 A Y 0 1 1 0 A Y 0 0 1 1 A B Y 0 0 1 0 1 1 1 0 1 1 1 0 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 A B Y 0 0 0 0 1 1 1 0 1 1 1 0 A B Y 0 0 1 0 1 0 1 0 0 1 1 1 Y = A B Y = AB Y = A + B Y = A _ Y = A Y = A Y = A B Y = AB Y = A + B Y = A _ B _ Y = AB + AB Y = A B Y = A B Y = AB + AB

정보처리산업기사필기요약 057 13.8, 12.8, 12.3, 08.9, 05.3, 02.3 조합논리회로와순서논리회로 진리표 조합논리회로는임의의시간에서의출력이이전의입력에는관계없이현재의입력조합 (0 또는 1) 으로부터직접결정되는논리회로이다. 이해반해순서논리회로는외부로부터의입력과현재상태에따라출력이결정된다. 조합논리회로의종류 : 반가산기, 전가산기, 병렬가산기, 반감산기, 전감산기, 디코더, 인코더, 멀티플렉서, 디멀티플렉서, 다수결회로, 비교기등 순서논리회로의종류 : 플립플롭, 레지스터, 카운터, RAM, CPU 등 논리식 A B C i Sum C i+1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 합계 (Sum) = (A B) C i 058 12.3, 11.6, 10.5, 08.9, 07.5, 05.9, 04.5, 02.9, 01.6 반가산기 (HA; Half Adder) 1Bit 짜리 2 진수 2 개를덧셈한합 (S) 과자리올림수 (C) 를구하는회로이다. 진리표 A B Sum Carry 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 자리올림 (Carry) = (A B)C i + AB 회로 전가산기는 2 개의반가산기 (HA) 와 1 개의 OR Gate 로구성된다. A B C 반가산기 반가산기 Sum Carry 논리식 : Carry = A B Sum = A _ B + A B _ = A B 논리회로 A B S(sum) C(carry) 060 09.8, 07.9, 07.5, 06.3 디코더 (Decoder) n Bit 의 Code 화된정보를그 Code 의각 Bit 조합에따라 2 n 개의출력으로번역하는회로이다. 명령어의명령부나번지를해독할때사용하며, 주로 AND 게이트로구성된다. 059 14.5, 11.8, 11.6., 10.5, 08.5, 06.3, 99.6 전가산기 (FA; Full Adder) 자리올림수 (C i) 를포함하여 1Bit 크기의 2 진수 3 자리를더하여합 (Sum) 과자리올림수 (Carry) 를구하는회로이다. 회로 A B D0 D1 D2 D3 24

061 13.6, 13.3, 10.9, 08.9, 08.3, 06.5, 06.3, 05.3, 02.9 플립플롭 플립플롭은전원이공급되고있는한, 상태의변화를위한신호가발생할때까지현재의상태를그대로유지하는대표적인순서논리회로이다. 플립플롭 1 개가 1Bit 를구성하는 2 진셀 (Binary Cell) 이된다. 반도체기억장치에서 2 진수 1 자리값을기억하는메모리소자이다. 플립플롭은레지스터를구성하는기본소자이다. 기본적인플립플롭은 2 개의 NAND 또는 NOR 게이트를이용하여구성한다. 플립플롭 RS JK D T 마스터 - 슬레이브 (M/S) 특성표 특징 플립플롭의기본으로, S 와 R 선의입력을조절하여임의의 Bit 값을그대로유지시키거나, 무조건 0 또는 1 의값을기억시키기위해서사용됨 RS FF 에서 S=R=1 일때동작되지않는결점을보완한플립플롭 RS FF 의입력선 S 와 R 에 AND 게이트 2 개를추가하여 JK FF 의입력선 J 와 K 로사용함 모든플립플롭의기능을포함함 RS FF 의 R 선에인버터 (Inverter) 를추가하여 S 선과하나로묶어서입력선을하나만구성한플립플롭 입력하는값을그대로저장하는기능을수행함 JK FF 의두입력선을묶어서한개의입력선으로구성한플립플롭 T=0 인경우는변화가없고, T=1 인경우에현재의상태를토글 (Toggle) 시킴. 즉원상태와보수상태의 2 가지상태로만서로전환됨 출력측의일부가입력측에궤환 (FeedBack) 되어유발되는레이스현상을없애기위해고안된플립플롭 2 개의플립플롭으로구성되는데, 한쪽회로가마스터이고다른한쪽이슬레이브의위치에있어마스터 - 슬레이브플립플롭이라함 <RS 플립플롭 > <JK 플립플롭 > S R Q (T+1) 암기 0 0 Q (T) 무 ( 상태변화없음 ) 0 1 0 공 ( 항상 0) 1 0 1 일 ( 항상 1) 1 1 동작안됨불 ( 불가 ) J K Q (T+1) 암기 0 0 Q (T) 무 ( 상태변화없음 ) 0 1 0 공 ( 항상 0) 1 0 1 일 ( 항상 1) 1 1 보수보 ( 보수 ) 정보처리산업기사필기요약 잠깐만요! JK 플립플롭은 J와 K에모두 1이입력될때보수가출력되는것이 RS 플립플롭과다릅니다. 062 비트 (Bit, Binary Digit) 니블 (Nibble) 바이트 (Byte) 워드 (Word) 필드 (Field) 레코드 (Record) 블록 (Block) 물리레코드 (PhysicalRecord) 파일 (File) 데이터베이스 (Database) 063 07.5, 07.3, 06.5, 01.9, 01.3, 00.10, 00.3, 99.10, 99.8, 99.4 자료구성의단위 자료 ( 정보 ) 표현의최소단위 2 가지상태 (0 과 1) 를표시하는 2 진수 1 자리 4 개의비트 (Bit) 가모여 1 개의 Nibble 을구성함 4 비트로구성되며 16 진수 1 자리를표현하기에적합함 문자를표현하는최소단위로, 8 개의비트 (Bit) 가모여 1Byte 를구성함 1Byte 는 256(2 8 ) 가지의정보를표현할수있음 주소지정의단위로사용됨 CPU 가한번에처리할수있는명령단위 반워드 (Half Word) : 2Byte 풀워드 (Full Word) : 4Byte 더블워드 (Double Word) : 8Byte 파일구성의최소단위 의미있는정보를표현하는최소단위 하나이상의관련된필드가모여서구성 컴퓨터내부의자료처리단위로서, 일반적으로레코드는논리레코드 (Logical Record) 를의미함 하나이상의논리레코드가모여서구성 각종저장매체와의입 출력단위를의미하며, 일반적으로물리레코드 (Physical Record) 라고함 프로그램구성의기본단위로, 여러레코드가모여서구성됨 여러개의관련된파일 (File) 의집합 14.8, 14.5, 14.3, 12.3, 10.3, 09.8, 09.5, 08.3, 07.5, 07.3, 06.9, 06.3, 05.9, 05.3, 04.5, 04.3, 02.5, 00.3, 99.8 진법변환 10 진수를 2 진수, 8 진수, 16 진수로변환 정수부분 : 10 진수의값을변환할진수로나누어더이상나눠지지않을때까지나누고, 나머지를역순으로표시함 소수부분 : 10 진수의값에변환할진수를곱한후결과의정수부분만을차례대로표기하되, 소수부분이 0 또는반복되는수가나올때까지곱하기를반복함 25

정보처리산업기사필기요약 (47.625) 10 를 2진수, 8진수, 16진수로변환하기 < 정수부분 > 2진수 8진수 16진수 2 47 2 23 1 2 11 1 8 47 16 47 2 5 1 5 7 2 15(F) 2 2 1 1 0 (47) 10 = (101111) 2 (47) 10 = (57) 8 (47) 10 = (2F) 16 < 소수부분 > 2진수 8진수 16진수 0.625 0.250 0.5 0.625 0.625 2 2 2 8 16 1.250 0.5 1.0 5.000 10(A).000 (4F.2) 16 를 10 진수로변환하기 ( 4 F. 2 ) 16 = 16 1 + 16 0. 16-1 = 64 + 15. 0.125 = 79.125 2 진수, 8 진수, 16 진수상호변환 2 진수를 8 진수로 : 정수부분은소수점을기준으로왼쪽방향으로 3 자리씩, 소수부분은소수점을기준으로오른쪽방향으로 3 자리씩묶어서변환함 2 진수를 16 진수로 : 정수부분은소수점을기준으로왼쪽방향으로 4 자리씩, 소수부분은소수점을기준으로오른쪽방향으로 4 자리씩묶어서변환함 8 진수, 16 진수를 2 진수로 : 8 진수 1 자리는 2 진수 3 비트로, 16 진수 1 자리는 2 진수 4 비트로풀어서변환함 8 진수를 16 진수로 : 8 진수를 2 진수로변환한뒤 2 진수를 16 진수로변환함 16 진수를 8 진수로 : 16 진수를 2 진수로변환한뒤 2 진수를 8 진수로변환함 (0.625) 10 = (0.101) 2 (0.625) 10 = (0.5) 8 (0.625) 10 = (0.A) 16 (47.625) 10 (101111.101) 2 (47.625) 10 (57.5) 8 (47.625) 10 (2F.A) 16 2 진수, 8 진수, 16 진수를 10 진수로변환 정수부분과소수부분의각자리를분리하여변환하려는각진수의자리값과자리의지수승을곱한결과값을모두더하여계산한다. (101111.101) 2 를 10 진수로변환하기 ( 1 0 1 1 1 1. 1 0 1 ) 2 = 2 5 2 4 2 3 2 2 2 1 2 0. 2-1 2-2 2-3 = 32 + 0 + 8 + 4 + 2 + 1. 0.5 + 0 + 0.125 = 47.625 064 05.9, 05.3, 04.3, 03.3, 02.9, 01.9, 99.10, 99.8 보수 컴퓨터가기본적으로수행하는덧셈회로를이용하여뺄셈을수행하기위해사용한다. r 의보수 10 진법에는 10 의보수가있고, 2 진법에는 2 의보수가있음 보수를구할숫자의자릿수만큼 0 을채우고가장왼쪽에 1 을추가하여기준을만듦 33 의 10 의보수는? 33 + X = 100 X = 100-33 X = 67 10101 의 2 의보수는? 10101 + X = 100000 X = 100000-10101 X = 01011 (57.5) 8 를 10 진수로변환하기 (5 7. 5) 8 = 8 1 8 0. 8-1 = 40 + 7. 0.625 = 47.625 r-1 의보수 10 진법에는 9 의보수가있고, 2 진법에는 1 의보수가있음 10 진수 N 에대한 9 의보수는주어진숫자의자릿수만큼 9 를채워기준을만듦 33 의 9 의보수는? 33 + X = 99 X = 99-33 X = 66 2 진수 N 에대한 1 의보수는주어진숫자의자릿수만큼 1 을채워기준을만듦 10101 의 1 의보수는? 10101 + X = 11111 X = 11111-10101 X = 01010 26

065 066 14.5, 13.8, 12.8, 11.8, 11.6, 11.3, 09.5, 08.9, 07.5, 07.3, 06.9, 06.3, 05.5, 05.3, 04.9, 04.5, 04.3, 03.8, 02.9, 02.5, 02.3, 2진연산 정수값을 2 진수로변환하여표현하는방식이다. 표현할수있는범위는작지만연산속도가빠르다. 표현범위 종류표현방법비고 부호화절대치법 (Signed Magnitude) 12.8, 11.6, 10.9, 09.8, 09.5, 08.5, 05.9, 05.4, 00.7, 99.4 10진연산 01.6, 0.5, 99.6 n Bit 크기의워드가있을때맨처음 1Bit 는부호 (Sign) 비트로사용되고나머지 n-1 Bit 에 2 진수로표현된정수값이저장된다. 양수 : 부호비트에 0 을넣고, 변환된 2 진수값을 Data Bit 의오른쪽에서왼쪽순으로차례로채우고남는자리에 0 을채움 음수 : 음수를표현할때는다음과같은 3 가지방법을사용함 부호화 1 의보수법 (Signed 1's Comple -ment) 부호화 2 의보수법 (Signed 2's Complement) 양수표현에대하여부호 Bit의값만 0을 1로바꿈 2가지형태의 0 존재 (+0, -0) 양수표현에대하여 1 의보수를취함 양수표현에대하여 2 의보수를취함 한가지형태의 0 만존재 (+0) 종류범위 n=8 n=16 n=32 부호화절대치법 -2 n-1 +1 ~ 부호화 1의 +2 n-1-1 보수법 부호화 2 의보수법 -2 n-1 ~ +2 n-1-1 -127 ~ +127-128 ~ +127-32767 ~ +32767-32768 ~ +32767-2 31 +1 ~ +2 31-1 -2 31 ~ +2 31-1 10 진수 1 자리를 2 진수 4 자리로표현하는방식으로, 언팩 (Unpack) 연산과팩 (Pack) 연산이있다. 언팩 (Unpack) 연산 존 (Zone) 형 10 진연산이라고도한다. 연산이불가능하고, 데이터의입 출력에사용된다. 1Byte 로 10 진수 1 자리를표현한다. 정보처리산업기사필기요약 4 개의존 (Zone) 비트와 4 개의숫자 (Digit) 비트를사용한다. 최하위 ( 가장오른쪽 ) 바이트의존 (Zone) 부분을부호로사용한다. Zone Digit Zone Digit Zone Digit Sign Digit Zone 부분 : 무조건 1111 을넣음 Digit 부분 : 10 진수 1 자리를 4Bit 2 진수로표현함 Sign 부분 : 양수는 C(1100 2), 음수는 D(1101 2), 부호없는양수는 F(1111 2) 로표현함 팩 (Pack) 연산 연산이가능하고, 데이터의입 출력이불가능하다. 1Byte 로 10 진수 2 자리를표현한다. 최하위 ( 가장오른쪽 ) 바이트의 4Bit 부분을부호로사용한다. Digit Digit Digit Digit Digit Digit Digit Sign Digit 부분 : 10 진수 1 자리를 4Bit 2 진수로표현함 Sign 부분 : 양수는 C(1100 2), 음수는 D(1101 2), 부호없는양수는 F(1111 2) 로표현함 067 14.3, 13.6, 11.8, 11.6, 09.8, 08.3, 06.9, 05.9, 05.5, 02.3, 01.6 부동소수점표현 부동소수점방식은소수점이포함된실수데이터의표현과연산에사용하는방식이다. 부동소수점방식의특징 고정소수점방식으로표현하는것보다매우큰수나작은수, 매우정밀한수를적은비트로표현할수있다. 과학이나공학또는수학적인응용에주로사용된다. 고정소수점방식에비해연산시간이많이걸린다. 지수부와가수부를분리하는정규화과정이필요하다. 정규화의목적은유효자릿수를최대로하여수의정밀도를높이기위한것이다. 4Byte 를사용하는단정도와가수부를 4Byte 추가하여좀더정밀하게표현할수있는 8Byte 배정도표현법이있다. 0 1 7 8 31Bit 부호지수부가수부 27

부동소수점수의연산방법 덧셈, 뺄셈 ❶ 0 인지의여부를조사한다. ❷ 가수의위치조정 : 두자료의지수를비교한후소수점의위치를이동하여지수가큰쪽에맞춘다. ❸ 가수부값끼리더하거나뺀다. ❹ 결과를정규화한다. 곱셈 ❶ 0 인지의여부를조사한다. ❷ 지수를더한다. ❸ 가수를곱한다. ❹ 결과를정규화한다. 나눗셈 ❶ 0 인지의여부를조사한다. ❷ 부호를결정한다. ❸ 피제수가제수보다작게피제수의위치를조정한다. ❹ 지수의뺄셈을한다. ❺ 가수의나눗셈을한다. 068 BCD (Binary Coded Decimal, 2 진화 10 진코드 ) ASCII 코드 (American Standard Code for Information Interchange) EBCDIC (Extended BCD Interchange Code, 확장 2 진화 10 진코드 ) 12.5, 08.5, 07.3, 06.5, 05.5, 05.3, 04.9, 03.8, 03.5, 02.9, 01.6, 99.10 자료의외부적표현 6Bit 코드로 IBM 사에서개발 1 개의문자를 2 개의 Zone 비트와 4 개의 Digit 비트로표현함 6Bit 는 2 6 개를표현할수있으므로 64 개의문자를표현할수있음 1Bit 의 Parity Bit 를추가하여 7Bit 로사용함 영문소문자를표현하지못함 7Bit 코드로미국표준협회에서개발 1 개의문자를 3 개의 Zone 비트와 4 개의 Digit 비트로표현함 2 7 =128 가지의문자를표현할수있음 1Bit 의 Parity Bit 를추가하여 8Bit 로사용함 통신제어용및마이크로컴퓨터의기본코드임 8Bit 코드로 IBM 에서개발 1 개의문자를 4 개의 Zone 비트와 4 개의 Digit 비트로표현함 2 8 =256 가지의문자를표현할수있음 1Bit 의 Parity Bit 를추가하여 9Bit 로사용함 대형기종의컴퓨터에서사용함 28 069 BCD 코드 Excess-3 코드 (3 초과코드 ) Gray 코드 패리티검사코드 해밍코드 허프만코드 070 정보처리산업기사필기요약 02.5, 01.3, 01.9, 00.10, 99.10, 99.8, 99.6 13.8, 13.3, 11.6, 11.3, 10.3, 09.8, 09.3, 07.9, 07.5, 07.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.3, 04.5, 04.3, 03.8, 03.5, 03.3, 기타자료의표현방식 10 진수 1 자리의수를 2 진수 4Bit 로표현함 4Bit 의 2 진수각 Bit 가 8(2 3 ), 4(2 2 ), 2(2 1 ), 1(2 0 ) 의자리값을가지므로 8421 코드라고도함 대표적인가중치코드 문자코드인 BCD 에서 Zone 부분을생략한형태임 10 진수입 출력이간편함 BCD + 3, 즉 BCD 코드에 3 을더하여만든코드임 대표적인자보수코드이며, 비가중치코드임 BCD 코드의인접하는비트를 X-OR 연산하여만든코드 입 출력장치, A/D 변환기, 주변장치등에서숫자를표현할때사용 1Bit 만변화시켜다음수치로증가시키기때문에하드웨어적인오류가적음 코드의오류를검사하기위해서데이터비트외에 1Bit 의패리티체크비트를추가하는것으로 1Bit 의오류만검출할수있음 Odd( 기수 ) Parity : 코드에서 1 인 Bit 의수가홀수가되도록 0 이나 1 을추가함 Even( 우수 ) Parity : 코드에서 1 인 Bit 의수가짝수가되도록 0 이나 1 을추가함 오류를스스로검출하여교정이가능한코드 1Bit 의오류만교정할수있음 데이터비트외에에러검출및교정을위한잉여비트가많이필요함 해밍코드중 1, 2, 4, 8, 16 2 n 번째비트는오류검출을위한패리티비트임 사용되는문자의빈도수에따라코드의길이가달라짐 14.3, 10.3, 09.3, 06.3, 05.9, 04.9, 04.5, 03.3, 02.5, 01.6, 01.3 그레이코드변환 2 진수를 Gray Code 로변환하는방법 ❶ 첫번째그레이비트는 2 진수의첫번째비트를그대로내려쓴다. ❷ 두번째그레이비트부터는변경할 2 진수의해당번째비트와그왼쪽의비트를 XOR 연산하여쓴다. 2 진수 1001 을 Gray Code 로변환하시오. 2 진수 Gray Code 를 2 진수로변환하는방법 ❶ 첫번째 2 진수비트는그레이코드의첫번째비트를그대로내려쓴다.

정보처리산업기사필기요약 ❷ 두번째 2 진수비트부터는왼쪽에구해놓은 2 진수비트와변경할해당번째그레이비트를 XOR 연산하여쓴다. Gray Code 1001 을 2 진수로변환하시오. Gray Code : 071 1 0 0 1 2 진수 : 1 1 1 0 13.6, 12.3, 08.5, 08.3, 04.9, 02.5, 00.10, 99.8 코드의분류 분류 가중치코드 (Weight Code) 비가중치코드 (Non-Weight Code) 자보수코드 (Self-Complement Code) 오류검출용코드 코드종류 BCD(8421), 2421, 84-2-1, Biquinary(5043210), 51111, Ring-Counter(9876543210) 3 초과 (Excess-3), Gray, Jonson, 2-Out-of-5, 3-Out-of-5 Excess-3, 2421, 51111, 84-2-1 해밍코드, 패리티검사코드, Biquinary, Ring-Counter, 2-Out-of-5, 3-Out-of-5 연산장치 (ALU) 레지스터 073 제어장치의명령에따라실제로연산을수행하는장치 산술연산, 논리연산, 관계연산, 이동 (Shift) 등의연산을수행함 가산기, 누산기 (AC; Accumulator), 보수기, 데이터레지스터, 오버플로검출기, Shift Register 등으로구성되어있음 CPU 내부에서처리할명령어나연산의중간결과값등을일시적으로기억하는임시기억장소 플립플롭 (Flip-Flop) 이나래치 (Latch) 들을병렬로연결하여구성함 메모리중에서가장속도가빠름 레지스터의크기는워드를구성하는비트개수만큼의플립플롭으로구성되며, 여러개의플립플롭은공통클록의입력에의해동시에여러비트의자료가저장됨 레지스터를구성하는플립플롭은저장하는값을임의로설정하기위해별도의입력단자를추가할수있으며, 저장값을 0 으로하는것을설정해제 (CLR) 라함 레지스터간의자료전송 - 직렬전송 : 직렬시프트마이크로오퍼레이션을뜻하며, 병렬전송에비해전송속도가느림 - 병렬전송 : 하나의클록펄스동안에레지스터내의모든비트, 즉워드가동시에전송되는전송방식 - 버스전송 : 모든레지스터들이공통으로이용하는경로로, 병렬전송에비해결선의수를줄일수있다는장점이있음 01.3, 00.10, 00.7, 00.3, 99.10, 99.10, 99.8 14.5, 14.3, 13.8, 13.6, 13.3, 12.5, 12.3, 11.6, 10.3, 09.5, 09.3, 08.9, 08.3, 07.3, 06.9, 06.3, 05.9, 04.5, 02.9, 02.5, 01.6, 주요레지스터 072 제어장치 14.5, 14.3, 13.8, 12.5, 11.3, 10.3, 08.5, 05.3, 04.5, 03.8, 03.3, 02.9, 02.5, 02.3, 01.9, 01.6, 00.7, 00.3, 99.10, 99.4 중앙처리장치의구성요소 컴퓨터에있는모든장치들의동작을지시하고제어하는장치 주기억장치에서읽어들인명령어를해독하여해당하는장치에게제어신호를보내정확하게수행하도록지시함 제어장치의구성요소 - 명령레지스터 : 현재실행중인명령어의내용을기억하고있는레지스터 - 명령해독기 (Decoder) : 명령레지스터에있는명령어를해독하는회로 - 제어신호발생기, 부호기 (Encoder) : 해독된명령에따라각장치로보낼제어신호를생성하는회로 - 제어주소레지스터 (CAR) : 다음에실행할마이크로명령어의주소를저장하는레지스터로, Mapping 의결과값, 주소필드, 서브루틴레지스터의내용들이적재되어있음 - 제어버퍼레지스터 (CBR) : 제어기억장치로부터읽혀진마이크로명령어비트들을일시적으로저장하는레지스터 - 제어기억장치 : 마이크로명령어들로이루어진마이크로프로그램을저장하는내부기억장치 - 순서제어모듈 : 마이크로명령어의실행순서를결정하는회로들의집합 - 순차카운터 (Sequence counter) : 디코더에의해선택된번호에해당하는타이밍신호를생성 제어장치에입력되는항목 : 명령어레지스터, 플래그, 클록 레지스터 프로그램카운터, 프로그램계수기 (PC; Program Counter) 명령레지스터 (IR, Instruction Register) 누산기 (AC; Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 플래그레지스터 메모리주소레지스터 (MAR; Memory Address Register) 베이스레지스터 (Base Register) 메모리버퍼레지스터 (MBR; Memory Buffer Register) 기능 다음번에실행할명령어의번지를기억하는레지스터 분기명령이실행되는경우그목적지주소로갱신됨 현재실행중인명령의내용을기억하는레지스터 연산된결과를일시적으로저장하는레지스터로연산의중심임 시스템내부의순간순간의상태가기록된정보를 PSW 라고함 오버플로, 언더플로, 자리올림, 계산상태 (0, -, +), 인터럽트등의 PSW 를저장하고있는레지스터 읽기동작이나쓰기동작을수행할때필요한주기억장소의주소를저장하는주소저장용레지스터 명령이시작되는최초의번지, 즉시작주소를기억하는레지스터 기억장치를출입하는데이터가잠시기억되는레지스터로, CPU 가데이터를처리하기위해서는반드시거쳐야함 29

정보처리산업기사필기요약 인덱스레지스터 (Index Register) 데이터레지스터 (Data Register) 시프트레지스터 (Shift Register) 메이저스테이터스레지스터 (Major Status Register) 주소의변경, 서브루틴연결및프로그램에서의반복연산의횟수를세는레지스터 명령어실행과정에서명령어가지정한번지를수정하기위해사용됨 사용자가내용을변경할수있음 연산에사용될데이터를기억하는레지스터 저장된값을왼쪽또는오른쪽으로 1Bit 씩자리를이동시키는레지스터 2 배길이레지스터라고도함 데이터의직렬전송에사용 CPU 의메이저상태를저장하고있는레지스터 연산자부의크기 ( 비트수 ) 는표현할수있는명령의종류를나타내는것으로, n Bit 면최대 2 n 개의명령어를사용할수있다. 모드 (Mode) 부 : 주소부의유효주소가결정되는방법을지정하며, 모드비트가 0 이면직접, 1 이면간접임 자료부 (Operand 부 ), 주소부 실제데이터에대한정보를표시하는부분이다. 기억장소의주소, 레지스터번호, 사용할데이터등을표시한다. 주소부의크기는메모리의용량과관계가있다. 자료부의길이가 n Bit 라면최대 2 n 개의기억장소를주소로지정할수있다. 074 10.3, 08.3, 04.3, 00.3 버스 CPU, 메모리, I/O 장치등과상호필요한정보를교환하기위해연결하는공동의전송선이다. 컴퓨터내부회로에서버스를사용하는가장큰목적은결선의수를줄이기위해서이다. 버스의종류 전송하는정보에따른버스의분류 위치에따른버스의분류 075 주소버스 (Address Bus) : CPU 가메모리나입 출력기기의번지를지정할때사용하는단방향전송선 자료버스 (Data Bus) : CPU 와메모리또는입 출력기기사이에서데이터를전송하는양방향전송선 제어버스 (Control Bus) : CPU 의현재상태나상태변경을메모리또는입 출력에알리는제어신호를전송하는데사용하는양방향전송선 내부버스 : CPU 및메모리내에구성된 Bus 외부버스 : 주변입 출력장치에구성된 Bus 13.6, 13.3, 12.5, 11.8, 11.3, 10.5, 10.3, 08.9, 08.3, 07.9, 07.3, 05.9, 05.4, 05.3, 04.5, 03.8, 03.5, 03.3, 02.3 명령어의구성 Operation Code, 연산자부 연산자부 (Operation Code 부 ) 모드 (Mode) 부 Operand, 자료부 수행해야할동작에맞는연산자를표시하며, 흔히 OP-Code 부라고한다. 076 함수연산기능 자료전달기능 제어기능 입 출력기능 077 04.3, 03.8, 03.5, 02.9, 01.9, 01.6, 01.3, 00.10 14.8, 14.3, 13.6, 13.3, 12.8, 12.5, 12.3, 11.8, 11.3, 10.9, 10.5, 10.3, 09.8, 09.3, 06.9, 06.5, 06.3, 05.9, 05.4, 04.9, 04.5, 연산자 (Operation Code) 의기능 산술연산 : ADD, SUB, MUL, DIV, 산술 SHIFT 등논리연산 : NOT, AND, OR, XOR, 논리적 SHIFT, ROTATE, COMPLEMENT, CLEAR, SET 등 CPU 와기억장치사이에서정보를교환하는기능 Load : 기억장치에기억되어있는정보를 CPU 로꺼내오는명령 Store : CPU 에있는정보를기억장치에기억시키는명령 Move : 레지스터간에자료를전달하는명령 Push : 자료를스택에저장하는명령 Pop : 스택에서자료를꺼내오는명령 명령어의실행순서를변경시킬때사용하는기능 무조건분기명령 : GOTO, Jump(JMP) 등 조건분기 (Branch) 명령 : IF 조건, SPA, SNA, SZA 등 Call : 부프로그램호출 Return : 부프로그램에서메인프로그램으로복귀 CPU 와 I/O 장치, 또는메모리와 I/O 장치사이에서자료를전달하는기능 INPUT : 입 출력장치의자료를주기억장치로입력하는명령 OUTPUT : 주기억장치의자료를입 출력장치로출력하는명령 14.8, 14.3, 12.3, 08.5, 07.9, 06.9, 05.9, 05.5, 05.3, 04.9, 04.3, 00.5, 99.10, 99.6 피연산자의수에따른연산자의분류 NOT A 처럼피연산자가 1 개만필요한연산자를단항연산자라하고, A+B 처럼피연산자가 2 개필요한연산자를이항연산자라한다. 30

정보처리산업기사필기요약 단항연산자 (Unary Operator) 이항연산자 (Binary Operator) 078 AND (Masking Operation) OR (Selective Set) XOR (Compare, 비교 ) NOT (Complement, 보수 ) 논리 Shift Rotate 산술 Shift NOT, COMPLEMENT, SHIFT, ROTATE, MOVE, CLEAR 등 사칙연산, AND, OR, XOR, XNOR 03.3, 01.9, 01.3, 00.7, 00.5, 00.3, 99.4 14.8, 14.5, 13.8, 13.6, 13.3, 12.8, 12.3, 11.6, 11.3, 10.5, 10.3, 09.5, 09.3, 08.5, 08.3, 07.3, 06.3, 05.9, 05.5, 05.3, 04.3, 연산 특정문자또는특정 Bit 를삭제 (Clear) 시키는명령으로 Masking 명령이라고도함 삭제할부분의 Bit 를 0 과 AND 시켜서삭제하는데, 대응시키는 0 인 Bit 를 Mask Bit 라고함 특정문자를삽입하거나특정 Bit 에 1 을세트시키는명령으로 Selective Set 연산이라고도함 삽입하거나세트시킬 Bit 에삽입할문자코드또는 1 을 OR 연산시킴 2 개의데이터를비교하거나특정비트를반전시킬때사용함 2 개의데이터를 XOR 연산하여결과에 1Bit 라도 1 이있으면서로다른데이터임 반전시킬때는반전시킬비트와 1 을 XOR 시킴 각비트의값을반전시키는연산으로보수를구할때사용함 왼쪽또는오른쪽으로 1Bit 씩자리를이동시키는연산으로데이터의직렬전송 (Serial Transfer) 에사용함 삽입되는자리는무조건 0 임 Shift 에서밀려나가는비트의값을반대편값으로입력하는연산 문자위치를변환할때이용 부호 (Sign) 를고려하여자리를이동시키는연산으로, 2 n 으로곱하거나나눌때사용함 왼쪽으로 n Bit Shift 하면원래자료에 2 n 을곱한값과같음 오른쪽으로 n Bit Shift 하면원래자료를 2 n 으로나눈값과같음 홀수를오른쪽으로한번 Shift 하면 0.5 의오차가발생함 2 관계연산자 : =,, >, <,, ( 우선순위가모두같음 ) 3 논리연산자 : NOT > AND > OR 우선순위가같은연산자가혼합되어나오면연산순서는왼쪽에서오른쪽으로진행된다. 080 3 번지명령어 2 번지명령어 1 번지명령어 0 번지명령어 02.5, 02.3, 01.9, 01.6 14.8, 13.6, 12.8, 11.8, 10.9, 10.5, 10.3, 09.8, 09.5, 08.9, 08.3, 06.9, 05.9, 05.5, 05.3, 04.5, 04.3, 03.8, 03.5, 03.3, 02.9, 명령어형식 Operand 부가 3 개로구성되는명령어형식으로여러개의범용레지스터 (GPR) 를가진컴퓨터에서사용함 연산의결과는 Operand 3 에기록됨 연산시원시자료를파괴하지않음 다른형식의명령어를이용하는것보다프로그램전체의길이를짧게할수있음 전체프로그램실행시명령인출을위하여주기억장치를접근하는횟수가줄어들어프로그램실행속도를단축시킴 Operand 부가두개로구성되는, 가장일반적으로사용되는명령어형식임 여러개의범용레지스터를가진컴퓨터에서사용함 실행속도가빠르고기억장소를많이차지하지않음 3 주소명령에비해명령어의길이가짧음 계산결과가기억장치에기억되고중앙처리장치에도남아있어서계산결과를시험할필요가있을때시간이절약됨 단점 - 연산의결과는주로 Operand1 에저장되므로 Operand 1 에있던원래의자료가파괴됨 - 전체프로그램의길이가길어짐 Operand 부가 1 개로구성되어있음 AC(Accumulator; 누산기 ) 를이용하여명령어를처리함 Operand 부없이 OP-Code 부만으로구성됨 모든연산은 Stack 메모리의 Stack Pointer 가가리키는 Operand 를이용하여수행함 수식을계산하기위해서는우선, 수식을 Postfix( 역 Polish) 형태로변경해야함 모든연산은스택에있는자료를이용하여수행하기때문에스택머신 (Stack Machine) 이라고도함 원래의자료가남지않음 079 14.3, 07.5, 07.3, 05.3 연산자의우선순위 계산식에연산자가혼합되어나오면우선순위는 산술 > 관계 > 논리 순이며각각은다음과같다. 1 산술연산자 : ^( 거듭제곱 ) > ( 곱셈 ), ( 나눗셈 ) > +, - 081 암시적주소지정방식 (Implied Mode) 04.9, 03.8, 03.5 14.5, 14.3, 13.8, 13.6, 12.8, 12.5, 11.8, 11.3, 10.5, 10.3, 09.8, 09.5, 08.5, 08.3, 07.9, 07.5, 07.3, 06.3, 05.9, 05.4, 05.3, 주소지정방식의종류 명령실행에필요한데이터의위치를지정하지않고누산기나스택의데이터를묵시적으로지정하여사용함 오퍼랜드가없는명령이나 PUSH R1 처럼오퍼랜드가 1 개인명령어형식에사용됨 31

정보처리산업기사필기요약 즉치 ( 즉시 ) 적주소지정방식 (Immediate Mode) 직접주소지정방식 (Direct Mode) 간접주소지정방식 (Indirect Mode) 계산에의한주소지정방식 082 명령어자체에오퍼랜드 ( 실제데이터 ) 를내포하고있는방식 별도의기억장소를액세스하지않고 CPU 에서곧바로자료를이용할수있어서실행속도가빠르다는장점이있음 명령어의길이에영향을받으므로표현할수있는데이터값의범위가제한적임 명령의주소부 (Operand) 가사용할자료의번지를표현하고있는방식 명령의 Operand 부에표현된주소를이용하여실제데이터가기억된기억장소에직접사상시킬수있음 주소부분에실제사용할데이터의유효주소를적기때문에주소길이에제약을받음 기억용량이 2 n 개의 Word 인메모리시스템에서주소를표현하려면 n 비트의 Operand 부가필요함 명령의 Operand 부에데이터를가지고있는레지스터의번호를지정하면레지스터모드라고함 명령어에나타낼주소가명령어내에서데이터를지정하기위해할당된비트 (Operand 부의비트 ) 수로나타낼수없을때사용하는방식 명령의길이가짧고제한되어있어도긴주소에접근가능함 명령어내의주소부에실제데이터가저장된장소의번지를가진기억장소의번지를표현하므로, 최소한주기억장치를 2 번이상접근하여데이터가있는기억장소에도달함 명령의 Operand 부에데이터의주소를가지고있는레지스터의번호를지정하면레지스터간접모드라고함 Operand 부와특정레지스터의값이더해져서 유효주소를계산하는방식 상대 (Relative) 주소지정방식 - 명령어의주소부분 + PC - 분기명령에많이사용됨 Base Register Mode : 명령어의주소부분 + Base Register Index Register Mode : 명령어의주소부분 + Index Register 계산에의한주소지정방식은전체기억장치의주소를사용해야하는일반적인주소지정방식에비해적은수의비트를사용하고, 레지스터지정필드없이묵시적으로레지스터를지정하여사용하기때문에데이터의주소를분류할때약식주소라고함 14.8, 14.3, 13.8, 12.8, 11.3, 10.5, 08.9, 07.5, 06.3, 05.9, 05.5, 05.3, 04.9, 04.3, 02.9, 01.9, 00.10, 99.6 마이크로오퍼레이션 (Micro Operation) 의정의 Instruction 을수행하기위해 CPU 내의레지스터와플래그가의미있는상태변환을하도록하는동작이다. 기억장치로부터인출하여해독된명령어를실행하기위해제어신호를발생시키는각단계의세부동작을말한다. 32 레지스터에저장된데이터에의해이루어지는동작이다. 한개의 Clock 펄스동안실행되는기본동작이다. 마이크로오퍼레이션의순서를결정하기위하여제어장치가발생하는신호를제어신호라고한다. 마이크로오퍼레이션은 Instruction 실행과정에서한단계씩이루어지는동작으로, 한개의 Instruction 은여러개의 Micro Operation 이동작되어실행된다. Micro Cycle Time - 한개의 Micro Operation 을수행하는데걸리는시간 - CPU Cycle Time 또는 CPU Clock Time 이라고도하며, CPU 속도를나타내는척도로이용됨 제어워드와마이크로프로그램 제어워드 : 레지스터의선택과산술논리연산장치의역할을결정하고, 어떤마이크로연산을할것인가를결정하는비트의모임을제어워드라고함. 제어워드는마이크로명령어라고도함 마이크로프로그램 : 어떤명령을수행할수있도록구성된일련의제어워드가특수한기억장치속에저장될때이를마이크로프로그램이라고함 083 14.8, 14.5, 13.6, 13.3, 12.5, 11.8, 11.3, 10.9, 10.3, 09.5, 08.5, 06.5, 05.4, 00.3 Micro Cycle Time 부여방식 한개의 Micro Operation 을수행하는데걸리는시간을 Micro Cycle Time 이라한다. Micro Cycle Time 은 CPU Cycle Time 또는 CPU Clock Time 이라고도하며, CPU 속도를나타내는척도로이용한다. 동기고정식 (Synchronous Fixed) 동기가변식 (Synchronous Variable) 모든마이크로오퍼레이션의동작시간이같다고가정하여 CPU Clock 의주기를 Micro Cycle Time 과같도록정의하는방식 모든마이크로오퍼레이션중에서동작시간이가장긴마이크로오퍼레이션의동작시간을 Micro Cycle Time 으로정함 모든마이크로오퍼레이션의동작시간이비슷할때유리한방식임 장점 : 제어기의구현이단순함 단점 : CPU 의시간낭비가심함 동작시간이유사한 Micro Operation 들끼리그룹을만들어, 각그룹별로서로다른 Micro Cycle Time 을정의하는방식 동기고정식에비해 CPU 시간낭비를줄일수있는반면, 제어기의구현은조금복잡함 마이크로오퍼레이션의동작시간이현저하게차이날때유리함 ( 정수배 )