본문 바로가기

자격증 공부/정보처리산업기사

데이터베이스 ! 자료구조 (1) 자료구조 1) 선형구조 1. 장점 * 간단한 자료구조 * 저장 효율이 뛰어남 *접근속도 가 빠름 2. 단점 * 삽입 삭제가 어려움 2) 연결 리스트 1. 형태 * 링크 정보를 가짐, ( 포인터 ) * 삽입 삭제는 쉽지만 , 저장 효율은 좋지 않음 2. 단점 * 엑세스 타임이 느림 * 기억 장소 효율이 나쁨 * 포인터를 위한 추가 공간이 필요 * 중간 노드 연결이 끊어지면, 다음 노드를 찾기 힘듦 3. 종류 * 단순 연결 리스트 * 이중 연결 리스트 * 단순 환형 연결 리스트 (순환형) 3) 스택 PUSH = > TOP +1 POP = > TOP - 1 1. 용도 * 인터럽트 처리 * 수식의 계산 * 서브루틴의 복귀 용도 4) 큐 ( Queue ) 1. 정의 * FIFO, 질서구조 * 작업 스케줄링.. 더보기
데이터베이스 ! 시스템 카탈로그 (1) 시스템 카탈로그 1) 정의 * 데이터사전(Data Dictionary ) 또는 ( Meta Data ) 라고 함. * 구성 , 접근권한, 인덱스 정보 등을 담고 있음 * 데이터베이스가 생성될때 DBMS 에 의해 자동 생성 됨 * 이 카탈로그는 데이터베이스 시스템에서 읽혀질때 먼저 참고 됨 2) 특징 * 다양한 객체들에 관한 정보를 포함하는 파일 시스템 * 릴레이션 (테이블) , 인덱스, 사용자 정보 뿐만 아니라, 저장위치(인덱스) 등을 다갖고잇음 * 시스템 테이블로 구성되어 있어서 일반 이용자도 카탈로그를 볼 수 있다. * 카탈로그에 대한 갱신은 DBMS 가 자동적으로 수행 * 테이블 정보, 인덱스정보, 뷰 정보등을 저장하는 시스템 테이블 (2) 뷰 ( VIEW ) 1) 뷰의 특성 * 가상 테이블.. 더보기
데이터베이스 6강 ! 관계대수 , SQL (1) 관계 대수 1. 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 방법 2. 원하는 관계를 얻기 위해 연산자와 연산규칙을 제공하는 언어 1) 프로젝션 ( Projection ) * 테이블에서 특정 속성에 해당하는 열을 선택하는데 사용 됨 * 수직적 부분 집합에 해당하는 관계대수 연산자 * 파이 π 로 표시 2) 조인 ( Join ) * 리본 모양 으로 표시 3) 셀렉션 연산 ( Selection ) * 튜플을 추출하는 연산 * o 시그마 가 연산자 기호 임 4) 카티션 곱 ( Cartesian Product ) * 튜플의 곱, 카티션의 곱 (2) 관계 해석 ( Relational Calculus ) 1) 관계해석의 특징 * 비절차적 언어 이며, 선언적 언어다 (3) DCL * COMMI.. 더보기
데이터베이스 5강 ! 관계형 DB (1) 관계형 데이터 모델 ( Relational database ) 1) 관계 데이터 모델 정의 1. 기본키와 이를 참조하는 외래키로 표현하는 데이터 모델 2. 개체를 테이블로 사용하고, 개체 집합들 사이에 관계를 표현 2) 릴레이션의 구조 1. 속성 ( Attribute ) -> 열 ( 컬럼 ) , item , 필드 다 같은 말 2. 튜플 -> 행 ( row ) , 레코드 다 같은말 3. 차수 ( Degree ) -> 속성의 수 4. 카디널러티 ( Cardinarity ) -> 튜플의 갯수 4. 도메인 ( Domain ) -> 하나의 속성이 취할 수 있는 같은 타입의 원자값들의 집합 -> 즉, 속성이 취할 수 있는 값의 범위 -> 실제 애트리뷰트 값의 합법 여부를 시스템이 검사하는데도 이용 됨 (2).. 더보기
데이터베이스 ! 정규화 , ★★ (1) 데이터베이스 설계과정 ★★ 1. 개념적 설계 => WHAT ? = > 개념 스키마 = > ER - Diagram - 무엇을 객체화 할것인지, 개념적인 설계 하는 단계, 최종적 산출물로 ER-Diagram 을 만듬 = 개체, 속성, 관계, 제약조건, 권한, 보안 기법 모든것들에 대한 전체적인 스키마 - DBMS 에 독립적임. ----------------------------------------------------아래부터는 DBMS 의존적 ----------- 2. 논리적 설계 - 효율적인 D/B 화, 즉 정규화 하는 단계 - 정규화란 개체(TABLE) 를 분리하는 과정 3. 물리적 설계 - 데이터 타입, 크기 등의 구조를 설계 4. 데이터베이스 구축 (2) 물리적 설계 단계의 고려 사항 1. .. 더보기
데이터베이스 ! 데이터 모델링 (1) 데이터 모델의 구성요소 ★★★ 1) 논리적으로 표현된 ( 추상적인개념 ) 데이터 구조 2) 구성요소의 연산 3) 구성요소의 제약 조건 ※ 관계는 오답! 관계 또는 물리적구조는 데이터구조에 포함되어있음. (2) E-R 다이어그램 1) 특성 -. E-R 다이어그램으로 표현하며, P.chen 이 제안 -. 개체 타입과 이들 간의 관계타입을 이용해 현실 세계를 개념적으로 표현 (3) 논리적 데이터 모델 -> 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여 현실 세계를 표현 -> 관계 데이터모델, 계층 데이터 모델, 네트워크 데이터 모델 등으로 구분 됨 1) 관계형 데이터 모델 1. 데이터베이스를 테이블의 집합으로 표현. 개체와 관계 모두 테이블로 표현함 2) 계층형 데이터 모델 1. .. 더보기
데이터베이스 ! DBMS,스키마 (1) DBMS 의 장점 1. 데이터의 보안 보장이 용이 하다. 왜냐면, 데이터의 중복이 최소화 되기 때문에, 보안성이 강해진다. 2. 데이터의 무결성 및 일관성 유지 3. 데이터의 중복을 최소화 할 수 있음. (2) DBMS 의 역할 1. 데이터베이스 생성 , 제거 ( DDL : 정의어 ) -> Create , Drop ... 2. 데이터베이스 관리, 제어 ( DCL : 제어어 ) 3. 데이터베이스 검색, 사용 ( DML : 조작어 ) (3) DBMS 의 필수 기능 1. 정의 기능 1) 데이터가 저장될 때의 제약조건 등을 명시하는 기능 2) 사상(Mapping) 을 명세하여 여러 응용 P/G 에 지원하는 기능 3) 인터베이스 방법 제공 2. 제어 기능 ★★★ 1) 데이터 무결성 유지 2) 보안과 권한 .. 더보기
운영체제 ! 스케쥴링 (1) 비선점 스케쥴링 이미 할당된 cpu 를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케쥴링 기법 1) 장점 : 모든 프로세스에 대한 요구를 공정하게 처리 가능 : 프로세스 응답 시간 예측이 용이 2) 단점 : 중요한 작업이 중요하지 않은 작업을 기다리는 경우가 발생 : 대화형 시스템에 부적합 3) 종류 1. FIFO = FCFS -> 먼저 들어온 프로세스를 먼저 처리 2. SJF ( Shortest Job First ) -> 실행 시간이 가장 짧은 것 부터 처리 -> 가장 적은 평균 대기시간 제공, 최적 알고리즘 -> 단, 실행시간이 긴 것은 무한대기에 빠질 수 있음 3. HRN ( Highest Response-ratio Next ) -> SJF 의 단점을 보완하기 위한것으로, 대기시간과 서.. 더보기
운영체제 ! 병행 프로세스 (1) 임계 구역 ( Critical Section ) -> 여러 프로세스 가 사용하는 공간을 어느 시점에서는 하나의 프로세스만 사용하도록 지정된 공유 자원을 의미 (2) 상호 배제 기법 ( MUTEX , Multi Exclusion ) -> 임계 구역에 다른 프로세스가 접근 하지 못하게 제어 하는 기법 1) 데커 알고리즘 -> 순수하게 소프트웨어로 교착 상태가 발생하지 않음을 보장 함. 교착 상태 예방 (3) 동기화 기법 ( Synchronization ) 1) 세마 포어 : E. J. Dijkastra 가 제안, P 와 V 라는 2개의 연산에 의해서 동기화를 유지 2) 모니터 : 모니터 경계에서 상호배제 시작 됨, Wait 와 Signal 신호를 사용함. 교착 상태 발생 조건 1) 상호 배제 2) 점.. 더보기
운영체제 ! 프로세스 관리 (1) 프로세스의 상태 전이 1. Ready : 프로세스가 프로세서 할당받기 위해 기다리는 상태 2. Running : 프로세서를 할당받아 실행 되는 상태 3. Block : I/O 인터럽트 발생시, 현재 실행중인것이 중단되고, 대기 상태로 전이 됨 4. Wake Up : I/O 인터럽트 처리 완료 후, WakeUp 되며, 다시 Ready 상태로 전이 됨. ★★ 5. DisPatch : 준비 상태의 프로세스 중 하나가 스케쥴링 되어 cpu 를 할당받아 실행상태로 전이되는 과정 (2) 스레드 -> 프로세스 내에서의 작업 단위, 경량 프로세스 라고도 함 1) 사용자 수준의 스레드 : 사용자가 만든 라이브러리를 사용하여 스레드를 운용, 속도는 빠르지만 구현어려움 2) 커널 수준의 스레드 : 운영체제의 커널에 .. 더보기