학교/DATABASE(MY SQL)

CH01) 데이터베이스 시스템 - (MYSQL로 배우는 데이터베이스 개론 CH01 연습문제)

서윤-정 2023. 10. 23. 23:24

01. 다음 각 용어의 의미를 설명하시오.

• 데이터베이스: 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것이다. 하드디스크에 저장된 데이터.

• DBMS: 데이터베이스 관리 시스템. 사용자와 데이터베이스르 연결시켜주는 소프트웨어이다. 주기억장치에 저장된 소프트웨어.

• 데이터 모델: 데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법에 관한 것으로, 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정한다.

• 데이터베이스 시스템: 각 조직에서 사용하던 데이터를 모아서 통합하고 공유하여 생기는 장점을 이용하는 시스템이다. 데이터베이스, 데이터베이스 관리 시스템(DBMS), 데이터 모델 3가지로 구성된 것.

 

 

02. 데이터베이스의 개념 네 가지를 설명하시오.

1) 통합된 데이터

2) 저장된 데이터

3) 운영 데이터

4) 공용 데이터

 

 

03. 데이터베이스의 특징 네 가지를 설명하시오.

1) 실시간 접근성

2) 계속적인 변화

3) 동시 공유

4) 내용에 따른 참조

 

 

04. 파일 시스템과 DBMS의 데이터 접근 방법의 차이를 설명하시오.

  파일 시스템 DBMS
데이터 접근 방법 응용 프로그램이 파일에 직접 접근 응용 프로그램이 DBMS에 파일 접근을 요청

 

 

05. 파일 시스템과 DBMS의 장단점을 비교하여 설명하시오.

구분 파일 시스템 DBMS
데이터 중복 데이터를 파일 단위로 저장하므로 중복 가능성 높음 DBMS를 이용하여 데이터를 공유하기 때문에 중복 가능성 낮음
데이터 일관성 데이터의 중복 저장으로 일관성이 결여됨 중복 제거로 데이터의 일관성이 유지됨
데이터 독립성 데이터 정의와 프로그램의 독립성 유지 불가능 데이터 정의와 프로그램의 독립성 유지 가능
관리 기능 보통 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등을 수행
프로그램 개발 생산성 나쁨 짧은 시간에 큰 프로그램을 개발할 수 있음
기타 장점 별도의 소프트웨어 설치가 필요 없음 데이터 무결성 유지, 데이터 표준 준수 용이

 

 

06. 데이터 모델을 설명하고 종류를 나열하시오.

데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법에 관한 것으로, 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정한다. 

계층 데이터 모델

 네트워크 데이터 모델

 객체 데이터 모델

관계 데이터 모델

객체-관계 데이터 모델

 

 

07. 다음 데이터 베이스 사용자들의 역할을 설명하시오.

일반 사용자: 프로그래머가 개발한 프로그램을 이용해 데이터베이스에 접근한다. 특별한 지식 없이 데이터베이스에 접근해 데이터의 검색, 삽입, 삭제, 수정 작업을 하여 자신이 DBMS를 이용하는지 알지 못한다.

  응용 프로그래머: 일반사용자 사용할 수 있는 프로그램을 만든다. 프로그래밍 언어와 SQL을 사용해 사용자 인터페이스와 데이터를 관리하는 응용 로직을 개발한다. 

  SQL 사용자: 용용 프로그램으로 구현되어 있지 않은 업무를 SQL을 사용하여 처리한다. 데이터 검색, 데이터 구조 변경, 데이터에 관한 통계 처리 등 데이터를 모니터링 하는 업무 수행한다.

  DBA: 데이터베이스 운영 조직의 데이터베이스 시스템을 총괄한다. 데이터 설계, 구현, 유지보수의 전과정을 담당한다. 사용자 통제, 보안, 성능 모니터링, 데이터 전체 파악 및 관리, 데이터 이동 및 복사 등 제반 업무 맡는다.

 

 

08. 데이터 독립성을 정의하고, 데이터베이스 시스템에서 그 중요성을 설명하시오.

3단계 데이터베이스 구조의 특징으로, 하위 단계의 내용을 추상화하여 상위 단계에 그 세부 사항을 숨김으로써 한 단계 내의 변경에 대해서 다른 단계와 상호 간섭이 없도록 하는 것이다.

  논리적 데이터 독립성: 외부 단계-개념 단계 사이의 독립성. 개념 스키마가 변경되어도 외부 스키마에는 영향 미치지 않도록 지원. 

  물리적 데이터 독립성: 개념 단계-내부 단계 사이의 독립성. 내부 스키마가 변경되어도 개념 스키마에 영향을 미치지 않도록 지원.

 

 

09. ANSI의 3단계 데이터베이스 구조에 대해 설명하시오.

- 스키마: 조직이나 구조를 의미

ANSI의 3단계 데이터베이스 구조

구분 외부 단계 개념 단계 내부 단계
  - 일반 사용자나 응용 프르그래머가 접근하는 계층.
- 전체 데이터베이스 중에서 하나의 논리적인 부분
- 여러 개의 외부 스키마(서브 스키마)가 있을 수 있으며, 뷰의 개념.
- 전체 데이터베이스의 정의를 의미. 
- 통합 조직별로 하나만 존재하며 DBA가 관리.
- 하나의 데이터베이스에는 하나의 개념 스키마가 있음.
- 개념 스키마는 저장장치에 독립적으로 기술됨.
(데이터와 관계, 제약사항, 무결성)
- 물리적 저장장치에 데이터베이스가 실제로 저장되는 방법 표현
- 내부 스키마는 하나
(인덱스, 데이터 레코드의 배치 방법, 데이터 압축)

 

 

 

10. 다음 데이터베이스 시스템의 수성도를 보고, 빈 곳에 알맞는 용어를 써놓으시오.

1) SQL 사용자

2) SQL 질의

3) DBMS

4) DDL 컴파일러

5) 인덱스

 

 

 

 

 

[심화문제]

11. 클라이언트/서버 구조를 설명하고, 2-tier, 3-tier 개념을 인터넷에서 찾아보시오.

1) 클라이언트/서버 구조

네트워크 환경에서 작동하는 시스템을 구축할 때 사용되며, 클라이언트와 서버 간의 상호 작용을 기반으로 한다. 여기서 클라이언트는 사용자 인터페이스 및 사용자 경험을 처리하고, 서버는 데이터 처리, 저장 및 관리를 담당한다. 이 두 구성 요소는 네트워크를 통해 통신하며 데이터 및 서비스를 주고 받는다.

 

2) 2-Tier 아키텍처

클라이언트와 서버 두 개의 주요 계층으로 이루어진 구조를 의미한다. 클라이언트 계층은 사용자 인터페이스를 제공하고 사용자의 입력 및 출력 처리를 담당하며, 서버 계층은 데이터베이스 관리, 비즈니스 로직 처리, 데이터 처리를 수행한다. 이 아키텍처는 간단하고 직관적이지만 대규모 애플리케이션에는 부적합할 수 있다.

클라이언트<->서버

 

3) 3-Tier 아키텍처

클라이언트/서버 구조를 확장한 것으로, 세 개의 주요 계층으로 이루어진다. 

a. 프레젠테이션 계층: 이것이 클라이언트 역할을 한다. 사용자 인터페이스 및 사용자 경험을 담당한다.

b. 비즈니스 계층: 이 계층은 비즈니스 로직 및 데이터 처리를 처리한다. 이 계층은 서버와 데이터베이스와의 상호 작용을 담당하며, 업무 규칙 및 데이터 처리를 관리한다.

c. 데이터 계층: 이것이 데이터베이스와 관련된 계층이다. 데이터를 저장, 관리 및 검색하기 위한 데이터베이스 시스템을 포함하며, 데이터의 영속성을 유지한다.

클라이언트<->서버/애플리케이션<->DB

 

3-Tier 아키텍처는 애플리케이션을 더 모듈화하고 확장 가능하게 만들며, 각 계층이 서로 분리되어 있으므로 유지보수와 개발의 용이성을 높인다. 이로써 대규모 시스템을 효과적으로 설계하고 관리할 수 있다. 

 

 

 

12. 우리나라 공공 데이터베이스 구축 현황을 공공데이터포털에서 확인해보시오. 세 개 이상의 데이터베이스를 찾아보고, 내용을 설명하시오.