'아키텍처'에 해당되는 글 1건

  1. 2009.03.05 [DataBase] 문제풀이 2장

[DataBase] 문제풀이 2장

DB 2009. 3. 5. 20:50

2.1 다음 용어들을 정의하라.
데이터 모델 - 데이터베이스의 구조를 명시하기 위해 사용할 수 있는 개념들의 집합으로서 이와 같은 추상화를 달성하기 위해 필요한 수단을 제공.
데이터베이스 스키마 - 데이터베이스의 기술.
데이터베이스 상태 - 어떤 특정 시점에 데이터베이스에 들어 있는 데이터.
내부 스키마 - 데이터베이스의 물리적 저장구조, 물리적 데이터 모델을 사용하여 데이터 저장구조의 세부사항과 데이터베이스에 대한 접근경로들을 기술.
개념 스키마 - 모든 사용자들을 위한 전체 데이터베이스의 구조를 기술. 물리적 저장구조의 세부 사항을 은폐시키고 엔티티, 데이터타입, 관계, 사용자 연산, 제약조건들을 나타내는 데 중점.
외부 스키마 - 특정 사용자 그룹이 관심들 갖는 데이터베이스의 부분을 기술하고 그 사용자 그룹에게 데이터베이스의 나머지 부분을 은폐.
데이터 독립성 - 고수준의 스키마를 변경할 필요없이 데이터베이스 시스템의 어떤 단계에서 스키마를 변경할 수 있는 능력.
데이터 정의어 - 데이터베이스에서 데이터와 데이터간의 관계를 정의하여 데이터베이스 구조를 설정하는 SQL문.
데이터 조작어 - 데이터베이스 내의 데이터를 검색, 수정, 삭제, 저장할 수 있는 SQL문.
저장구조 정의어 - 내부 스키마를 지정하는데 사용된다.
뷰 정의어 - 사용자 뷰를 명시하고 개념 스키마 사이의 사상을 나타낸다.
질의어 - 고수준 데이터 조작어가 그 자체로 대화식으로 사용될 때.
호스트 언어 - 고수준이든 저수준이든 범용 프로그래밍 언어 내에 데이터 조작어 명령이 삽입된 경우의 프로그래밍 언어.
데이터 부속어 - 범용 프로그래밍 언어 내에 데이터 조작어 명령이 삽입된 경우의 데이터 조작어.
데이터베이스 유틸리티 -  데이터베이스 관리자가 데이터베이스 시스템을 관리하는 것을 도와준다.
카탈로그 - DBMS 모듈들이 필요로 하는 파일의 이름과 크기, 데이터 항목의 이름과 데이터 타입, 각 파일의 자세한 저장 형태, 스키마 사이의 사상 정보, 제약조건들에 대한 정보 등을 포함한다.
클라이언트/서버 아키텍처 - 많은 수의 PC, 워크스테이션, 파일 서버, 프린터, 데이터베이스 서버, 웹 서버, 기타 구성 요소들이 네트워크를 통해서 서로 연결되어 있는 컴퓨팅 환경을 다루기 위해 개발. 각각의 서비스를 제공하는 서버들이 네트워크로 연결되어 이와 연결된 클라이언트 컴퓨터에 그 서비스를 제공한다.
3-층 아키텍처 - 클라이언트와 데이터베이스 서버 사이에 중간 단계-응용서버 혹은 웹서버-를 하나 더 추가한 것.
n-층 아키텍처 - 사용자와 저장된 데이터 사이를 좀 더 세밀하게 나누어 층을 추가한 것.

2.2 데이터 모델들을 분류하라.
물리적 데이터 모델(저수준)
개념적 데이터 모델(고수준)
표현 데이터 모델(구현)

2.3 데이터베이스 스키마와 데이터베이스 상태의 차이점은 무엇인가?
데이터베이스 스키마는 데이터베이스의 기술을 말하는데 데이터베이스 설계 과정에서 명시하며 자주 변경되지 않는다. 데이터베이스 설계시 각각의 사용자 집단들의 요구사항들을 도출하면서 변경된다.
데이터베이스는 실제로 변경이 자주 일어난다. 데이터의 변경이 일어나면 데이터베이스의 내용도 변경된다. 이 때 특정 시점에 데이터베이스에 들어 있는 데이터를 데이터베이스 상태(스냅샷)라고 한다. 

2.4 3단계-스키마 아키텍처를 설명하라. 왜 스키마 단계들 사이에 사상이 필요한가? 어떻게 상이한 스키마 정의어들이 이 아키텍처를 지원하는가?
사용자 응용들과 물리적 데이터베이스를 분리시키는 것을 목적으로 하며 내부 스키마, 개념 스키마, 외부 스키마 이렇게 세 단계로 정의된다. 3단계-스키마 아키텍처는 사용자가 데이터베이스 시스템 내에서 스키마 단계들을 시각화하는 데 편리한 수단으로 사용되나 스키마는 단지 데이터데 대한 기술임을 주의해야 한다.
3단계-스키마 아키텍처에 기반을 둔 DBMS는 각 사용자 그룹은 단지 각자의 외부 스키마만을 참조한다. 따라서 DBMS는 외부 스키마상에서 표현된 요구를 개념 스키마에 대한 요구로 변환시키고 다시 내부 스키마에 대한 요구로 변환 시켜서 저장된 데이터베이스를 접근한다.
이 때 단계들 간의 요구와 접근 결과를 변환하는 과정을 사상이라고 한다.

2.5 논리적 데이터 독립성과 물리적 데이터 독립성의 차이점은 무엇인가? 어느 독립성을 달성하는 것이 더 어려운가? 그 이유는 무엇인가?
논리적 데이터 독립성 - 외부 스키마나 응용 프로그램들을 변경하지 않으면서 개념 스키마를 변경하는 능력. 데이터베이스의 확장, 제약조건의 갱신, 데이터베이스의 축소 등. 변경시 남아있는 데이터만 참조하는 외부 스키마들이 영향을 받아서는 안 된다. 외부/개념 스키마간의 사상에 의해 제공된다.
물리적 데이터 독립성 - 개념 스키마를 변경하지 않으면서 내부 스키마를 변경할 수 있음을 말한다. 따라서 외부 스키마도 변경할 필요가 없다. 개념/내부 스키마간의 사상에 의해 제공된다.(데이터의 물리적 저장방법과 그 구성 변경의 투명성을 제공)
논리적 데이터 독립성이 달성하기 더 어려운데 왜냐하면 데이터의 물리적 저장방법이 변경되었을 경우 데이터 표현방식의 변화로 프로그램을 수정하면 되지만 프로그래머가 생각하는 논리적 구조가 변경되면 그에 따른 프로그램의 구조가 변경되기 때문에 전체적인 수정을 필요로 하기 때문이다.

2.6 절차적 데이터 조작어와 비절차적 데이터 조작어의 차이점은 무엇인가?
절차적 데이터 조작어 - 저수준 데이터 조작어, 반드시 범용 프로그래밍 언어 내에 삽입해서 사용한다. 이 유형은 데이터베이스로부터 각 레코드 또는 객체 단위로 검색하여 처리하기 때문에 프로그래밍 언어의 반복문 등을 이용한다. 한 번에 한 레코드 데이터 조작어라고도 부른다.
비절차적 데이터 조작어 - 고수준 데이터 조작어, 복잡한 데이터베이스 연산들을 간결하게 나타내는 데 사용한다. 한 데이터 조작어 명령으로 여러 개의 레코드들을 검색할 수 있기 때문에 한 번에 레코드 집합 조작어 또는 집합지향 데이터 조작어라고 부른다.

2.7 여러 가지 편리한 사용자 인터페이스 유형들과 각 유형을 주로 사용하는 사용자의 부류에 대해서 설명하라.
브라우징을 위한 메뉴 기반 인터페이스
폼 기반 인터페이스
그래식 사용자 인터페이스
자연어 인터페이스
음성 입력과 출력
초보자를 위한 인터페이스
데이터베이스 관리자를 위한 인터페이스

2.8 DBMS는 컴퓨터 시스템 소프트웨어들과 상호 작용하는가?
DBMS는 컴파일러와 인터페이스하면서 범용 호스트 프로그래밍 언어를 지원하고 시스템 네트워크 인터페이스를 통하여 별도의 컴퓨터에서 수행되는 클라이언트 및 응용 서버와 상호 작용한다.

2.9 2-층과 3-층 클라이언트/서버 아키텍처의 차이점이 무엇인가?
2-tier 아키텍처는 소프트웨어의 구성 요소들이 클라이언트와 서버에 분산되어 있다. 사용자 인터페이스 프로그램과 응용 프로그램들은 클라이언트 쪽에서 수행되며 SQL처리와 관련된 질의와 트랜잭션 기능은 서버(데이터 서버) 측에서 수행한다.
3-tier 아키텍처는 웹의 등장으로 개발되었는데 클라이언트와 데이터베이스 서버 사이에 미들 티어를 하나 더 추가한 것이다. 클라이언트는 정보를 사용자에게 보여주고 데이터를 입력받으며 미들 티어(웹서버 또는 응용서버)에서는 데이터를 사용자에 전달하거나 DBMS에게 보내기 전에 중간의 규칙과 제약조건들을 다룬다. 데이터베이스 서버에서는 데이터 관리의 모든 서비스를 수행한다.

2.10 데이터베이스 유틸리티의 유형과 기능들에 대해서 설명하라.
적재 - 텍스트 파일이나 순차 파일과 같은 기존의 데이터 파일들을 데이터베이스에 적재하기 위해 사용하는 유틸리티.
백업 - 전체 데이터베이스를 테이프에 복사해서 데이터베이스의 백업 사본을 만든다.
파일 재조직 - 성능을 향상시키기 위하여 데이터베이스 파일들의 구조를 다른 파일 구조로 재조직하는 유틸리티.
성능 모니터링 - 데이터베이스의 사용을 모니터링해서 사용 통계를 데이터베이스 관리자에게 제공.

2.11 어떤 기능이 n-층 아키텍처에 추가되었는가(n>3)?
n-층 아키텍처에서 비즈니스 논리 층은 다수의 층으로 나누어지는데 네트워크를 통해서 프로그램과 데이터를 분산시키는 것 외에 한 개의 층이 적절한 프로세서나 운영체제에서 동작할 수 있다는 장점이 있다. ERP나 CRM 패키지 업체들은 주로 미들웨어 층을 사용한다. 미들웨어 층은 뒷단의 데이터베이스들과 통진하는 앞단의 모듈을 맡는다.

*커드의 12규칙
http://ko.wikipedia.org/wiki/%EC%BB%A4%EB%93%9C%EC%9D%98_12_%EA%B7%9C%EC%B9%99

Posted by zeide
,