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단계 데이터베이스 구조에 대해 설명하시오.
- 스키마: 조직이나 구조를 의미
구분 | 외부 단계 | 개념 단계 | 내부 단계 |
- 일반 사용자나 응용 프르그래머가 접근하는 계층. - 전체 데이터베이스 중에서 하나의 논리적인 부분 - 여러 개의 외부 스키마(서브 스키마)가 있을 수 있으며, 뷰의 개념. |
- 전체 데이터베이스의 정의를 의미. - 통합 조직별로 하나만 존재하며 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. 우리나라 공공 데이터베이스 구축 현황을 공공데이터포털에서 확인해보시오. 세 개 이상의 데이터베이스를 찾아보고, 내용을 설명하시오.
'학교 > DATABASE(MY SQL)' 카테고리의 다른 글
CH03) SQL 기초 - (MYSQL로 배우는 데이터베이스 개론과 실습 CH03 연습문제) (0) | 2023.10.24 |
---|---|
CH04) SQL 고급 (0) | 2023.10.23 |
CH03) SQL 기초 (0) | 2023.10.23 |
CH02) 관계 데이터 모델 (0) | 2023.10.23 |
CH01) 데이터베이스 시스템 (0) | 2023.10.23 |