2022. 4. 11. 10:48ㆍDataBase/DB 문제풀이
[DataBase System] ch03 - 데이터베이스 시스템의 구성
책정보, 데이타베이스 시스템 : 네이버 책 (naver.com)
데이타베이스 시스템
[머리말]이 책은 데이타베이스 과목으로 두 학기에 걸쳐 대학의 학부와 대학원 가초 과정에서 하용할 수 있는 내용으로 집필하였다. 이 책을 사용하는 독자는 컴퓨터 프로그래밍과 자료구조에
book.naver.com
문제풀이
1 ) 스키마란 무엇이며, 그 유형에는 어떤 것이 있는지 설명해 보라
- 데이터베이스 구조와 제약조건에 대한 명세를 기술한 것
2 ) 3단계 데이터베이스 구조(3-level database architecture)란 무엇이며 이것은 데이터 독립성(data independency)과 어떻게 연관되는지 설명해 보라
- 3단계 데이터베이스 구조 : 외부 / 개념 / 내부 스키마로 나눠진 것을 의미함
- 각 스키마를 수정, 변경시키더라도 논리적, 물리적 데이터 독립성을 제공할 수 있다. 이러한 점에서 3단계 데이터베이스 구조는 데이터 독립성을 구현하는 기초를 제공한다고 볼 수 있다
3 ) 데이터 정의어를 설명하라
- DDL(Data Definition Language) : 데이터베이스를 정의하거나 그 정의를 수정할 목적으로 사용하는 언어,
데이터베이스 스키마를 데이터베이스 관리 시스템이 이해할 수 있게끔 기술하는 목적으로 사용이 된다.
4 ) 데이터베이스 관리자의 기능을 설명하라
- 데이터베이스 시스템의 관리 운영에 대한 모든 책임을 지고 있는 사람을 의미한다.
5 ) 데이터베이스, 데이터베이스 관리 시스템, 데이터베이스 시스템을 구별해서 설명하라
- 데이터 베이스 : 공유되어 사용될 목적으로 통합이 되어 관리되는 데이터의 집합
- 데이터베이스 관리 시스템 : 모든 응용 프로그램들이 데이터베이스를 공용할 수 있게끔 관리해주는 소프트웨어 시스템
- 데이터베이스 시스템 : 데이터를 데이터베이스로 저장하고 관리해서 필요한 정보를 생성하는 컴퓨터 중심의 시스템
6 ) 데이터베이스 시스템에서 사상(mapping)과 데이터 독립성의 관계를 설명하라
- 사상이란 스키마들의 대응관계를 의미한다. 각 프로그램과 스키마를 수정, 변경하더라도 물리적 / 논리적
데이터의 독립성을 유지시켜준다
7 ) 데이터 조작어를 수행하는 데이터베이스 연산을 설명하라
- 사용자와 DBMS의 인터페이스를 제공한다. 절차적/ 비절차적 조작으로 나눠진다. 절차적 데이터 조작어는 사용자가 원하는 데이터를 처리하는 과정에서 사용되는 저급 데이터 언어이다. 비절차적 데이터 조작어는 사용자가 원하는 데이터를 명세하고 접근방법 및 처리과정은 명세할 필요가 없는 고급 데이터 언어이다.
8 ) 데이터 제어어에 포함되는 연산들을 설명하라
- 데이터 보호를 위한 데이터 보안 / 데이터 무결성 / 데이터 회복 / 병행수행 제어를 명세하는 연산이 존재한다
9 ) 응용 프로그램으로 데이터베이스에 접근하는 것과 질의어로 데이터베이스를 접근하는 것을 비교 설명해 보라
- PL/I , COBOL, C, Java와 같은 범용 호스트 프로그래밍 언어로 만들어진 응용프로그램을 통해 데이터베이스에 접근한다. 이러한 사람을 응용 프로그래머라고 한다. 질의어로 데이터베이스에 접근하는 것은 컴퓨터에 대한 특별한 지식을 가지지 않고도 정보를 얻을 수 있으므로 이러한 사람을 일반, 보통 사용자라고 한다.
10 ) 외부 스키마와 저장 데이터베이스 구조와의 관계를 설명하라
- 이 둘 사잉에는 응용 / 저장 인터페이스가 존재한다. 외부/개념 사상 및 개념/내부 사상의 두 가지의 인터페이스가 포함이 된다. 따라서 이 인터페이스를 통해 논리적 / 물리적 데이터 독립성을 보장하며 각각의 독립성을 해치지 않고 각각의 스키마를 변경, 수정할 수 있다.
11 ) 절차적 조작어와 비절차적 조작어의 장단점을 설명하라
- 절차적 : 사용자가 무슨 데이터를 원하며 그것을 어떻게 접근하는지에 대해 명세하는 초급 데이터 언어이다. 이 경우 프로그램에 대해 알고 데이터베이스를 아는 사람만 사용이 가능하다는 점에서 일반인들이 사용하기는 어렵다는 단점이 있다.
- 비절차적 : 사용자가 원하는 데이터만 명세하고 그에 대한 접근방식은 명세할 필요가 없는 고급 데이터 언어이다.
초급 언어와 달리 관련 지식이 없어도 사용할 수 있다는 점에서 일반인들도 사용하는데 편리하다는 장점이 있다.
12 ) DBMS를 구성하는 소프트웨어 모듈, 즉 구성요소(components)의 기능과 이들의 상호관계를 설명해 보라
- DBMS의 구성요소에는 질의어 처리기. DML 예비 컴파일러 / 컴파일러, DDL 컴파일러, 런타임 데이터베이스 처리기, 트랜잭션 / 저장 데이터 관리자가 존재한다.
DDL 컴파일러의 경우 DDL로 명세가 된 스키마 정의의 형태를 변환하여 시스템 카탈로그에 저장하는 역할을 한다.
질의어 처리기의 경우 터미널을 통해 일반 사용자의 고급 질의문을 처리한다.
DML 예비 컴파일러는 응용프로그램 속에 삽입이 되어있는 DML 명령문을 추출하고 작동한다.
DML 컴파일러는 예비 컴파일러를 통해 들어온 명령문을 파싱, 컴파일하여 코드를 생성한다.
런타임 데이터베이스 처리기는 실행 시간에 데이터베이스 접근을 관리한다
트랜잭션 관리자는 DB 접근 과정에서의 무결성 제약 조건이 만족하는지, 사용자가 데이터를 접근하는 경우 권한검사를 한다.
저장 데이터 관리자는 하드웨어에 저장되어 있는 사용자 데이터베이스나 시스템 카탈로그 접근을 담당하고 있다.
'DataBase > DB 문제풀이' 카테고리의 다른 글
[DataBase System] ch07 - 데이터 종속성과 정규화 (0) | 2023.04.18 |
---|---|
[DataBase System] ch06 - SQL (0) | 2023.04.14 |
[DataBase System] ch04 - 관계 데이터베이스 (0) | 2022.04.23 |
[DataBase System] ch02 - 데이터베이스 관리 시스템 연습문제 풀이 (0) | 2022.03.30 |
[DataBase System] ch01 - 데이터베이스 환경 연습문제 풀이 (0) | 2022.03.29 |