인생이 쓰다!인생쓰

공부/정보처리기사

정보처리기사 실기 11일차 ( 응용 SW 기초 기술 활용 )

Johnal 2021. 4. 9. 16:35
반응형

*정리는 2020시나공 문제집을 참고했습니다.*

 

 

교착상태(Dead Lock)

상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상이다.

 

교착상태 발생의 필요 충분 조건

상호 배제 : 한번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함

 

점유와 대기 : 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함

 

비선점 : 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 뺴앗을 수 없어야 함

 

환형 대기 : 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함

 

해결 방법

 

예방 기법(Prevention)

교착 상태가 발생하지 않도록 사전에 시스템을 제어하는 방법으로, 교착상태 발생의 네 가지 조건 중에서 어느 하나를 제거(부정)함으로써 수행된다.

 

상호 배제 부정 : 한 번에 여러개의 프로세스가 공유 자원을 사용할 수 있도록 함

 

점유 및 대기 부정 : 프로세스가 실행되기 전 필요한 모든 자원을 할당하여 프로세스 대기를 없애거나 자원이 점유되지 않은 상태에서만 자원을 요구하도록 함

 

비선점 부정 : 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때 점유하고 있는 자원을 반납하고, 요구한 자원을 사용하기 위해 기다리게 함

 

환형 대기 부정 : 자원을 선형 순서로 분류하여 고유 번호를 할당하고, 각 프로세스는 현재 점유한 자원의 고유 번호보다 앞이나 뒤 어느 한쪽 방향으로만 자원을 요구하도록 하는 것

 

회피 기법(Avoidance)

교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해나가는 방법으로, 주로 은행원 알고리즘이 사용된다.

 

발견 기법(Detection)

시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 것으로, 자원 할당 그래프 등을 사용한다.

 

회복 기법(Recovery)

교착 상태를 일으킨 프로세스를 종료하거나 교착 상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것이다.

 

 

 

데이터베이스(Database)

특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임이다.

 

통합된 데이터 : 검색의 효율성을 위해 중복이 최소화된 데이터의 모임

저장된 데이터 : 컴퓨터가 접근 할 수 있는 저장 매체에 저장된 데이터

운영 데이터 : 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 데이터

공용 데이터 : 여러 응용 시스템들이 공동으로 소유하고 유지하는 데이터 

 

 

DBMS (데이터베이스 관리 시스템)

 

사용자와 데이터 베이스사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해 주는 소프트웨어입니다.

 

DBMS의 필수 기능

정의 기능 ,조작 기능, 제어 기능 

 

DMBS의 종류 

계층형DBMS : 트리(Tree) 구조를 이용해서 데이터의 상호관계를 계층적으로 정의한 DBMS

 

망형DMBS : 그래프를 이용해서 데이터 논리 구조를 표현한 DBMS

 

관계형 DBMS : 계층형과 망형 DBMS의 복잡한 구조를 단순화시킨 가장 널리 사용되는 DBMS

 

 

분산 데이터베이스

논리적으로 같은 시스템에 속하지만 물리적으로는 컴퓨터 네트워크를 통해 분산되어 있는 데이터베이스로 목표는 다음과 같다.

 

위치 투명성 - 접근하려는 데이터베이스의 실제 위치를 알 필요없이 단지 베이터베이스의 논리적인 명칭으로 접근할수 있습니다.

 

중복 투명성 - 동일한 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용할 수 있고, 시스템은 자동으로 여러 데이터에 대한 작업을 수행합니다.

 

병행 투명성 - 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실행되더라도 그 트랜잭션들의 수행 결과는 서로 영향을 받지 않습니다.

 

장애 투명성 - 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션은 정확하게 수행됩니다.

 

고급 데이터베이스

데이터 웨어하우스(Data Warehouse) - 급증하는 다량의 데이터를 효과적으로 분석하여 정보화하고 이를 여러 계층의 사용자들이 효율적으로 사용할 수 있도록 한 데이터베이스

 

데이터 마트 (Data Mart) - 전사적으로 구축된 데이터 웨어하우스로부터 특정 주제나 부서 중심으로 구축된 소규모 단일 주제의 데이터 웨어하우스를 말합니다. 

 

데이터 마이닝(Data Mining) - 데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법입니다.

 

OLAP - 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식

 

OLTP - 온라인 업무 처리 형태의 하나로 네트워크상의 여러 이용자가 실시간으로 데이터베이스의 데이터를 갱신하거나 검색하는 등의 단위 작업을 처리하는 방식

 

 

 

ER 모델 - ER 도형

ER 모델은 개념적 데이터 모델의 가장 대표적인 것으로, 1976년 피터 첸에 의해 제안되었으며, 다음고 같은 도형들을 이용하여 현실 세계를 표현합니다.

 

 

 

 

 

관계 및 관계 타입

관계는 2개 이상의 개체 사이에 존재하는 연관성을 뜻하며, 관계 타입은 같은 관계들의 집합 또는 틀을 뜻합니다.

관계는 관계에 참여하는 개체 타입의 개수에 대한 차수(Degree)와 관계에 참여하고 있는 개체 어커런스의 개수에 대한 대응 카디널리티를 갖습니다.

 

대응 카디널리티에 따른 관계의 종류

1:1 관계 - 관계에 참여하고 있는 두 개체 타입이 모두 하나씩의 개체 어커런스를 갖는 관계

 

1:N 관계 - 관계에 참여하고 있는 개체 타입 중 한 개체타입은 여러 개의 개체 어커런스를 가질 수 있고, 다른 한 개체 타입은 하나의 개체 어커런스를 갖는 관계입니다.

 

N:M 관계 - 관계에 참여하고 있는 두 개체 타입 모두 여러 개의 개체 어커런스를 가질 수 있는 관계

 

 

 

 

관계 데이터베이스의 Relaction 구조

 

릴레이션은 데이터들을 표(Table)의 형태로 표현한 것으로, 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성됩니다.

 

튜플(Tuple)

릴레이션을 구성하는 각각의 행이다.

속성의 모임으로 구성된다.

파일 구조에서 레코드와 같은 의미입니다.

튜플의수 = 카디널리티 = 기수 = 대응수

 

속성(Attribute)

릴레이션을 구성하는 각각의 열입니다.

데이터베이스를 구성하는 가장 작은 논리적 단위입니다.

파일구조 상의 데이터 항목 또는 데이터 필드에 해당된다.

개체의 특성을 기술합니다.

속성의 수 = 디그리(Degree) = 차수

 

 

도메인(Domain)

하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합이다.

실제 애트리뷰트 값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는 데에도 이용됩니다.

 

릴레이션 인스턴스

데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것을 말합니다.

 

매핑 룰 (Mapping Rule) - 개념적 데이터 모델인 ER모델을 논리적 데이터 모델인 릴레이션 스키마로 변환하는 것을 뜻합니다.

 

 

 

 

키(Key)의 개념 및 종류

 

키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성입니다.

 

슈퍼키(Super Key) - 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못함

 

후보키(Candidate Key) - 릴레이션을 구성하는 속성들중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분 집합으로, 유일성과 최소성을 모두 만족합니다.

 

기본키(Primary Key) - 후보키 중에서 선정된 기본키를 제외한 나머지 후보키를 의미함

 

외래키(Foreign Key) - 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미하며, 릴레이션 간의 관계를 표현할 때 사용

 

무결성(Integrity)

데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미합니다.

 

개체 무결성(Entity Integrity) - 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복값을 가질 수 없다는 규정

 

도메인 무결성(Domain Integrity) - 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정

 

참조 무결성 (Referential Integrity) - 외래키 값은 Null 이거나 참조 릴레이션의 기본키 값과 동일해야 합니다. 

 

사용자 정의 무결성(User-Defined Integrity) - 속성 값들이 사용자가 정의한 제약조건에 만족해야 한다는 규정

 

NULL 무결성 - 릴레이션의 특정 속성 값이 NULL이 될 수 없도록 하는 규정

 

고유(Unique) 무결성 - 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성값들이 서로 달라야 한다는 규정

 

키(Key) 무결성 - 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다는 규정

 

관계(Relationship) 무결성 - 릴레이션에 어느 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부를 지정한 규정입니다. 

 

728x90
반응형