리그캣의 개발놀이터

데이터베이스 중간고사 정리 본문

데이터베이스

데이터베이스 중간고사 정리

리그캣 2018. 1. 28. 12:09

어느 한조직의 응용프로그램들이 공용할 수 있도록 통합, 저장된 운영데이타의 집합이다.

 

통합데이타 - 데이타가 통합되어있다는 것은 데이타 베이스에서는 똑같은 데이타가 원칙적으로 중복되어 있지 않다는 것을 말한다. 데이터중복(data redundancy)은 일반적으로 관리상의 복잡한 부작용을 초래한다.

저장데이타 자기디스크나 테이프와 같이 컴퓨터가 접근할 수 있는 저장매체에 저장된 데이터를 말하는 것이다.

운영데이타 어떤 조직도 그 고유의 기능을 가지고 있고 그 기능을 수행하기 위해 반드시 유지해야 될 데이터가 있기 마련인데 이것을 운영데이타 라고 한다.

공용데이타 그 조직에 있는 여러 응용 시스템들이 공동으로 소유하고 유지하며, 이용하는 공용 데이터라는 것이다. , 여러 사용자들이 서로 다른 목적으로 데이터 베이스의 데이터를 공동으로 이용한다는 것을 의미한다.

 

데이터 베이스의 특성

(1) 실시간 접근성 데이터베이스는 임의적이고 비정형적인 질의에 대하여 실시간 처리로 응답할 수 있어야한다.

(2) 계속적인 변화 데이터베이스가 저장하고 있는 내용은 곧 그 데이터베이스의 한 상태(state)를 나타내는 것을 의 미한다. 그런데 이 데이터베이스의 상태는 정적이 아니고 동적이라는 것이다.

(3) 동시공용 여러 사용자가 동시에 자기가 원하는 데이터에 접근하여 이용할 수 있어야 한다.

(4) 내용에 의한 참조 데이터의 참조는 저장되어있는 데이터 레코드들의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터의 내용, 즉 데이터가 가지고 있는 값에 따라 참조된다.

 

개체(entity) - 데이터베이스에 표현하려고 하는 유형 무형의 객체

애트리뷰트 하나의 개체는 하나이상의 속성, 즉 애트리뷰트로 구성되고 각 속성은 그 개체의 특성이나 상태를 기술 해준다.

 

속성관계 개체 내 관계라고도 하며 속성간의 관계라고 말한다.

개체 관계 개체 간 관계라고도 하며 개체집합과 개체 집합 사이의 관계이다.

 

논리적 구조 사용자가 생각하는 데이터의 논리적 표현

물리적 구조 디스크나 테이프와 같은 저장장치 위에 물리적으로 저장되어있는 데이터의 실제 구조

 

파일 시스템의 단점 1. 응용 프로그램은 응용 프로그래머가 생각하는 논리적 파일구조를 직적 물리적 파일구조로 구현 하여야 한다.

2. 물리적 데이터 구조에 대해 잘 알고 있어야만 데이터에 접근 방법을 응용 프로그램 속에 효율적 으로 구현시킬 수 있다.

3. 자기 자신의 데이터 파일을 가지고 있어야만 되는 환경이기에 결국 하나의 파일은 하나의 응용 만을 위해 존재하게 된다.

 

데이터 종속성 응용프로그램과 데이터간의 상호 의존 관계를 말하며, 데이터의 구성방법이나 접근방법을 변경할 때는 자연히 이것을 기초로 한 응용 프로그램도 같이 변경시켜야 하는데 이것을 데이터 종속성(data dependency)라고 한다.

 

파일 시스템에서 가장 큰 문제점은 데이터 중복성과 데이터 종속성을 집약시킬 수 있다.

 

데이터 중복성 한시스템 내에 내용이 같은 데이터가 중복되게 저장 관리되는 것을 데이터 중복성(data redundancy) 라고 한다.

(중요) 데이터 중복성의 문제점

1. 일관성 실제로 데이터의 중복이 있게 되면 그 동일성을 유지하기 어렵다. 이것은 결과적으로 데이터간에 불일치 가 일어나 내부적으로 데이터 일관성이 없게 된다. 따라서 데이터간에 모순성을 포함하게 된다.

2. 보안성 논리적으로 같은 내용의 데이터에 대해서는 똑같은 수준의 데이터 보안이 유지되어야 하는데 같은 데이 터가 여러 곳에 중복되어 저장되어있는 경우에 모두 똑같은 수준의 보안을 유지한다는 것은 매우 어 려운일이다.

3. 경제성 갱신 작업은 중복된 모든 데이터를 찾아내어 그들에 대해 전부 수행해야만 되므로 자연히 갱신 비용이 높게 되어 경재성이 떨어지게 된다.

4. 무결성 데이터가 중복저장되면 자연히 제어가 분산되게 되어 데이터 무결성, 즉 데이터의 정확성을 유지하기 어 렵다.

 

데이터베이스 관리 시스템 응용프로그램과 데이터의 중재자로서 모든 응용프로그램들이 데이터베이스를 공용할 수 있게끔 관리해주는 범용 소프트웨어 시스템이다.

 

DBMS의 정의 기능 -데이터 정의기능은 다양한 응용 프로그램과 데이터 베이스가 서로 인터페이스를 할 수 있는 방 법을 제공하는 것이다.

조작 기능 사용자와 데이터베이스 사이의 인터페이스를 위한 수단을 제공한다.

제어 기능 데이터베이스의 내용에 대해 항상 정확성과 안전성을 유지할 수 있는 데이터 제어 기능을 가지 고 있어야한다.

 

데이터 베이스 관리시스템의 장점

1.데이타 중복의 최소화

2.데이타의 공용

3.데이타의 일관성 유지.

4.데이타 무결성 유지.

5.데이타의 보안 보장

6.표준화

7.전체 데이터 요구의 조정.

 

데이터베이스 관리 시스템의 단점

1.운영비의 증대

2.특정 응용프로그램의 복잡화

3.복잡한 백업과 회복

4.시스템의 취약성

 

데이터의 독립성 데이터베이스 관리 시스템이 추구하는 궁극적이 목적이며 데이터의 논리적 구조나 물리적 구조가 변경되더라도 응용 프로그램이 영향을 받지 않는다. 데이터 독립성은 논리적 데이터 독립성, 물리적 데이터 독립성으로 나누어 생각할 수 있다.

 

논리적 데이터 독립성 - 논리적 구조를 변경시키더라도 기존 응용 프로그램 들에게는 아무런 영향을 주지 않는 것.

물리적 데이터 독립성 물리적 구조를 변경시키더라고 기존응용 프로그램과 논리적구조에 영향을 주지 않는 것.

 

데이터 베이스 시스템 = 데이터베이스 + 데이터베이스 관리 시스템

 

 

스키마 데이터베이스의 구조와 제약조건의 대한 명세를 기술한 것은 스키마라 한다.

 

외부스키마 개인적 데이터베이스 구조에 관한 것이다. 데이터베이스의 개개 사용자나 응용프로그래머가 접근하는 데 이터 베이스를 정의한 것이다. 또한 이것은 보통 데이터베이스 전체의 한 논리적인 부분이 되는것이기 때문 에 서브 스키마라고 한다.

 

개념스키마 범기관적 입장에서 데이터베이스를 정의한 것이다. 여기서 개념적이란 의미는 추상적인 것이 아니라 전체적이고 종합적이라는 뜻이다. 따라서 이것은 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 데이터 베이스를 기술한 것이다. 그렇기 때문에 하나의 데이터베이스 시스템에는 자연히 하나의 개념스키마가 존재하게 된다. 이 개념 스티마로부터 모든 외부 스키마가 생성되고 지원되는 것이다. 이 개념 스키마를 단순히 스키마라고 한다.

 

내부 스키마 저장장치 입장에서 데이터 베이스 전체가 저장되는 방법을 명세한 것이다. , 개념스키마에 대한 저장 구조를 정의한 것이다.

 

사상 대응 관계에 대한 정의

 

외부/개념 사상 어느 특정 외부스키마와 개념 스키마 간의 대응 관계를 정의하는데, 이를 응용 인터페이스라 한다. 결과적으로 외부/개념 사상을 통해 논리적 데이터 독립성을 제공해준다.

 

개념/내부 사상 개념스키마와 내부스키마간의 대응관계를 정의 하는 것인데 이것을 저장 인터페이스 라고한다.

결과적으로 물리적 데이터 독립성을 제공해 주는 것이다.

 

시스템 카탈로그 데이터베이스의 있는 내용을 몽땅 집어넣었다. 데이터 사전 이라고도 한다. 데이터 베이스에 저장 되어있는 모든 데이터 개체들에 대한 정의나 명세에 관한 정보를 유지하고 관리하는 시스템이다.

 

데이터 디렉터리 데이터베이스에 수록된 데이터를 실제로 접근하는데 필요한 위치 정보를 관리하는 시스템으로

시스템만 사용 가능

 

메타데이타 데이터의 관한 데이터

 

데이터 언어.

 

데이터 정의어(DDL:Data Definition Language)

데이터 베이스를 정의하거나 그 정의를 수정할 목적으로 사용하는 언어. 이렇게 기술된 데이터베이스 스키마는 통상 DDL 컴파일러가 컴파일하여 시스템 카탈로그에 저장하여 놓고 필요한 경우 시스템이 활용하는 것이좋다. 특별히 개념 스키마와 내부스키마를 구분하는 시스템에서는 내부스키마를 명세하기 위해 별도의 데이터 저장정의어(DSDL)을 사용한다.

 

데이터 조작어(DML:Data Manipulation Language)

사용자가 DBMS로 하여금 원하는 데이터를 처리하게끔 명세하는 도구로서 사용자와 DBMS같의 인터페이스를 제공한다. 기본적인 데이터 처리는 데이터의 검색, 삽입,삭제 변경 등을 포함한다.

1. 절차적인 데이터 조작어

- 절차적인 데이터 조작어는 사용자가 무슨데이타를 원하며 어떻게 처리해야 하는지 명세하는 저급 데이터언 어이다. 데이터베이스로부터 한번에 하나의 레코드를 검색해서 호스트 언어에 작성한다. 이것은 독자적으로 작성되지 못하고 호스트 프로그래밍 언어로 작성된 응용 프로그램 속에 삽입되어 사용된다.

2. 비 절차적 데이터 조작어

- 사용자가 무슨 데이터를 원하는지만 명세하고 그것을 어떻게 접근하여 처리할 것인가에 대해서는 명세할 필 요없이 데이터베이스 관리 시스템에 위임하는 고급데이타 언어이다. 여러개의 레코드를 검색해서 처리하는 특 성을 가지고 있다. 이런 언어는 터미널을 통해 일반 사용자가 대화 식으로 사용하는게 보통이다. 그러나 필요 한 경우에 호스트 프로그램 속에 이것을 그대로 삽입시켜 사용할 수 있다.

 

일반적으로 DML명령어가 고급이든 저급이든 간에 그것이 호스트 프로그램속에 삽입되어 사용하는 DML명령어들을 데이터 부속어 (DSL:Data SubLanguage)라고 한다.

 

일반 사용자 보통 터미널에서 질의어를 이용해서 데이터베이스를 접근하는 사용자들을 일반사용자, 보통사용자, 미널 사용자라고한다. 이들은 대게 컴퓨터에 대한 특별한 지식을 가지지 않고도 정보를 추출해서 사용하는 그 룹이다. 접근 목적은 데이터의 단순한 검색뿐만아니라 데이터의 삽입,삭제,갱신 작업을 모두 포함한다.

응용 프로그래머 DML 즉 데이터 부속어 DSL을 삽입시켜 데이터베이스를 접근하는 사람을 응용 프로그래머라고한 .

데이터베이스 관리자 데이터 정의어나 데이터 제어어를 사용하여 데이터베이스를 DBMS에 기술해주고 저장된 데이 터를 제어할 목적으로 데이터베이스를 접근하는 사람

 

데이터베이스 관리자 역활

1.데이타베이스 설계와 운영.2행정관리 및 불평해결3.시스템 감시 및 성능 분석.(책참고하는게 좋을 듯)

 

----관계 데이터베이스는 직접 책 보시는게 좋을듯요 죄송합니다. 밤에 급하게 정리해서 ㅠㅠ

Comments