본문 바로가기
ETC/Certificate

<정보처리기능사> 데이터베이스

by Skills 2020. 11. 24.

2데이터베이스

 

1. 데이터베이스란

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

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

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

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

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

 

2. 데이터베이스 설계

사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것이다.

 

데이터베이스 설계 순서

① 요구 조건 분석 : 요구 조건 명세서 작성

개념적 설계 : 개념 스키마, 트랜잭션 모델링, E-R 모델

논리적 설계 : 목표 DBMS에 맞는 논리 스키마 설계, 트랜잭션 인터페이스 설계

물리적 설계 : 목표 DBMS에 맞는 물리적 구조의 데이터로 변환

구현 : 목표 DBMSDDL(데이터 정의어)로 데이터베이스 생성, 트랜잭션 작성

 

3. 스키마(Schema)

데이터베이스를 구성하는 개체, 속성, 관계 등 구조에 대한 정의와 이에 대한 제약 조건 등을 기술하는 것으로, 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나뉜다.

- 외부 스키마 : 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.

- 개념 스키마 : 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.

- 내부 스키마 : 데이터베이스의 물리적 구조로, 데이터의 실제 저장 방법을 기술한다.

 

4. 데이터베이스 사용자

데이터베이스 관리자(DBA; DataBase Administrator)

데이터베이스 관리자는 데이터베이스 시스템을 관리하고 운영에 관한 모든 것을 책임지는 사람이나 그룹이다.

 

응용 프로그래머

일반 호스트 언어로 프로그램을 작성할 때 데이터 조작어를 삽입해서 일반 사용자가 응용 프로그램을 사용할 수 있게, 인터페이스를 제공할 목적으로 데이터베이스에 접근하는 사람들이다.

 

일반 사용자(End User)

일반 사용자는 보통 터미널을 이용하여 데이터베이스에 있는 자원을 활용할 목적으로 질의어나 응용 프로그램을 사용하여 데이터베이스에 접근하는 사람들이다.

 

5. DBMS의 정의

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

* DBMS는 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로, 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해 준다.

* DBMS의 필수 기능에는 정의(Definition), 조작(Manipulation), 제어(Control) 기능이 있다.

 - 정의 기능 : 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능이다.

 - 조작 기능 : 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능이다.

 - 제어 기능 : 데이터베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어하는 기능이다.

 

6. DBMS의 종류

DBMS는 데이터 구조에 따라 계층형 DBMS, 망형 DBMS, 관계형 DBMS 등이 있다.

  계층형 DBMS - 트리 구조를 이용해서 데이터의 상호관계를 계층적으로 정의한 DBMS이다.
- 개체 타입 간에는 상위와 하위 관계가 존재하며, 일 대 다(1:N) 대응 관계만 존재한다.
- 종류 : IMS, System2000
  망형 DBMS - 그래프를 이용해서 데이터 논리 구조를 표현한 DBMS이다.
- 상위와 하위 레코드 사이에서 1:1, 1:N, N:M(다대다) 대응 관계를 모두 지원
- 종류 : IDS, TOTAL, IDMS
  관계형 DBMS - 가장 널리 사용되는 DBMS, 계층형 DBMS와 망형 DBMS의 복잡한 구조를 단순화시킨 DBMS이다.
- 파일 구조처럼 구성한 2차원적인 표(Table)를 하나의 DB로 묶어서 테이블 내에 있는 속성들 간의 관계를 설정하거나 테이블 간의 관계를 설정하여 이용.
- 종류 : Oracle, SQL Server, MySQL

* 비관계형 DBMS(NoSQL DBMS)

데이터 간의 관계를 정의하지 않고 비구조적인 데이터를 저장하기 위한 시스템으로 최근 빅데이터를 처리하기 위한 시스템으로 각광받고 있다.

 

7. 데이터 모델의 정의

현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형이다.

- 데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약 조건 등을 기술하기 위한 개념적인 도구들의 모임이다.

 

8. 데이터 모델의 구성 요소

* 개체

- 개체는 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.

 

 

+ 테이블 (Table)

(row)과 열(colum)로 이루어진 데이터의 집합을 테이블이라고 한다. 흔히 엑셀을 떠올리면 된다. 일반적인 데이터베이스에서는 행과 열 만 있으면 테이블이라고 하지만 관계형 데이터베이스에서는 여기에 특별한 제약을 추가해서 릴레이션(relation)이라고 부른다

① 모든 값은 유일한 값을 가진다.

하나의 릴레이션에서 중복되는 행이 존재하면 안된다.

 

위 조건을 충족하는 테이블만이 릴레이션이 될 수 있기 때문에 모든 릴레이션은 테이블이지만 모든 테이블이 릴레이션인건 아니다.

 

+ (Row)

테이블을 구성하는 데이터들 중 가로로 묶은 데이터셋을 의미한다. 일반적으로 행은 한 객체에 대한 정보를 가지고있다. 이 또한 관계형 데이터베이스에서는 튜플(Tuple)또는 레코드(Record)라는 이름으로 불린다.

 

+ (Colum)

테이블을 구성하는 데이터들 중 세로로 묶은 데이터셋을 의미한다. 일반적으로 열은 그 테이블의 속성을 의미하며 열을 구성하는 값들은 같은 도메인(Domain)으로 되어있다. 이 또한 관게형 데이터베이스에서는 속성(Attribute)라는 이름으로 불린다.

 

+ 도메인 (Domain)

데이터베이스에서 필드(Field)에 채워질 수 있는 값의 집합이다. 예를 들어 도메인이 1에서 10사이의 정수인 속성의 필드에 11이나 -1처럼 도메인을 벗어나는 값 또는 고양이처럼 아예 자료형이 다른 값이 들어 갈 수 없다.

 

+ 스키마 (Schema)

데이터베이스의 구조를 전반적으로 기술한 것을 말한다. 구체적으로 데이터베이스를 구성하는 데이터 레코드의 크기, 키의 정의, 레코드 간의 관계 등을 정의한 것을 말한다.

사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분한다. DBMS는 외부 스키마에 명세된 사용자의 요구를 개념 스키마 형태로 변환하고, 이를 다시 내부 스키마 형태로 변환한다.

 

* 외부 스키마

사용자의 입장에서 정의한 데이터베이스의 논리적 구조, 데이터들을 어떤 형식, 구조, 화면을 통해 사용자에게 보여줄 것인가에 대한 명세를 말하며 하나의 데이터베이스에는 여러 개의 외부 스키마가 있을 수 있다.

 

* 개념 스키마

조직체 전체를 관장하는 입장에서 DB를 정의한 스키마, DB에 대한 모든 논리적 구조를 기술하기 때문에 데이터베이스에 하나만 존재하며, 통상 스키마라고 하면 개념 스키마를 일컫는다.

 

* 내부 스키마

데이터베이스가 어떻게 저장장치에 저장될 지에 대한 명세, 물리적인 저장장치와 데이터베이스 간의 관계를 정의하므로 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

 

-----------------------------------------------------------------------------------------------------------------------------------

 

데이터베이스 예상문제

 

1. 다음에 제시된 데이터베이스 설계 순서에서 괄호에 들어갈 알맞은 용어를 쓰시오.

요구 조건 분석 -> (   ) -> 논리적 설계 -> 물리적 설계 -> 구현

답 : 개념적 설계

 

2. 데이터베이스 구조와 관련된 전반적인 정의로서 데이터베이스 설계 단계를 의미하는 것으로, 데이터베이스를 구성하는 데이터 개체, 이들 간의 속성 및 존재하는 관계, 데이터 구조와 데이터 값들이 가지고 있는 제약 조건에 관한 정의를 총칭하는 데이터 베이스 관련 용어를 쓰시오.

답 : 스키마(Schema)

 

3. 다음은 스키마에 대한 설명이다. 괄호(1 ~ 3)에 들어갈 알맞은 스키마 종류를 쓰시오.

스키마는 데이터베이스를 구성하는 개체, 속성, 관계 등 구조에 대한 정의와 이에 대한 제약 조건 등을 기술하는 것으로, 사용자의 관점에 따라 ( 1 ) 스키마, ( 2 ) 스키마, ( 3 ) 스키마로
나뉜다. 이하 생략

답 : ( 1 = 외부), ( 2 = 개념), ( 3 = 내부)

 

4. 다음 설명에 해당하는 데이터베이스 사용자를 쓰시오.

일반 호스트 언어로 프로그램을 작성할 때 데이터 조작어를 삽입해서 일반 사용자가 응용 프로그램을 사용할 수 있게, 인터페이스를 제공할 목적으로 데이터베이스에 접근하는 사람으로, C, COBOL, PASCAL 등의 호스트 언어와 DBMS가 지원하는 데이터 조작어에 능숙한 컴퓨터
전문가이다.

답 : 응용 프로그래머

 

5. 다음 설명에 해당하는 데이터베이스 관련 용어를 쓰세요.

* 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해 주는 소프트웨어이다.
* 데이터베이스의 구성, 접근 방법, 유지관리에 대한 모든 책임을 진다.
* 필수 기능에는 정의(Definition), 조작(Manipulation), 제어(Control) 기능이 있다.

답 : DBMS

 

6. 다음은 DBMS에 대한 설명이다. 괄호에 공통적으로 들어갈 알맞은 용어를 쓰시오.

DBMS는 기존의 파일 시스템이 갖는 데이터의 종속성과 (  )의 문제를 해결하기 위해 제안된 시스템이다. 데이터 (  )이 해결되지 않으면 데이터 동일성, 무결성 등을 유지하기 어려우므로 반드시 해결해야 한다.

답 : 중복성

 

7. 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고, 개체 집합 B의 각 원소도 개체 집합 A의 원소 여러 개와 대응하는 관계 형태는 무엇인지 쓰시오.

답 : 다 대 다(N:M)

 

8. 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형이다. 데이터 모델과 관련된 각 물음에 답하시오.

① 개체 간의 관계 또는 속성 간의 논리적인 연결을 의미하는 데이터 모델의 구성 요소를 쓰시오.

답 : 관계(Relationship)

 

② 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체를 의미하는 데이터 모델의 구성 요소를 쓰시오.

답 : 개체(Entity)

 

③ 데이터 모델의 구성 요소 중 속성(Attribute)의 개념을 간략히 서술하시오.

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

 

9. 다음은 ER 도형에 대한 설명이다. 괄호(1 ~ 3)에 들어갈 알맞은 도형을 쓰시오.

데이터베이스의 전체적인 논리적 구조는 다음과 같이 Peter Chen이 제안한 구성 요소들을 사용하여 개체 관계도(E-R-Diagram)로 표현할 수 있다.
* (  1  ) : 개체 타입(Entity Type)을 나타낸다.
* (  2  ) : 관계 타입(Relationship Type)을 나타낸다.
* (  3  ) : 속성(Attribute)을 나타낸다.
* : 속성과 개체 집합을 연결시키며, 개체 집합과 관계를 연결시킨다.
 
 

답 : ( 1 = 사각형 ), (2 = 다이아몬드 ), (3 = 타원 )

 

10. 다음은 관계형 데이터베이스의 릴레이션 구조를 표현한 것이다. 괄호(1 ~ 3)에 들어갈 알맞은 용어를 쓰시오.

* ( 1 ) : 릴레이션을 구성하는 각각의 행을 의미하며, 파일 구조에서 레코드와 같은 의미이다.
* ( 2 ) : 데이터베이스를 구성하는 가장 작은 논리적 단위로, 파일 구조상의 데이터 항목 또는 데이터 필드에 해당된다.
* ( 3 ) : 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합이다.

 답 : ( 1 = 튜플), ( 2 = 속성), ( 3 = 도메인)

 

11. 데이터베이스에서 아직 알려지지 않았거나 모르는 값으로서 해당 없음등의 이유로 정보 부재를 나타내기 위해 사용하며, 이론적으로 아무것도 없는 특수한 데이터를 의미하는 것은 무엇인지 쓰시오.

답 : 널(NULL)

 

12. 다음 설명에 해당하는 키(Key)의 종류를 쓰시오

릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말하며, 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.

답 : 후보키

 

13. 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키(Key), 릴레이션을 구성하는 모든 튜플에 대해 유일성을 만족하지만, 최소성은 만족하지 못하는 것은 무엇인지 쓰시오.

답 : 슈퍼키

 

14. 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정을 무엇이라고 하는지 쓰시오.

답 : 정규화

 

15. 정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는데, 이를 이상이라 한다. 이상의 종류 3가지를 쓰시오

답 : 삽입 이상, 삭제 이상, 갱신 이상

 

16. 다음 <보기>에 제시된 정규형들을 정규화 과정에 맞게 기호( ~ )로 나열하시오.

: BCNF                 : 2정규형              : 5정규형
: 3정규형              : 1정규형              : 4정규형

답 : ㅁ -> ㄴ -> ㄹ -> ㄱ -> ㅂ -> ㄷ

 

 

17. 다음 설명에 해당하는 트랜잭션의 특징을 쓰시오.

데이터의 무결성(Integrity)을 보장하기 위하여 DBMS의 트랜잭션이 갖추어야 할 특징 중 하나로, 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다는 것을 의미한다.

답 : 원자성

 

18. 다음은 시스템 카탈로그(System Catalog)에 대한 설명이다. 괄호(1, 2)에 들어갈 알맞은 용어는?

* 시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.
* 카탈로그들이 생성되면 ( 1 )에 저장되기 때문에 좁은 의미로는 카탈로그를 ( 1 )이라고도 함.
* 카탈로그에 저장된 정보를 ( 2 )라고 한다.

답 : ( 1  = 자료 사전), ( 2 = 메타 데이터)

728x90

'ETC > Certificate' 카테고리의 다른 글

<정보처리기능사> 애플리케이션 테스트  (0) 2020.11.25
<정보처리기능사> 운영체제  (0) 2020.11.23

댓글